# 一、表结构修改(alter)# 1.修改表名:alter table tb_name rename to new_name;# 2.修改字段名:alter table tb_name change name new_name data_type;# 3.修改字段类型:ALTER TABLE tb_name MODIFY field_name data_type; # int类型转str是可以转的,但str类型转int会报错,转不了# 4.添加字段:ALTER TABLE tb_name ADD [COLUMN] field_name data_type;# 5.删除字段:ALTER TABLE tb_name DROP [COLUMN] field_name;# 二、约束条件# 约束是一种限制,通过对表中的数据做出限制,来确保表中数据的完整性,唯一性
# 默认约束(default):# 插入数据的时候,如果没有明确为字段赋值,则自动赋予默认值。在没有设置默认值的情况下,默认值为NULL# CREATE TABLE tb(# id int default 值,# name varchar(20)# );# 非空约束(not null):# 限制一个字段的值不能为空,Insert的时候必须为该字段赋值。空字符不等于NULL# CREATE TABLE tb(# id int not null,# name varchar(20)# );# 唯一约束(unique key)# 限制一个字段的值不重复,该字段的数据不能出现重复的。确保字段中值的唯一# CREATE TABLE tb(# id int unique key,# name varchar(20)# );# 主键约束(primary key)# 通常每张表都需要一个主键来体现唯一性,每张表里面只能有一个主键。主键 = 非空 + 唯一# CREATE TABLE tb(# id int primary key,# name varchar(20)# );# 自增长约束(auto_increment)# 自动编号,和主键组合使用,一个表里面只能有一个自增长。auto_increment 要求用在主键上# CREATE TABLE tb(# id int primary key auto_increment,# name varchar(20)# );# 外键约束(foreign key)# 保持数据的一致性# 主键连主键:一对一模式,即我有的你一定有, 你没有的, 我绝对没有# CREATE TABLE a(# id_a int primary key,# name varchar(20)# );# CREATE TABLE b(# id_b int primary key,# name varchar(20),# foreign key (id_b) references a(id_a)# );# 1. B表中的id_b字段,只能添加 id_a中已有的数据。# 2. A表中id_a 被参照的数据, 不能被修改和删除# 3. 要删除A表中参照的数据,先要去删除B表中的数据# 三、表关系
# 一对一:用外键的方式,把两个表的主键关联。用主键加主键的方式来实现
# 一对多:
# 多对多:对于多对多关系,需要创建中间表实现。