创建数据表
语句: [] 表示可选值
create table <表名> (
字段名1 数据类型 [列级别约束条件] [默认值],
字段名2 数据类型 [列级别约束条件] [默认值],
...
...
[表级别约束]
);
约束
主键约束
单主键约束: 字段名 数据类型 primary key [默认值]``
例1: id int(11) primary key
例2:在定义完列后指定主键:
create table t1 (
id int(11),
name varchar(32),
primary key (id)
);
联合主键:primary key (字段1,字段2,字段3,…)``
create table t2 (
name varchar(32),
age int(11),
primary key (name,age)
);
外键约束
[ constraint <外键名> ] foreign key 字段名1 [ ,字段名2,…] reference <主表名> 主键列1, [ ,主键列2,…]``
例如: constraint fk_emp_dept1 foreign key (deptId) reference tb_dept (id)
非空约束
字段名 数据类型 not null
唯一约束
字段名 数据类型 unique
默认约束
字段名 数据类型 default 默认值
例如: name varchar(32) not null default "jack"
自增
字段名 数据类型 auto_increment
注意: 一个表只有一个字段可以使用auto_increment约束,且该字段必选为主键的一部分(联合主键)
查看数据表结构
describe | desc <表名>
show create table <表名>
该方法不仅可以查看表结构,还可以查看建表语句、存储引擎、字符编码
修改数据表
修改表名
alter table <旧表名> rename <新表名>;
修改字段类型
alter table <表名> modify <字段名> <字段类型>;
修改字段名
alter table <表名> change <旧字段名> <新字段名> <新字段类型>;
添加字段
alter table <表名> add <新字段名> <字段类型> [约束] [ first | after <字段名>];
例如: alter table user add touxiang varchar(128) not null after name;
在名字后面加一个非空的头像字段
删除字段
alter table <表名> drop <字段名>;
修改字段的位置
语法类似于修改字段类型:alter table <表名> modify <字段名> <字段类型> first | after <字段名>;
修改表的存储引擎
alter table <表名> engine=<更改后的存储引擎名>;
删除外键约束
alter table <表名> drop foreign key <外键约束名>
删除数据表
语法: drop table [if exists] 表1,表2,.....表n;
注意:如果不能删除,需要排除它有没有子表。先删除子表的外键约束才行。