目录
一、创建表
二、创建表案例
1、显示当前使用的数据库名
2、创建表
2.1 MyISAM存储引擎表
2.2 InnoDB存储引擎表
三、查看表结构
四、修改表
1、新增列
2、修改列类型
3、修改列名
4、修改表名
5、删除列
五、删除表
表的操作至少会涉及如下两类SQL语句:
• DDL(Data Definition Language 数据定义语言):建表,删表,修改列名,新增列,删除列等。
• DML (Data Manipulation Language 数据操作语言):插入记录,删除记录,修改记录等。
其中,本次对表的操作是 DDL,操作表结构的SQL语句。
一、创建表
语法:
create table table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;
说明:
• field 表示列名。
• datatype 表示列的类型。
• character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准。
• collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准。
使用 show engines 这个SQL语句可以查看当前 MySQL 数据库支持的存储引擎:
其中 MySQL 默认采用的是 InnoDB存储引擎(在没有显示指明用哪个存储引擎时)。
二、创建表案例
1、显示当前使用的数据库名
2、创建表
创建两个表结构,分别以 InnoDB 和 MyISAM 不同的存储引擎,进行对比:
2.1 MyISAM存储引擎表
在 /var/lib/mysql 这个路径下面,可以查看 user 表的结构:
采用 MyISAM 存储引擎建表
• user.frm (表结构)
• user.MYD (表数据)
• user.MYI (表索引)
2.2 InnoDB存储引擎表
在 /var/lib/mysql 这个路径下面,可以查看 users 表的结构:
采用 InnoDB 存储引擎建表
• users.frm (表结构)
• users.ibd (表数据 + 表索引)
三、查看表结构
使用 desc 表名 可以查看表的结构,示例:
其中:
• Field 表示该字段的名字
• Type 表示该字段的类型
• NUll 表示该字段是否允许为空
• Key 表示索引类型,比如:主键索引 primary key,外键索引 foreign key
• Default 表示该字段的默认值
• Extra 表示该字段额外的信息说明
查看创建表的相关细节,可以使用 show create table 表名 \G SQL语句
四、修改表
先在之前创建的 user 表中插入两条数据:
1、新增列
在 user 表中添加一个字段 path,用于保存图片路径:
此时查看表结构:
2、修改列类型
将 user 表中的 name 字段类型修改为 varchar(60):
此时查看表创建时的详细结构:
要与之前保持一致的话,也需要加上 comment '用户密码' 这个可选项。
3、修改列名
将 user 表中的 name 列名修改为 xingming 这个列名:
4、修改表名
将 user 表修改为 employee 这个表名:
5、删除列
将 employee 表中的 path 字段进行删除:
注意:删除列后,该列所对应存储的数据页将删除。
五、删除表