MySQL常用表级操作

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MySQL常用表级操作

基础信息相关


1.修改表名:


rename table 旧表名 to 新表名;


2、修改字段类型:


alter table 表名 modify column 字段名 字段类型(长度)


3、修改字段名称和类型:


alter table 表名 change 现有字段名称  修改后字段名称 数据类型


4、增加字段:


alter table 表名 add 字段名 字段类型(长度)


批量增加字段

alter table 表名 add (字段名1 字段类型(长度),字段名2 字段类型(长度),...)


5、删除字段:


alter table 表名 drop column 字段名


批量删除字段

alter table 表名 drop column 字段名1,drop column 字段名2


6、修改字段默认值:


alter table 表名 alter column 字段 set default  默认值


7、添加字段备注:


alter table 表名 add modify 字段名 字段类型(长度)default null comment '备注'


为表添加注释

alter table 表名 comment '注释'


8、最后一个字段和倒数第二个字段换位置:


在 MySQL 中,可以使用 ALTER TABLE 语句来修改表的结构,包括添加、删除和修改列。要交换最后一个字段和倒数第二个字段的位置,可以按照以下步骤操作:

  1. 打开 MySQL 命令行客户端,连接到要修改的数据库。
  2. 运行以下命令,显示表的当前结构:
   DESC table_name;

将 "table_name" 替换为要修改的表的名称。

  1. 确定要交换的两个字段的名称。在这种情况下,最后一个字段是表中的最后一个列,而倒数第二个字段是最后一个列之前的列。
  2. 运行以下命令,交换这两个字段的位置:
   ALTER TABLE table_name MODIFY COLUMN last_column_name column_definition AFTER second_last_column_name;

将 "table_name" 替换为要修改的表的名称,"last_column_name" 替换为要移动的最后一个字段的名称,"column_definition" 替换为该字段的定义,"second_last_column_name" 替换为倒数第二个字段的名称。

例如,如果要将名为 "last_column" 的字段移动到名为 "second_last_column" 的字段之前,可以使用以下命令:

   ALTER TABLE my_table MODIFY COLUMN last_column VARCHAR(50) AFTER second_last_column;
  1. 运行以下命令,再次显示表的结构,以确保字段已经交换:
   DESC table_name;

将 "table_name" 替换为要修改的表的名称。

请注意,在修改表结构之前,请务必备份数据。此外,如果表中有大量数据,请考虑在修改表结构之前先将其备份,并在修改成功后恢复数据。




索引相关


注: 索引名称是可选字段~


1.普通索引   添加index


alter table 表名 add index 索引名称 (字段名)


2.主键索引   添加primary key


alter table 表名 add primary key (字段名)


3.唯一索引    添加unique


alter table 表名 add unique 索引名称 (字段名)


4.全文索引    添加fulltext


alter table 表名 add fulltext 索引名称 (字段名)


5.如何添加多列索引


alter table 表名 add index 索引名称 (字段名, 字段名, 字段名)


格式相关


在命令行中竖直展示


在MySQL命令行中,\G是一种特殊的命令扩展,用于改变查询结果的显示格式。通常,MySQL命令行以表格形式显示查询结果,每行对应一个记录。但是,当你在查询结尾处使用\G时,查询结果将会以纵向格式显示,每个字段占据一行,以更方便阅读大型结果集。

下面是一个示例,演示了使用\G的不同查询结果显示方式:

  1. 使用分号终止的常规查询结果显示:
mysql> SELECT * FROM users;
+----+----------+-----------+
| id | username | email     |
+----+----------+-----------+
| 1  | john     | john@example.com  |
| 2  | jane     | jane@example.com  |
+----+----------+-----------+
2 rows in set (0.00 sec)
  1. 使用\G的纵向查询结果显示:
mysql> SELECT * FROM users\G
*************************** 1. row ***************************
       id: 1
 username: john
    email: john@example.com
*************************** 2. row ***************************
       id: 2
 username: jane
    email: jane@example.com
2 rows in set (0.00 sec)

使用\G可以在处理大型或复杂的查询结果时,使结果更易读和解析。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
SQL 运维 关系型数据库
MySQL 中 GRANT 操作会引起复制中断吗?
GRANT 操作并不是一个原子性操作,不管执行成功与否,都会触发一个隐式重载授权表的行为。 在生产环境中需要规范用户创建及授权的操作,不推荐使用 DML 语句去直接变更 mysql.user 表,可能会引发其他的问题,若使用了 DML 语句进行变更, 需要手工执行 flush privileges。
41 4
|
22天前
|
JavaScript 关系型数据库 MySQL
创建nodejs项目并接入mysql,完成用户相关的增删改查的详细操作
创建nodejs项目并接入mysql,完成用户相关的增删改查的详细操作
35 0
|
2月前
|
关系型数据库 MySQL
【mysql技巧】如何在这个mysql语句执行前加个前提,也就是只有表里没有相同数据才进行添加插入操作
【mysql技巧】如何在这个mysql语句执行前加个前提,也就是只有表里没有相同数据才进行添加插入操作
25 1
|
27天前
|
存储 关系型数据库 文件存储
面试题MySQL问题之简单的SELECT操作在MVCC下加锁如何解决
面试题MySQL问题之简单的SELECT操作在MVCC下加锁如何解决
31 2
|
1月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版操作报错合集之从mysql读数据写到hive报错,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
1月前
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版操作报错合集之运行mysql to doris pipeline时报错,该如何排查
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
1月前
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版操作报错合集之整库同步mysql到starRock提交任务异常,该如何处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
1月前
|
SQL 关系型数据库 MySQL
「Python入门」python操作MySQL和SqlServer
**摘要:** 了解如何使用Python的pymysql模块与MySQL数据库交互。首先,通过`pip install pymysql`安装模块。pymysql提供与MySQL的连接功能,例如创建数据库连接、执行SQL查询。在设置好MySQL环境后,使用`pymysql.connect()`建立连接,并通过游标执行SQL(如用户登录验证)。注意防止SQL注入,使用参数化查询。增删改操作需调用`conn.commit()`来保存更改。pymssql模块类似,但导入和连接对象创建略有不同。
36 0
「Python入门」python操作MySQL和SqlServer
|
1月前
|
SQL 存储 关系型数据库
|
30天前
|
SQL Java 数据库
MySQL设计规约问题之为什么应尽量避免使用子查询,而可以考虑将其优化为join操作
MySQL设计规约问题之为什么应尽量避免使用子查询,而可以考虑将其优化为join操作