创建表
1.创建表的语法规则:
create table <表名> (
字段名1 数据类型 [列级别约束条件] [默认值],
字段名2 数据类型 [列级别约束条件] [默认值],
......
[表级别约束条件]
);
使用create table 创建表时,必须指定以下信息:要创建表的名称。不区分大小写。不能使用SQL的关键字。
2.使用主键约束
主键,又称为主码,是表中一列或多列的组合。主键约束要求主键列的数据唯一,并且不允许为空。主键能够唯一地标识表中的一条记录,可以结合外键来定义不同数据表之间的关系,他们之间是一一对应的。主键分为两种类型:单字段主键和多字段联合主键。
1.单字段主键
字段名 数据类型 primary key [默认值]
或[constraint <约束名>] primary key (字段名)
2.多字段联合主键
primary key (字段名1,字段名2,....)
3.使用外键约束
外键用来在两个表的数据之间建立链接,它可以是一列或者多列。一个表可以有一个或多个外键。外键对应的是参照完整性, 一个表的外键可以为空值,若不为空值,则每一个外键的值必须等于另一个表中主键的某个值。
创建外键语法规则:
[constraint <外键名>] foreign key 字段名1 [,字段名2,....] reference <主表名> 主键列1 [,主键列2,...]
4.使用非空约束
非空约束指字段的值不可以为空。
语法规则: 字段名 数据类型 not null
5.使用唯一性约束
唯一性约束要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或多列不出现重复值。
语法规则:
1.字段名 数据类型 unique
2.[constraint <约束名>] unique (字段名)
unique 和 primary key 的区别:一个表中可以有多个字段声明为unique,但只能有一个primary key声明。声明为primary key的 列不允许有空值,但是声明为unique的字段允许空值的存在
6.使用默认约束
默认约束指定某列的默认值。
语法规则: 字段名 数据类型 default 默认值
7.设置表属性值自动增加
可以通过为表的主键添加 auto_increment 关键字实现系统自动生成字段的主键值。在MySQL中,auto_increment 初始值为 1,每增加一条记录,字段值自动加一。 一个表只能有一个字段使用auto_increment约束,且该字段必须为主键的一部 分。 auto_increment约束的字段类型可以是任何整数类型(TINYINT、SMALLINT、INT、BIGINT)
语法规则:字段名 数据类型 auto_increment
查看数据表结构
1.查看表字段
describe/desc 表名;
2.查看表创建时的语句
show create table <表名\G>
修改数据表
1.修改表名
alter table <旧表名> rename [to] <新表名>;
2.修改字段数据类型
alter table <表名> modify <字段名> <数据类型>
3.修改字段名
alter table <表名> change <旧字段名> <新字段名> <数据类型>;
4.添加字段
alter table <表名> add <字段名> <数据类型> [约束条件] [first|after 已存在字段名];
5.删除字段
alter table <表名> drop <字段名>;
6.修改字段的排列位置
alter table <表名> modify <字段1> <数据类型> first|after <字段2>;
7.更改表单存储引擎
alter table <表名> engine=<更改后的引擎名>;
8.删除表的外键约束
alter table <表名> drop foreign key <外键约束名>;
删除表
drop table <表名>;