【MySQL】表操作

ops/2025/1/20 6:32:28/
表操作
  • 一、创建表
    • 1、语句
    • 2、语句介绍
    • 3、注意事项
    • 4、介绍
    • 5、示例
  • 二、查看表结构
    • 1、语句
    • 2、介绍
    • 3、返回的信息
    • 4、示例
  • 三、添加字段
    • 1、语句
    • 2、语句介绍
    • 3、示例
  • 四、修改
    • 1、语句
    • 2、语句介绍
    • 3、示例
  • 五、删除
    • 1、语句
    • 2、示例
  • 六、修改表名
    • 1、语句
    • 2、语句介绍
    • 3、示例
  • 七、删除表
    • 1、语句
    • 2、示例
  • 八、注意事项

一、创建表

1、语句

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、语句

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、语句

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、语句

-- 使用 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、语句

ALTER TABLE table_name
DROP COLUMN column_name;

2、示例

在这里插入图片描述

六、修改表名

1、语句

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、语句

DROP TABLE table_name;

2、示例

在这里插入图片描述

八、注意事项

  • 备份数据:在执行这些操作之前,最好备份这些数据,以防万一操作出错导致数据丢失。
  • 权限:确保执行这些操作的时候,执行者具有足够的权限来修改表结构。
  • 兼容性:不同版本的MySQL可能对某些语法有不同的支持,确保使用的语法与使用的MySQL版本兼容。
  • 依赖关系:检查是否有其他数据库对象(如视图、触发器、存储过程等)依赖于要修改的表名或要删除的表。如果有,可能需要相应地更新或删除这些依赖对象。
  • 事务处理:如果操作是在事务中进行的,请确保已了解这些操作对事务的影响。在某些情况下,RENAME TABLE 和 DROP TABLE 语句可能会隐式地提交当前事务。

本文到这里就结束了,如有错误或者不清楚的地方欢迎评论或者私信
本文只是在学习过程中所做的总结,不会涉及过深的概念
创作不易,如果觉得博主写得不错,请点赞、收藏加关注支持一下???


http://www.ppmy.cn/ops/151594.html

相关文章

Spring Web MVC 探秘

一、生活中的Spring Web MVC 对于Spring Web MVC这个专业名称,很多人都不清楚这个东西是干什么的,其实,Spring Web MVC在生活中无处不在,我们经常会使用到它们。 假如你打开在线书店的网站,在首页的搜索框中输入了 “编…

HTML学习笔记(3)

一、元素种类 块级元素(标签,盒子) 特点:独占一行,对宽度高度支持内联级元素(标签,盒子) 特点:不独占一行,对宽度高度不支持内联块级元素(标签,盒子) 特点:不独占一行,对宽度高度支持弹性盒子 1.块级元素如div、p、h1~h6、ul、li等等,一个元素标签占一行&#xff0…

51单片机——DS18B20温度传感器

由于DS18B20数字温度传感器是单总线接口,所以需要使用51单片机的一个IO口模拟单总线时序与DS18B20通信,将检测的环境温度读取出来 1、DS18B20模块电路 传感器接口的单总线管脚接至单片机P3.7IO口上 2、DS18B20介绍 2.1 DS18B20外观实物图 管脚1为GN…

数据结构9——二叉搜索树

🥇1.二叉搜索树的概念 二叉搜索树(Binary Search Tree,BST)又称二叉排序树或二叉查找树,其要么是一棵空树,要么具有以下性质: ①:左子树上所有节点的值都小于根节点; ②:右子树上所有节点的值都…

iOS - Objective-C 底层实现中的哈希表

1. 关联对象存储&#xff08;AssociationsHashMap&#xff09; // 关联对象的哈希表实现 typedef DenseMap<const void *, ObjcAssociation> ObjectAssociationMap; typedef DenseMap<DisguisedPtr<objc_object>, ObjectAssociationMap> AssociationsHashMa…

oracle使用case when报错ORA-12704字符集不匹配原因分析及解决方法

问题概述 使用oracle的case when函数时&#xff0c;报错提示ORA-12704字符集不匹配&#xff0c;如下图&#xff0c;接下来分析报错原因并提出解决方法。 样例演示 现在有一个TESTTABLE表&#xff0c;本表包含的字段如下图所示&#xff0c;COL01字段是NVARCHAR2类型&#xff0…

Django SimpleUI 自定义功能实战

1. 引言 Django SimpleUI 是一个基于 Django 的后台管理界面美化工具,旨在帮助开发者快速构建现代化的后台管理系统。除了默认的功能外,SimpleUI 还支持高度自定义,开发者可以根据需求添加各种实用功能。本文将详细介绍如何在 Django SimpleUI 中实现自定义功能,包括数据同…

DeviceNet转Profinet网关+FANUC机器人:打造工业界的灭霸手套,掌控无限可能

在某车厂项目中&#xff0c;客户需将甲方的FANUC机器人接入自身Profinet网络系统。因机器人采用DeviceNET协议&#xff0c;所以选用稳联技术研发的Profinet转DeviceNET网关&#xff08;WL-DVN-PN&#xff09;实现通讯转换。 新建项目并导入稳联技术DeviceNET转Profinet网关&…