MySQL 数据表基本操作

前面说过数据库的相关操作,接下来是对表进行操作,对表进行操作的前提是进入到数据库当中,因此需要先使用 USE 指定使用的某个数据库。


使用数据库

创建表

\color{#FF0000}{语法}

CREATE TABLE <表名> ([表定义选项]) [表选项] [分区选项];
  • CREATE TABLE 用于创建表的关键字
  • <表名>:指定要创建表的名称(必须符合标识符命名规则),表名称格式为 db_name.tbl_name(其中db_name是数据库名称,tbl_name是数据表的名称),在当前数据库中建表可省略数据库的名字,例如 tbl_name
  • 表定义选项用于定义表中的各个字段信息,包括列名、数据类型、空值、默认值、完整性约束或表索引等

\color{#FF0000}{示例}

创建表 user

修改表

有时候创建表的时候,我们可能会忘掉了某个字段或者写错了数据类型,这个时候就可以通过下面的命令来修改表结构、表名称等
\color{#FF0000}{语法}

ALTER TABLE <表名> [修改选项]

其中修改选项如下:

ADD COLUMN <列名> <类型>  # 添加新列
CHANGE COLUMN <旧列名> <新列名> <新列类型> <位置>  # 列重命名、改变数据类型和位置移动
MODIFY COLUMN <列名> <类型>  # 改变类型和位置移
ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT }  # 给某列删除或者添加默认值
DROP COLUMN <列名>  # 删除某列
RENAME TO <新表名>  # 表重命名
CHARACTER SET <字符集名>  # 修改表字符集
COLLATE <校对规则名>  # 修改表校对规则

\color{#FF0000}{示例}

修改表名:

ALTER TABLE <旧表名> RENAME [TO] <新表名>;
修改表名称

修改表字符集和校对规则

ALTER TABLE 表名 [DEFAULT] CHARACTER SET <字符集名> [DEFAULT] COLLATE <校对规则名>;
image.png

查看表

\color{#FF0000}{语法}

以表格形式展示表结构

DESCRIBE <表名>; #
DESC <表名>;  # 上一行代码的简写

以SQL语句的形式展示表结构

SHOW CREATE TABLE <表名>;  # 可以通过 \g 或者 \G 控制格式,此时不需要加分号 ;

两者区别

SHOW CREATE TABLE 展示的内容更加丰富,它可以展示出表的存储引擎和字符编码;
\color{#FF0000}{示例}

以表格形式展示表结构

以SQL语句的形式展示表结构

删除表

\color{#FF0000}{语法}

DROP TABLE [IF EXISTS] 表名1 [ ,表名2, 表名3 ...]
  • IF EXISTS 用于在删除数据表之前判断该表是否存在。如果不加 IF EXISTS,当数据表不存在时 MySQL 将提示错误,中断 SQL 语句的执行;加上 IF EXISTS 后,当数据表不存在时 SQL 语句可以顺利执行,但是会发出警告。
  • 表名1 [ ,表名2, 表名3 ...] 表示要被删除的数据表的名称。DROP TABLE 可以同时删除多个表,只要将表名依次写在后面,相互之间用逗号隔开即可。
  • 删除时用户必须有删除权限并且删除表后,用户在该表上的权限不会自动删除。

\color{#FF0000}{示例}
该数据库中只有一张表,因此删除之后在查看时,数据库为空

删除数据表

删除表时可能遇到的问题

一、删除被其他表关联的主表(两种方案)

  • 方案一:删除字表,在删除父表,缺点是删除数据过多
  • 方案二:取消关联,在删除父表
    删除关联的语句如下:
ALTER TABLE 字表 DROP FOREIGN KEY 子表中与父表关联的字段;

表字段的操作

上面的都是整体对表结构的设计,设计好之后难免会遇到增加,删除字段的操作,所以下面介绍的是表字段的 增删改查 操作

增加字段

\color{#FF0000}{语法}

ALTER TABLE <表名> ADD <新字段名><数据类型> [约束条件];  # 在末尾增加字段
ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] FIRST;  # 在开头增加字段
ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] AFTER <已经存在的字段名>;  # 在已存在的字段名后添加
  • <表名> 为数据表的名字;
  • <新字段名> 为所要添加的字段的名字;
  • <数据类型> 为所要添加的字段能存储数据的数据类型;
  • [约束条件] 是可选的,用来对添加的字段进行约束。
    \color{#FF0000}{示例}
    先查看表结构,然后增加 age 字段,最后在查看增加后的表结构
    向表中增加字段

查看字段

\color{#FF0000}{语法}


\color{#FF0000}{示例}

修改字段

\color{#FF0000}{语法}

修改表名称和数据类型

ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;
  • <旧字段名>:指修改前的字段名;
  • <新字段名>:指修改后的字段名;
  • <新数据类型>:指修改后的数据类型,可以将新数据类型设置成与原来一样

仅修改数据类型

ALTER TABLE <表名> MODIFY <字段名> <数据类型>
  • <表名>:指要修改数据类型的字段所在表的名称;
  • <字段名>:指需要修改的字段;
  • <数据类型>:指修改后字段的新数据类型
    \color{#FF0000}{示例}
    修改name的数据类型

删除字段

\color{#FF0000}{语法}

ALTER TABLE <表名> DROP <字段名>;

\color{#FF0000}{示例}
删除表中的 age 字段

删除字段

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容