1>设置表的主键:
主键是一个表的特殊字段,这个字段是唯一标识表中的每条信息,主键和记录的关系,跟人的身份证一样。名字可以一样,但是身份证号码觉得不会一样, 主键用来标识每个记录,每个记录的主键值都不同,主键可以帮助Mysql以最快的速度查找到表中的某一条信息,主键必须满足的条件那就是它的唯一性,表中的 任意两条记录的主键值,不能相同,否则就会出现主键值冲突,主键值不能为空,可以是单一的字段,也可以多个字段的组合。
举例:
create table sxkj( User_id int primary key, user_name varchar(20), user_sexchar(7));
2>设置多个字段做主键
举例:
create table sxkj2( user_id int , user_name float, grade float, primary key(user_id,user_name));
3>设置表的外键:
外键是表的一个特殊字段,如果aa是B表的一个属性且依赖于A表的主键,那么A表被称为父表。B表为被称为子表,
举例说明:
user_id 是A 表的主键,aa 是B表的外键,那么user_id的值为zhangsan,如果这个zhangsan离职了,需要从A表中删除,那么B表关于 zhangsan的信息也该得到相应的删除,这样可以保证信息的完整性。
语法:
constraint外键别名 foreign key(外键字段1,外键字段2)
references 表名(关联的主键字段1,主键字段2)
(1) yy1表存储了zhangsan姓名和ID号
create table yy1(
user_id int primary key not null,
user_name varchar(20));
(2) yy2表存储了ID号和zhangsan的年龄(old)
create table yy2( user_id int primary key not null, old int(5), constraint y_fk foreign key(user_id) references yy1(user_id)on delete cascade on update cascade);
(3)数据填充yy1和yy2表
insert into yy1 values('110','zhangsan'); insert into yy2 values('110','30');
(4)更新测试:
update yy1 set user_id='120' where user_name='zhangsan'; 查询验证 select * from yy2;
(5)删除测试:
delete from yy1 where user_id='120'; 查询验证 select * from yy2;
4>设置表的非空值
语法:属性名数据类型 NOT NULL
举例:
create table C( user_id int NOT NULL);
5> 设置表的唯一性约束
唯一性指的就是所有记录中该字段。不能重复出现。
语法:属性名数据类型 unique
举例:
root@zytest 15:43>create table D( ->user_id int unique); root@zytest 15:44>show create table D;
6>设置表的属性值自动增加
Auto_increment 是Mysql数据库中特殊的约束条件,它的作用是向表中插入数据时自动生成唯一的ID,一个表只能有一个字段使用 auto_increment 约束,必须是唯一的;
语法:属性名数据类型 auto_increment,默认该字段的值从1开始自增。
举例:
create table F( user_id int primary key auto_increment); root@zytest 15:56>insert into F values();插入一条空的信息 Query OK, 1 row affected, 1 warning (0.00 sec) root@zytest 15:56>select * from F;值自动从1开始自增 +---------+ (北联网教程,专业提供视频软件下载)
第1页 第2页 第3页 第4页 第5页 第6页 第7页 第8页 第9页 第10页 第11页 第12页 第13页 第14页 第15页 第16页 第17页 第18页 第19页 第20页 第21页 第22页 第23页 第24页 第25页 第26页……