数据的完整性
实体完整性
主键特点:不能为空并且唯一
主键关键字:primary key
主键的使用方式
create table person1(
id int primary key,
name varchar(20),
gender char(5)
);
desc person1;
插入数据
insert into person1 values(1,'zs','男');
select * from person1;
主键自增长
创建一个主键自增长的表
create table t1(
id int primary key auto_increment,
name varchar(20),
gender char(5));
select * from t1;
drop table t1; 删除表t1。
域(列)完整性 非空约束
create table t3(
id int primary key auto_increment,
name varchar(20) not null,
gender char(5) not null
);
添加age字段
alter table t3 add age int;
插入数据
insert into t3(name,gender,age) values('zs','women',10);
select * from t3;
唯一约束 unique
create table t4(
id int primary key auto_increment,
name varchar(20) not null,
gender char(5) not null,
id_card varchar(20) unique
);
desc t4;
insert into t4(name,gender,id_card) values('zs','man','111');
下面的会报错因为111上面已经有了,下面重复
insert into t4(name,gender,id_card) values('ls','women','111');
外键约束
create table customers(
id int primary key auto_increment,
name varchar(20) not null,
address varchar(20) not null
);
create table orders(
order_num varchar(20) primary key,
name varchar(20) not null,
price float(4,2) not null,
-- 用来和customer关联的id,即外键
customer_id int,
-- 进行外键的关联
CONSTRAINT cus_ord_fk foreign key(customer_id) REFERENCES customers(id)
);