1. 创建表
1.1 语法
sql
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;
1.2 说明
-
field:列名。
-
datatype:列的数据类型。
-
character set:字符集,默认使用数据库的字符集。
-
collate:校验规则,默认使用数据库的校验规则。
-
engine :存储引擎,如InnoDB、MyISAM。
2. 创建表示例
2.1 示例代码
sql
create table users (
id int,
name varchar(20) comment '用户名',
password char(32) comment '密码是32位的md5值',
birthday date comment '生日'
) character set utf8 engine MyISAM;

2.2 存储引擎说明
不同的存储引擎,创建表的文件不一样
-
MyISAM 引擎会生成三个文件:
-
users.frm:表结构。 -
users.MYD:表数据。 -
users.MYI:表索引。
-
-
InnoDB 引擎的表结构在**
.frm** 文件中,数据和索引存储在**.ibd**文件或共享表空间中。
3. 查看表结构
3.1 命令
sql
desc 表名;
3.2 示例
sql
desc users;

3.3 输出字段说明
| 字段名 | 说明 |
|---|---|
| Field | 字段名称 |
| Type | 数据类型 |
| Null | 是否可为空 |
| Key | 索引类型 |
| Default | 默认值 |
| Extra | 额外信息(如自增) |
4. 修改表
在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。
sql
ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column
datatype]...);
ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column
datatype]...);
ALTER TABLE tablename DROP(column);
4.1 添加字段
在users表中添加几条记录:

在users表中添加一个字段,用于保存图片路径:
sql
alter table users add assets varchar(100) comment '图片路径' after birthday;


4.2 修改字段类型
sql
alter table users modify name varchar(60);
修改name,将其长度改成60:

4.3 删除字段
sql
alter table users drop password;
删除password列:

4.4 修改表名
sql
alter table users rename to employee;
修改表名为employee:

4.5 修改字段名
将name列修改为姓名

5. 删除表
5.1 语法
sql
drop table [if exists] 表名;
5.2 示例
sql
drop table t1;
5.3 说明
-
if exists:防止因表不存在而报错。 -
可同时删除多张表:drop table t1, t2。
-
删除表会永久移除表结构和所有数据。
6. 操作总结表
| 操作 | 命令示例 | 说明 |
|---|---|---|
| 创建表 | create table ... |
定义表结构 |
| 查看表结构 | desc 表名; |
快速查看字段信息 |
| 添加字段 | alter table ... add ... |
可指定位置 |
| 修改字段 | alter table ... modify ... |
修改类型/长度 |
| 修改字段名 | alter table ... change ... |
修改字段名和类型 |
| 删除字段 | alter table ... drop ... |
永久删除列 |
| 修改表名 | alter table ... rename ... |
更改表名 |
| 删除表 | drop table ... |
永久删除表 |