数据库-扩展语句,约束方式

扩展语句:

例:

数据库-扩展语句,约束方式_第1张图片

自增长:

auto_increment:表示该字段可以自增长,默认从一开始,每条记录会自动递增1

数据库-扩展语句,约束方式_第2张图片

复制:

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

把class3里面的数据复制到test中,两个表数据结构要一致、出现不了就刷新一下

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

数据库-扩展语句,约束方式_第3张图片

补充:

Delete truncate drop;

删除表内的所有数据;

Delete from class3;

delete删除是一行一行删除,如果表中有自增长列,清空所有记录之后,再次添加内容,会从原来的数据之后,继续自增写入,建议使用truncate

Truncate table class3;

清空表的结构,而且会把表法人结构程重新建立,速度上比delete快,推荐

Drop table test;

删除表,不推荐

创建临时表:

一般用于调试,而且临时表示创建之后再表目录当中是不显示的,连接退出之后,临时表会自动销毁,而且临时表无法创建外键

数据库-扩展语句,约束方式_第4张图片

数据库-扩展语句,约束方式_第5张图片

Mysql约束方式:

6种常用的约束方式:

  1. 主键约束,primary key,用于唯一标识的每一行,主键列的值必须是唯一而且不能为空,一个表只能有一个主键
  2. 外键约束,用于建立表之间的关系,一般是和另一张的表的主键关联,保证数据引用的完整性,一个表可以有多个外键
  3. 非空约束,not null必须有一个值
  4. 唯一性约束:unique,确保列中的所有值都是唯一的,类似于主键,但是可以为空,而且一个表可以有多个唯一约束
  5. 默认值约束:default,在插入表数据时,如果没有定义值,会提供一个默认值
  6. 自增约束:auto_crement,每行自动生成一个唯一标识,通常和主键一起使用

练习:

创建一个表,包含所有约束

数据库-扩展语句,约束方式_第6张图片

创建从表:

数据库-扩展语句,约束方式_第7张图片

两者如何关联的呢:

数据库-扩展语句,约束方式_第8张图片

数据库-扩展语句,约束方式_第9张图片

数据库-扩展语句,约束方式_第10张图片

数据库-扩展语句,约束方式_第11张图片

数据库-扩展语句,约束方式_第12张图片

数据库-扩展语句,约束方式_第13张图片

如何删除表与表之间的关联:

主表和从表:

插入数据:先插入主表,再插入从表

删除数据:先删除主表,再删除从表

数据库-扩展语句,约束方式_第14张图片

数据库-扩展语句,约束方式_第15张图片

删除主表的主键

数据库-扩展语句,约束方式_第16张图片

[SQL]alter table class drop primary key;

[Err] 1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key

翻译:这是一个自增约束的主键,要先改变他的数据类,解除自增约束,之后主键才可以删除

所以要改变他的自增类型:

数据库-扩展语句,约束方式_第17张图片

所以要改变他的数据类型:

数据库-扩展语句,约束方式_第18张图片

再次删除他的主键:

数据库-扩展语句,约束方式_第19张图片

加强练习:

定义一个需求:

两张表:

主表company

从表depart

Company:

  1. work_id 非空,主键int(4) 不满四位要补充
  2. Name 非空 char(5)
  3. Sex 非空 char(2)

Depart:

  1. de_id 非空 主键int(6),不满六位要补齐
  2. Work_id 要和主表的work_id关联为外键
  3. Address 为空,但是有一个默认值
  4. phone不能为空,而且也不能相同

数据库-扩展语句,约束方式_第20张图片

数据库-扩展语句,约束方式_第21张图片

数据库-扩展语句,约束方式_第22张图片

补充:用修改的方式来添加外键

数据库-扩展语句,约束方式_第23张图片

数据库-扩展语句,约束方式_第24张图片

添加主键:

数据库-扩展语句,约束方式_第25张图片

第二题:

需要两张表: school

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

Name VARCHAR(15) not NULL

Email varchar(45) 可以为空,而且有默认值,www.baidu.com

2,cloud_ky32

Id 自增长 主键 int

Class_name 不能为空

De_id 外键,外键和主表的主键关联。(一般都在行没书写)

Adress 可以为空,默认是’地址不详’

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

3.要求删除外键连接,删除从表的主键,重新定义主键为phone

数据库-扩展语句,约束方式_第26张图片

数据库-扩展语句,约束方式_第27张图片

删除从表的主键,重新定义主键为phone

数据库-扩展语句,约束方式_第28张图片

数据库-扩展语句,约束方式_第29张图片

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