一、mysql中常见的的约束/规则
① 主键约束(primary key)
② 外键约束(foreign key): 如果同一个属性字段在表一中为主键,而在表二中不是主键,则字段称为表二的外键。
③ 非空约束(not null)
④ 唯一性约束(unique key): 唯一,可为空,但空值 值允许出现一次。
⑤ 默认值约束(defaulst): 当为空时,默认值
⑥ 自增长约束(auto_increment): 随着记录增加,基于最新的记录的id,进行自加1的增长。
1、主键和外键表的创建
create table test01 (hobid int(4),hobname varchar(40));
#创建主表test01
create table test02 (id int(4) primary key auto_increment,name varchar(10),age int(3),hobid int(4));
#创建从表test02
alter table test01 add constraint PK_hobid primary key(hobid);
#为主表test01添加一个主键约束。主键名为PK_hobid
alter table test02 add constraint FK_hobid foreign key(hobid) references test01(hobid);
#为从表test02添加外键,并将test02表的hobid与test01表的hobid字段建立外键关联
show create table test02;
#查询表语句结构查看外键关联
插入数据的时候。需要先插入主表,在插入从表,不然会报错。
删除数据的时候,需要先删除从表的记录,在删除主表的记录。
分别为主表test01添加主键,从表test02添加外键,并将主从表中的hobid字段建立外键关联
二、数据表的操作
1.复制格式,然后备份内容
create table star1 like star; #复制格式,通过LIKE方法,复制info结构生成info1
insert into star1 select * from star; #备份内容
2.克隆表
将数据表的数据记录生成到新的表中
create table star2 (select * from star); #复制info表数据到info2中
show create table star2\G #查看表的表结构、索引等信息,对比info表
可以发现这种方法只会复制表的结构和数据,但是约束不会复制