MySQL扩展语句和约束方式

一、扩展语句

MySQL扩展语句和约束方式_第1张图片

复制,通过like这个语法直接复制bbb的表结构。只是复制表结构,不能复制表里面的数据

MySQL扩展语句和约束方式_第2张图片

把bbb表里面的数据,复制到test,两个表数据结构要一致

创建一张表,test1,数据从bbb来,表结构也是bbb

delete

删除是一行一行删除,如果表中有自增长列,那么即使清空所有记录之后,再次添加内容,会从原来的记录之后继续自增写入

truncate

清空表的数据,而且会把表结构重新建立,速度上比delete快

drop

直接把整个表删除

创建临时表

(一般用于调试,创建之后,在表目录中是不显示的,连接退出之后,临时表会被销。而且临时表无法创建外键)

MySQL扩展语句和约束方式_第3张图片

MySQL扩展语句和约束方式_第4张图片

二、约束语句

MySQL的约束方式(6种常用)

1、主键约束

用于唯一标识表中的每一行,而且主键列的值必须是唯一而且不能为空的,一个表只能有一个主键

一般用于唯一值,如id、cardid等

2、外键约束

用于建立表之间的关系,一般是和另一张的表的主键关联,保证数据引用的完整性。一个表可以有多个外键

不需要唯一,可以为空

3、非空约束

NOT NULL 必须要有一个值

4、唯一性约束

unique,确保列中的所有值都是唯一的,类似于主键,但是可以为空,而且一个表可以有多个唯一约束

5、默认值约束

default,再插入表数据时,如果没有定义值,会提供一个默认值

6、自增约束

每行自动生成一个唯一标识,通常和主键一起使用

创建主表

MySQL扩展语句和约束方式_第5张图片

创建从表

MySQL扩展语句和约束方式_第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 不能为空,而且不能相同

MySQL扩展语句和约束方式_第7张图片

练习2

两张表  college  tencent

college

de_id int(4) 不满四位补齐,自增长,主键

name varchar(15) not null

email varchar(45) 可以为空,但是不可以重复,有默认值[email protected]

tencent

id 自增长,主键 int(4)

class_name 不能为空

de_id  和主键关联

address 可以为空,默认值是  ’M78’

phone  int 不能为空,而且不能重复

要求删除外键关联,删除从表主键,重新定义主键为phone

MySQL扩展语句和约束方式_第8张图片

MySQL扩展语句和约束方式_第9张图片

MySQL扩展语句和约束方式_第10张图片

你可能感兴趣的:(mysql,数据库)