MySQL | 操作表

一般在语法格式描述中会使用如下符号:

  • <>:表示在语句中必须指定的数据对象,是不可或缺的。
  • [ ]:表示可以根据需要进行选择,也可以不选。
  • | :表示多个选项只能选择其一。
  • { }:表示必选项。

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”参数,显示结果可能非常混乱
原文地址:https://www.cnblogs.com/Cyzhouke/p/13735383.html