一、仅复制表的结构
create table copy like author;
二、复制表的结构+数据
create table cppy2 select * from author;
三、复制部分数据
create table copy3 select id,au_name from author where nation ='中国'
四、建表约束条件
Not null:非空,用于保存该字段的值不能为空 比如学号、姓名
default:默认,用于保存该字段有默认值 比如性别
primary key:主键,用于保证该字段的值具有唯一性,并且非空 比如学号、员工编号等
unique:唯一 ,用于保存该字段的值具有唯一性,可以为空 比如座位号
check:检查约束(mysql中不支持) 比如年龄、性别
foreign key:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值
1.建表通用写法
create table if exists stuinfo(
id int primary key,
stuname varchar(20) not null,
sex char(1),
age int(3) ,
majorid int,
constraint fk_studentinfo_major foreign key(majorid) references major(id)
)
2.主键和唯一的对比
主键和唯一的对比3.外键
1.在从表设置外键关系
2.从表的外键列的类型和主表的关联列的类型要求一致或兼容,名称无要求
3.主表的关联列必须是一个key(一般是主键或是唯一)
4.插入数据时,先插入主表,在插入从表
5.删除数据时,先删除从表,再删除主表
五、修改表添加约束
1.列级约束
alter table stuinfo modify column stuname varchar(20) not null;
2.表级约束
alter table stuinfo add primary key (id)
网友评论