表操作
一、创建表
1、语句
sql
CREATE TABLE 表名 (
列名1 数据类型 [约束条件],
列名2 数据类型 [约束条件],
...
[表选项]
);
2、语句介绍
- CREATE TABLE:创建表的SQL命令。
- 表名:表的名称,必须是唯一的,并且符合MySQL的命名规则(通常只能包含字母、数字和下划线,不能以数字开头)。
- 列名:表中的列(字段)名称,每个列都有一个相应的数据类型和可选的约束条件。
- 数据类型:定义列中数据的类型,如INT(整数)、VARCHAR(可变长度字符串)、DATE(日期)等。
- 约束条件:可选的,用于限制列中的数据,如NOT NULL(非空)、UNIQUE(唯一)、PRIMARY KEY(主键)、FOREIGN KEY(外键)、AUTO_INCREMENT(自动递增)等。
- 表选项:可选的,用于设置表的附加属性,如字符集、排序规则和存储引擎等。
3、注意事项
- 表名和列名尽量使用小写字母和下划线,以符合常见的命名规范。
- 在设计表结构时,应充分考虑数据的完整性和一致性,合理使用约束条件。
- 根据具体需求选择合适的存储引擎,例如InnoDB(默认)和MyISAM。
4、介绍
- 在MySQL中,创建表(table)是数据库设计和数据组织的基础步骤之一。表是存储结构化数据的主要方式,类似于Excel中的工作表或关系数据库中的关系。
- 默认情况下,使用InnoDB存储引擎在默认数据库中创建表。如果表存在、没有默认数据库或数据库不存在,则会发生错误。
- MySQL对表的数量没有限制。底层文件系统可能对表示表的文件数量有限制。单个存储引擎可能会施加特定于引擎的约束。InnoDB最多允许40亿个表。
5、示例
二、查看表结构
1、语句
sql
DESCRIBE table_name;
- table_name是要查看的表的名称。
2、介绍
- 在MySQL中,DESCRIBE命令(或其简写形式DESC)是一个非常实用的工具,用于获取有关数据库表的详细结构信息。该命令仅适用于表对象,不能用于视图、存储过程、函数等其他数据库对象。
3、返回的信息
信息 | 说明 |
---|---|
字段名称(Field) | 表的每一列的名称 |
数据类型(Type) | 每列中存储数据的类型,例如INT、VARCHAR、DATE等 |
是否允许空值(Null) | 指示每列是否允许存储NULL值。 |
键(Key) | 指示列是否为主键(PRI)、外键或索引的一部分。如果列是主键,则显示为PRI;如果是索引的一部分,则可能显示为MUL(表示该列在多个索引中出现)或其他相关标识 |
默认值(Default) | 插入新行时,如果未指定列值,则使用默认值。如果列没有默认值,则此列可能为空 |
附加信息(Extra) | 有关列的其他信息,例如是否允许自动增量(auto_increment)、是否具有唯一性约束等 |
4、示例
- 添加数据
三、添加字段
1、语句
sql
ALTER TABLE table_name
ADD COLUMN column_name column_definition [FIRST | AFTER existing_column];
2、语句介绍
- table_name:要修改的表的名称。
- column_name:要添加的新字段的名称。
- column_definition:新字段的定义,包括数据类型和其他约束(如 NOT NULL、DEFAULT 值等)。
- FIRST:可选,表示将新字段添加到表的第一个位置。
- AFTER existing_column:可选,表示将新字段添加到existing_column之后。
3、示例
四、修改
1、语句
sql
-- 使用 MODIFY COLUMN 修改字段定义
ALTER TABLE table_name
MODIFY COLUMN column_name new_column_definition [FIRST | AFTER existing_column];
-- 使用 CHANGE COLUMN 修改字段名称和定义
ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name new_column_definition [FIRST | AFTER existing_column];
2、语句介绍
- MODIFY COLUMN 和 CHANGE COLUMN 子句都可以修改字段。
- MODIFY COLUMN 可以改变字段的定义,但不能改变字段的名称。
- CHANGE COLUMN 可以改变字段的名称和定义。
3、示例
五、删除
1、语句
sql
ALTER TABLE table_name
DROP COLUMN column_name;
2、示例
六、修改表名
1、语句
sql
RENAME TABLE old_table_name TO new_table_name;
ALTER TABLE old_table_name RENAME TO new_table_name;
2、语句介绍
- old_table_name:要修改的表的当前名称。
- new_table_name:修改后的新名称。
- 上方两条语句都能达到修改表名的目的。在使用ALTER TABLE的语句中,TO可以省略。
3、示例
七、删除表
1、语句
sql
DROP TABLE table_name;
2、示例
八、注意事项
- 备份数据:在执行这些操作之前,最好备份这些数据,以防万一操作出错导致数据丢失。
- 权限:确保执行这些操作的时候,执行者具有足够的权限来修改表结构。
- 兼容性:不同版本的MySQL可能对某些语法有不同的支持,确保使用的语法与使用的MySQL版本兼容。
- 依赖关系:检查是否有其他数据库对象(如视图、触发器、存储过程等)依赖于要修改的表名或要删除的表。如果有,可能需要相应地更新或删除这些依赖对象。
- 事务处理:如果操作是在事务中进行的,请确保已了解这些操作对事务的影响。在某些情况下,RENAME TABLE 和 DROP TABLE 语句可能会隐式地提交当前事务。
本文到这里就结束了,如有错误或者不清楚的地方欢迎评论或者私信
本文只是在学习过程中所做的总结,不会涉及过深的概念
创作不易,如果觉得博主写得不错,请点赞、收藏加关注支持一下💕💕💕