一般在语法格式描述中会使用如下符号:
- <>:表示在语句中必须指定的数据对象,是不可或缺的。
- [ ]:表示可以根据需要进行选择,也可以不选。
- | :表示多个选项只能选择其一。
- { }:表示必选项。
1、创建表
在MySQL中,使用CREATE TABLE创建表
语法格式:
CREATE TABLE <表名> ([表定义选项]) [表选项] [分区选项];
([表定义选项])格式为:
<列名1> <类型1>, ... <列名n> <类型n>
语法说明:
- CREATE TABLE:用于创建给定名称的表,必须拥有CREATE的权限。
- <表定义选项>:表创建定义,由列名(col_name)、列的定义(column_definition)以及可能的空值说明、完整性约束或表索引组成。
2、修改表
修改表指的是修改数据库中已存在的数据库表的结构。在MySQL中,使用ALTER TABLE修改表。常用修改表的操作有修改表名、修改字段数据类型或字段名、增加和删除字段、修改字段的排列位置、更改表的存储引擎、删除表的外键约束等。
语法格式:
ALTER TABLE <表名> [修改选项];
[修改选项]语法格式:
{
ADD COLUMN <列名> <类型>
CHANGE COLUMN <旧列名> <新列名> <新列类型>
ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT }
MODIFY COLUMN <列名> <类型>
DROP COLUMN <列名>
RENAME TO <新表名>
}
2.1、增加字段
语法格式:
ALTER TABLE <列名> ADD [COLUMN] <新字段名> <字段类型>
[约束条件] [FIRST | AFTER 已存在的字段名];
语法说明:
- 新字段名为需要添加的字段的名称;
- FIRST为可选参数,其作用是将新添加的字段设置为表的第一个字段;
- AFTER为可选参数,其作用是将新添加的字段添加到指定的“已存在的字段名”的后面;
2.2、修改字段名称
语法格式:
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新字段类型>;
语法说明:
- <旧字段名>:指修改前的字段名
- <新字段名>:指修改后的字段名。
- <新字段类型>:指修改后的数据类型,如果不需要修改字段的数据类型,可以将数据类型设置成与原来一样,但数据类型不能为空。
CHANGE也可以只修改数据类型,只需要将“旧字段名”与“新字段名”设置为相同的名称,只修改“数据类型”。
2.3、修改字段类型
语法格式:
ALTER TABLE <表名> MODIFY <字段名> <字段类型>;
语法说明:
- <表名>:指要修改数据类型的字段所在表的名称。
- <字段名>:指需要修改的字段。
- <字段类型>:指修改后字段的新数据类型。
2.4、删除字段
语法格式:
ALTER TABLE <表名> DROP <字段名>;
语法说明:
- <字段名>:指需要从表中删除的字段的名称。
2.5、修改表名
语法格式:
ALTER TABLE <表名> RENAME [TO] <新表名>;
语法说明:
- TO:可选参数,使用与否不影响结果
3、删除表
在MySQL中,使用DROP TABLE删除表
语法格式:
DROP TABLE [IF EXISTS] <表名1> [, <表名2>, <表名3>, ...];
语法说明:
- <表名>:被删除的表名,DROP TABLE语句可以同时删除多个表。
- IF EXISTS:用于在删除前判断删除的表是否存在,加上该参数后,在删除表的时候,如果表不存在,SQL语句可以顺利执行,但会发生警告。
4、查看表结构
语法格式:
# 以表格形式显示表结构
{ DESCRIBE | DESC } <表名>;
# 以原始SQL语句显示表结构
SHOW CREATE TABLE <表名>G;
语法说明:
- 使用SHOW CREATE TABLE 语句不仅可以查看创建表时的详细语句,而且可以查看存储引擎和字符编码。
- 如果不加“G”参数,显示结果可能非常混乱