原文地址:http://quinntian.xyz/articles/2018/07/31/1533047632551.html
1. 创建表
1.1 基础语法
create 表名(字段名 数据类型[完整性约束],字段名2 数据类型[完整性约束],......);
- 创建数据库前要进行选择数据库,否则会报错
- 选择数据库语法
use 数据库名
1.2 完整性约束
primary key
标识主键foreign key
标识外键not null key
标识不能为空unique
标识该属性是唯一auto_increase
标识该属性值是自动增长default
为该属性设置默认值
1.2.1 主键
- 单一字段主键
属性名 数据类型 primary key
多字段主键
primary key(属性1,2,3,4....)
结合创建表语句的例子(联合主键)
create table example2(
stu_id int,
course_id int,
grade float,
primary key(stu_id,course_id)
);
1.2.2 外键
- 区分父表和主表
A表-> sno->外键
B表-> id
若sno->依赖->id, B为父表,A为子表
sno->A表外键
外键在的表为子表,被引用的键所在的表是主表 - 语法格式
constraint 外键别名 foreign key(属性1,属性...) references 表名(属性2,属性...)
- 结合创建语句的示例
create table example3(
id int(primary key),
stu_id int,
constraint c_fk foregin key(stu_id,course_id) references example2(stu_id,course_id);
);
联合外键参考example2中的两个属性
1.2.3 非空约束
- 基本语法
属性名 数据类型 not null
结合创建语句示例
create table example4(id int not null primary key, name varchar(20) not null, stu_id int,constraint c_fk foregin key(stu_id) references example(stu_id))
1.2.4 唯一约束
- 基本语法
属性名 数据类型 unique
- 结合创建语句示例
create table example5(id int primary key,
stu_id int unique,
name varchar not null);
1.2.5 属性自动增长
- 基本语法
属性名 数据类型 auto_increment
- 结合创建语句示例
create table example6(
id int primary key auto_increment,
stu_id int unique,
name varchar(20) not null
);
1.2.6 属性的默认值
- 基本语法
属性名 数据类型 defaut 默认值
- 结合创建语句示例
create table example7(id int primary key auto_increment,
stu_id int unique,
name varchar(20) not null,
english varchar(20) default 'zero'),
math float default 0,
computer float default 0);
2. 查看表结构
2.1 describe 查看表的基本结构
describe(或简写desc) 表名
2.2 show create table 查看表详细结构
show create table 表名 \g(以较优雅的方式显示)
3. 修改表
3.1 修改表名
alter table 旧表名 rename to 新表名
3.2 修改表字段的数据类型
alter table 表名 modify 属性名 数据类型
3.3 修改表字段名
alter table 表名 change 旧属性 新属性 新的数据类型
3.4 增加字段
alter table 表名 add 属性1 数据类型 [完整性约束条件] [first || after 属性名2];
3.5 删除字段
alter table 表名 drop 属性名
3.6 修改字段的排列位置
alter table 表名 modify 属性名 数据类型 first || after 属性名2;
3.7 更改表的存储引擎
alter table engine=存储引擎
3.8 删除表的外键约束
alter table 表名 drop foregin key 外键别名
4. 删除表
4.1 删除普通表
drop table 表名
4.2 删除被关联的表
- 删除被关连的约束
- 删除表