MYSQL基础知识之【ALERT】

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: MYSQL基础知识之【ALERT】

前言

hello world欢迎来到前端的新世界


😜当前文章系列专栏:Mysql

🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误,感谢大家指出)🌹

💖感谢大家支持!您的观看就是作者创作的动力

MySQL ALTER命令


当我们需要修改数据表名或者修改数据表字段时,就需要使用到MySQL ALTER命令。


开始本章教程前让我们先创建一张表,表名为:testalter_tbl。


root@host# mysql -u root -p password;
Enter password:<strong><em><em></em></em></strong><em>
mysql> use W3CSCHOOL;
Database changed
mysql> create table testalter_tbl
    -> (
    -> i INT,
    -> c CHAR(1)
    -> );
Query OK, 0 rows affected (0.05 sec)
mysql> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| i     | int(11) | YES  |     | NULL    |       |
| c     | char(1) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)
</em>


删除,添加或修改表字段

如下命令使用了 ALTER 命令及 DROP 子句来删除以上创建表的 i 字段:


mysql> ALTER TABLE testalter_tbl  DROP i;


MySQL 中使用 ADD 子句来想数据表中添加列,如下实例在表 testalter_tbl 中添加 i 字段,并定义数据类型:

mysql> ALTER TABLE testalter_tbl ADD i INT;


执行以上命令后,i 字段会自动添加到数据表字段的末尾。

mysql> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| c     | char(1) | YES  |     | NULL    |       |
| i     | int(11) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)


如果你需要指定新增字段的位置,可以使用MySQL提供的关键字 FIRST (设定位第一列), AFTER 字段名(设定位于某个字段之后)。


尝试以下 ALTER TABLE 语句, 在执行成功后,使用 SHOW COLUMNS 查看表结构的变化:


ALTER TABLE testalter_tbl DROP i;
ALTER TABLE testalter_tbl ADD i INT FIRST;
ALTER TABLE testalter_tbl DROP i;
ALTER TABLE testalter_tbl ADD i INT AFTER c;


FIRST 和 AFTER 关键字只占用于 ADD 子句,所以如果你想重置数据表字段的位置就需要先使用 DROP 删除字段然后使用 ADD 来添加字段并设置位置。


修改字段类型及名称


如果需要修改字段类型及名称, 你可以在ALTER命令中使用 MODIFY 或 CHANGE 子句 。


例如,把字段 c 的类型从 CHAR(1) 改为 CHAR(10),可以执行以下命令:


mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);


使用 CHANGE 子句, 语法有很大的不同。 在 CHANGE 关键字之后,紧跟着的是你要修改的字段名,然后指定新字段的类型及名称。尝试如下实例:


mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;


如果你现在想把字段 j 从 BIGINT 修改为 INT,SQL语句如下:


mysql> ALTER TABLE testalter_tbl CHANGE j j INT;


ALTER TABLE 对 Null 值和默认值的影响


当你修改字段时,你可以指定是否包含只或者是否设置默认值。


以下实例,指定字段 j 为 NOT NULL 且默认值为100 。


mysql> ALTER TABLE testalter_tbl 
    -> MODIFY j BIGINT NOT NULL DEFAULT 100;


如果你不设置默认值,MySQL会自动设置该字段默认为 NULL。


修改字段默认值


你可以使用 ALTER 来修改字段的默认值,尝试以下实例:


mysql> ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;
mysql> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| c     | char(1) | YES  |     | NULL    |       |
| i     | int(11) | YES  |     | 1000    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)


你也可以使用 ALTER 命令及 DROP子句来删除字段的默认值,如下实例:


mysql> ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;
mysql> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| c     | char(1) | YES  |     | NULL    |       |
| i     | int(11) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)
Changing a Table Type:


修改数据表类型,可以使用 ALTER 命令及 TYPE 子句来完成。尝试以下实例,我们将表 testalter_tbl 的类型修改为 MYISAM :


注意: 查看数据表类型可以使用 SHOW TABLE STATUS 语句。


mysql> ALTER TABLE testalter_tbl TYPE = MYISAM;
mysql>  SHOW TABLE STATUS LIKE 'testalter_tbl'\G
 1. row **
           Name: testalter_tbl
           Type: MyISAM
     Row_format: Fixed
           Rows: 0
 Avg_row_length: 0
    Data_length: 0
Max_data_length: 25769803775
   Index_length: 1024
      Data_free: 0
 Auto_increment: NULL
    Create_time: 2007-06-03 08:04:36
    Update_time: 2007-06-03 08:04:36
     Check_time: NULL
 Create_options:
        Comment:
1 row in set (0.00 sec)


修改表名


如果需要修改数据表的名称,可以在 ALTER TABLE 语句中使用 RENAME 子句来实现。


尝试以下实例将数据表 testalter_tbl 重命名为 alter_tbl:

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;


后言

创作不易,要是本文章对广大读者有那么一点点帮助 不妨三连支持一下,您的鼓励就是博主创作的动力


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7月前
|
SQL 关系型数据库 MySQL
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
|
关系型数据库 MySQL 数据库
掌握MySQL数据库基础知识 同步练习与实训
掌握MySQL数据库基础知识 同步练习与实训。
140 0
|
6月前
|
存储 SQL 关系型数据库
MySQL基础知识
【6月更文挑战第13天】MySQL基础知识
52 7
|
6月前
|
关系型数据库 MySQL Linux
MySQL数据库基础知识
【6月更文挑战第20天】MySQL数据库基础知识。
67 3
|
7月前
|
关系型数据库 MySQL 数据库
MySQL数据表的基础知识
MySQL数据表的基础知识
42 0
|
7月前
|
关系型数据库 MySQL 数据库
MySQL基础知识
MySQL基础知识
58 0
|
7月前
|
关系型数据库 MySQL PHP
MySQL基础知识之【元数据】
MySQL基础知识之【元数据】
91 1
|
7月前
|
SQL 前端开发 关系型数据库
MYSQL基础知识之【复制表】
MYSQL基础知识之【复制表】
91 1
|
7月前
|
SQL 前端开发 关系型数据库
MYSQL基础知识之【修改数据,删除数据】
MYSQL基础知识之【修改数据,删除数据】
79 1
|
7月前
|
存储 关系型数据库 MySQL
MySQL入门:了解数据库基础知识
MySQL入门:了解数据库基础知识
94 0