一、扩展语句
复制,通过like这个语法直接复制bbb的表结构。只是复制表结构,不能复制表里面的数据
把bbb表里面的数据,复制到test,两个表数据结构要一致
创建一张表,test1,数据从bbb来,表结构也是bbb
delete
删除是一行一行删除,如果表中有自增长列,那么即使清空所有记录之后,再次添加内容,会从原来的记录之后继续自增写入
truncate
清空表的数据,而且会把表结构重新建立,速度上比delete快
drop
直接把整个表删除
创建临时表
(一般用于调试,创建之后,在表目录中是不显示的,连接退出之后,临时表会被销。而且临时表无法创建外键)
二、约束语句
MySQL的约束方式(6种常用)
1、主键约束
用于唯一标识表中的每一行,而且主键列的值必须是唯一而且不能为空的,一个表只能有一个主键
一般用于唯一值,如id、cardid等
2、外键约束
用于建立表之间的关系,一般是和另一张的表的主键关联,保证数据引用的完整性。一个表可以有多个外键
不需要唯一,可以为空
3、非空约束
NOT NULL 必须要有一个值
4、唯一性约束
unique,确保列中的所有值都是唯一的,类似于主键,但是可以为空,而且一个表可以有多个唯一约束
5、默认值约束
default,再插入表数据时,如果没有定义值,会提供一个默认值
6、自增约束
每行自动生成一个唯一标识,通常和主键一起使用
创建主表
创建从表
查看索引
主表和从表
插入数据:先插入主表,再插入从表
删除数据:先删除主表,再删除从表
删除从表
删除主键
【解除自增约束之后才能删主键】
练习1:
两张表,主表company,从表department
主表包含:
1、work_id 非空、主键、int(4)类型,不满四位要补齐
2、name 非空 char(5)
3、sex 非空char(2)
department
1、de_id 非空、主键 int(6),不满6位要补齐
2、work_id 要和主表的work_id关联为外键
3、address 为空,但是要有一个默认值
4、phone 不能为空,而且不能相同
练习2
两张表 college tencent
college
de_id int(4) 不满四位补齐,自增长,主键
name varchar(15) not null
email varchar(45) 可以为空,但是不可以重复,有默认值119@qq.com
tencent
id 自增长,主键 int(4)
class_name 不能为空
de_id 和主键关联
address 可以为空,默认值是 ’M78’
phone int 不能为空,而且不能重复
要求删除外键关联,删除从表主键,重新定义主键为phone