首页 > 代码库 > sql中主键.外键等的使用:

sql中主键.外键等的使用:

主键约束 唯一 非空 检查 默认等使用@
create table emp(
empID int auto_increment primary key not null,--auto_increment:自动增长,primary key主键约束,not null非空。
empName varchar(30) not null,
emNo char(4) unique,--unique唯一。
enmGender int default 0 comment ‘0男:1女‘,--default默认,该句中默认为男。
enmpBirthday date,
check (enmpBirthday<now()),--check 检查,确定生日小于今天
enmpAge int check(18>=enmpAge and enmAge<=60)

);
insert into emp(empID,empName) values (1,‘xiaohong‘);--添加内容,添加列和values值!
select*from emp; --复制显示出。

 

eg2:create table emp2(
-- EmployeeID int ,DeptID int ,primary key(EmployeeID,DeptID ),
-- EmployeeName varchar(50) not null,
-- DetName varchar(50) not null,
-- Gender char(2) default 0 comment ‘0男:1女‘,
-- Birthday date check(Birthday<now()),
-- GraduateDate Datetime check(GraduateDate<now()),
-- IDCard char(18) not null unique,
-- Degree varchar(12),
-- GarauateSchool varchar(50) not null,
-- Specialty varchar(50) not null,
-- Telephone varchar(200) not null,
-- Salary Smallint,
-- Allowance Decimal(18.2),
-- Skill varchar(2000)
-- );
-- select*from emp2;

 

一.保证数据的完整行!
1.实体完整性(通过设置主键约束 唯一约束或标识列属性来实现)
2.域完整性(通过外键约束 检查约束 默认值定义 非空约束)
3.引用完整性
4.用户自定义完整性
二.创建非空约束.
create table Boxs(name varchar(50) not null
phone varchar(30) not null);
非空约束:not null

insert into 表名(列名)values(添加的值);
insert into Boxs (name,id) valuse(‘liuxi‘,‘123‘);
三.设置主键.
主键约束:primary key
1.create table Boxs(name varchar(50) primary key);
2.create table Boxs(name varchar(50),student varchar(20),primary key(name, student));
3.alter table Boxs add primary key(name,student);
四.设定默认值。
drop table box;
create table box()
name varchar(30) not null,
phone varchar(15) default ‘请告知电话号码‘not null,
;
select*from box;
默认值:default
eg:Gender char(2) default 0 comment ‘0男:1女‘,(默认为男)
五.设置检查约束。
check
age int check(age between 10 and 100),
六.自动增长。
auto_increment
要用在主键上:create table box(id int auto_increment primary key)
七.外键 foreign key

-- drop table emp;
-- create table emp(name varchar(20) primary key,Gender enum(‘男‘,‘女‘),birthday date check(birthday<now()));

-- insert into emp values(‘abc‘,‘m‘);
-- select * from emp;

-- delete from emp;
-- drop table stu;
create table stu(ID int primary key,Name varchar(50)); -- xiaoliu zhang guan

-- constraint- foreign key 约束

create table exam(ID int primary key,project varchar(50),stuID int);-- xiaohong
-- 外键指向的值 必须是唯一的

-- insert into stu values(2,‘xiaozhang‘)
insert into exam values(1,‘c‘,2);
-- delete from exam;
-- alter table exam
-- add foreign key(stuID) references stu(ID);

select *from stu;
select * from exam;

sql中主键.外键等的使用: