文章目录
主键约束
主键又称主码,是表中一列或者多列的组合。主键约束要求主键列的数据唯一,并且不允许为空。主键能够唯一标识表中的一条记录,可以结合外检来定义不同数据表之间的关系,并且可以加快数据库的查询速度。
单字段主键
主键由一个字段组成,设置主键的SQL语句格式分为两种情况:
-
定义列的同时定义主键
字段名 数据类型 PRIMARY KEY;
-
在定义完所有列之后指定主键
多字段主键
主键由多个字段联合组成:
PRIMARY KEY[字段1,字段2,··· 字段n]
外键约束
外键用来在两个表的数据之间建立连接,它可以是一列或者多列。一个表可以有一个或者多个外键。
外键是一个表的字段,可以不是本表的主键,但是应该对应另一个表的主键。
外键的作用:保证数据引用的完整性。
外键的创建及使用
就是将一个表的字段关联到另一个表的主键
创建方式:
首先要有一个数据表,如下
然后建立一个从表,让它的字段关联表tb_1的主键
查看数据表结构
使用DESCRIBE可以查看表的结构:
DESCREBE db_2;
查看表的详细结构:
SHOW CREATE TABLE <表名\G>
修改数据表
修改表名:
ALTER TABLE <旧表名> RENAME <新表名>;
修改字段数据类型
ALTER TABLE <表名>MODIFY<字段名> <数据类型>;
修改字段名
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;
添加字段
-
直接添加一个新的字段
ALTER TABLE <表名> ADD <新字段名> <数据类型>;
-
在指定字段后添加字段
ALTER TABLE <表名> ADD <新字段名> <数据类型> AFTER <字段名>;
删除字段
将表中某个字段删除
ALTER TABLE <表名> DROP <字段名>;
数据表的其他操作
修改字段排序
ALTER TABLE <表名> MODIFY <字段1> <数据类型> FIRST;
ALTER TABLE <表名> MODIFY <字段1> <数据类型> AFTER <字段2>;
字段1是指要修改位置的字段,数据类型是指字段1 的数据类型,FIRST 为可选参数,是将字段1修改为表的的第一个字段,AFTER 字段2 是指将字段1 插入到字段2 的后面。
更改表的存储引擎
ALTER TABLE <表名> ENGINE=<更改后的存储引擎名>;
当前表的存储引擎为 InnoDB
修改后存储引擎为MyISAM;
删除数据表
删除没有被关联的表
在MySQL中可以使用DROP TABLE 删除一个或者多个表;
DROP TABLE db_2;
删除之前数据库中存在的表
执行删除语句之后的数据库中的表。
删除被其他表关联的主表
上面我们已经创建了一个关联的表,tb_2的字段(tb_2Id)关联tb_1的主键(id)
此时如果直接删除父表tb_1是行不通的,所以需要先解除约束
解除约束:ALTER TABLE tb_2 DROP FOREIGN KEY tb12;
此时,就可以删除主表了
语句执行成功了,下面看一下数据库中的数据表
tb_1果然被删除了。