MySQL表的操作

本文介绍了在MySQL中操作表的基本步骤,包括如何创建表、查看表结构、修改表(如添加、修改和删除列)、以及删除表。创建表涉及定义列名和数据类型,而修改表可以改变列的属性或表名。删除列和主键修改需谨慎,以保持数据完整性。删除表时,可以使用DROPTABLE命令,但要注意其影响。
摘要由CSDN通过智能技术生成

在使用 MySQL 数据库时,操作表是最基本和最重要的任务之一。表是 MySQL 数据库的核心对象,用于存储数据,并且可以通过 SQL 语句进行查询、插入、更新和删除等操作。因此,熟练掌握 MySQL 表的操作是非常必要的。接下来我们将介绍常见的表的操作。

创建表

要在 MySQL 数据库中创建表,可以使用以下 SQL 语句:

CREATE TABLE table_name(
	column1 datatype [optional_parameters],
	column2 datatype [optional_parameters],
	...
)[CHARSET=charset_name] [COLLATE=collation_name] [ENGINE=engine_name];

说明:

  • column1、column2 :要在表中创建的列名称。
  • optional_parameters:列的可选参数,例如 NOT NULL 等。
  • CHARSET -> 字符集格式存储、COLLATE -> 字符集校验规则、ENGINE -> 指定存储引擎。若没有指定这些参数,则以所在数据库的字符集为准。
  • datatype :表示列的类型。

示例:下面是一个SQL语句,用于创建一个名为 students 的表,其中包含 id、name、birthday 三个列,其中 id 为主键,数据类型分别为 int、varchar、date:

在这里插入图片描述

说明:不同的存储引擎,创建的表不一样。

students 表存储引擎是 MyISAM,在数据库目录中有三个文件,分别是:

  • students.frm:表结构
  • students.MYD:表数据
  • students.MYI:表索引

在这里插入图片描述

查看表结构

MySQL 查看表结构的语句如下:

DESC 表名称;

示例:DESE 语句可以查看表的结构和字段信息,如下所示:

在这里插入图片描述

修改表

MySQL 中修改表的语句是 ALTER TABLE。该语句可以用于添加、修改或删除表的列、约束、索引等。下面是常用的几种修改表结构的语句:

接下来,我们使用 students 表来对各操作进行演示:

在这里插入图片描述

添加列

MySQL 数据库表中添加列,可以使用 ALTER TABLE 语句,下列是添加列的语法和说明:

ALTER TABLE table_name ADD column_name column_definition [FIRST|AFTER existing_column];

说明:

  • table_name:要添加列的表名称。
  • column_name:要添加的列名称。
  • column_definition:新增列的属性,包括数据类型、长度、约束等。
  • 可选参数:FIRST -> 将新增列放在第一列,AFTER existing_column -> 将新增列放在指定列之后。

示例:在 students 表中添加一个名为 phoneNum 的列,数据类型为 char(12),如下所示:

在这里插入图片描述

若不使用可选参数进行指定,则新增列在表的最后。

注意:在修改现有表时,要确保新增列与现有列不会产生冲突或重复。

修改列

MySQL 数据库表中修改列,可以使用 ALTER TABLE 语句,以下是修改列的语法及说明:

ALTER TABLE table_name MODIFY column_name column_definition;

示例1:将 students 表中的 phoneNum 列的 char(12) 修改为 char(14),并将其属性改为 unique

在这里插入图片描述

示例2:将 students 中的 id 列名修改为 stuid,并保持其它属性不变:

在这里插入图片描述

修改表名

MySQL 中修改表名,可以使用以下两种语句:

ALTER TABLE old_table_name rename new_table_name;

RENAME TABLE old_table_name TO new_table name;

说明:

  • old_table_name:要修改表的旧名称。
  • new_table_name:新的表名称。

例如:将 students 表名修改为 student ,如下所示:

在这里插入图片描述

使用 RENAME TABLE old_table_name TO new_table name; 语句将表名更改回来:

在这里插入图片描述

注意:在修改表名时,需要确保新表名在数据库中不存在,否则会出现错误。此外,修改表明可能会影响到引用该表的其它表或程序,因此在修改表名之前应该慎重考虑,并确保相应的更改已经进行了。一般情况下不要轻易的更改表名,应该在设计表的时候就考虑清楚。

删除列

MySQL 数据库表中删除列,可以使用 ALTER TABLE 语句,以下是删除列的语法:

ALTER TABLE table_name DROP column_name;

示例:删除 students 表中的 phoneNum 列:

在这里插入图片描述

注意:在删除列之前,应该确保该列中的数据不再需要,并且该列不包含与表的主键或其它外键关联的数据。在删除列之前,也应该考虑备份数据以避免数据意外丢失。

修改主键

在 MySQL 中,修改主键的语句分为两步:1、删除原有的主键约束;2、添加新的主键约束。

删除原有的主键约束使用以下语句:

ALTER TABLE table_name DROP PRIMARY KEY;

添加新的主键约束使用以下语句:

ALTER TABLE table_name ADD PRIMARY KEY(column_name);

需要注意的是,修改主键约束可能会影响到表的数据完整性,所以应该谨慎操作。同时修改主键约束需要满足一些条件,例如被修改的列必须唯一且不允许为空,否则报错。另外,请确保新的主键不包含任何重复的值,否则修改将失败。

删除表

MySQL 中,可以使用 DROP TABLE 命令来删除表,具体语法如下:

DROP [TEMPOPARY] TABLE [IF EXISTS] table_name;

说明:

  • TEMPOPARY 关键字用于在删除表时指定该表为临时表,它表示只在当前会话中存在的表,当会话结束时,临时表将被自动删除。
  • 在删除表时加上 TEMPOPARY 关键字,表示删除的是当前会话中创建的临时表,而不是持久性的表。
  • table_name 是要删除的表名。IF EXISTS 是可选参数,如果指定了该参数,表示在删除表之前先检查表是否存在,如果不存在不会报错,直接退出。如果存在,则直接进行删除。

示例:删除数据库中的表 t1

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风&57

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值