返回顶部
首页 > 资讯 > 数据库 >MySQL ALTER命令
  • 896
分享到

MySQL ALTER命令

2024-04-02 19:04:59 896人浏览 安东尼
摘要

当我们需要修改数据表名或者修改数据表字段时,就需要使用到 Mysql ALTER 命令。让我们先创建一张表,表名为: testalter_tbl 。 root@host#&nbs


当我们需要修改数据表名或者修改数据表字段时,就需要使用到 Mysql ALTER 命令。让我们先创建一张表,表名为: testalter_tbl 。


root@host# mysql -u root -p passWord;
Enter password:*******mysql> use OPENKETANG;
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)

删除,添加或修改表字段

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


mysql> ALTER TABLE testalter_tbl
  
DROP i;

如果数据表中只剩余一个字段则无法使用 DROP 来删除字段。

 

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;


<p 如果你现在想把字段 j="" 从 ="" bigint="" 修改为 ="" int , sql 语句如下: <="" p="">


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 ENGINE = 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;


 

更多 MySQL 课程:https://edu.aliyun.com/course/153/lesson/list?utm_content=g_1000056652


您可能感兴趣的文档:

--结束END--

本文标题: MySQL ALTER命令

本文链接: https://lsjlt.com/news/47553.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL ALTER命令
    当我们需要修改数据表名或者修改数据表字段时,就需要使用到 MySQL ALTER 命令。让我们先创建一张表,表名为: testalter_tbl 。 root@host#&nbs...
    99+
    2024-04-02
  • MySQL 中 ALTER 命令
    作用: 修改数据表名或者修改数据表字段 用法: (1)使用 ALTER 命令及 DROP 子句来删除表的对应字段: ALTER TABLE 表名 DROP 字段名; 注:如果数据表中只剩余一个字段则无法使用DROP来删除字段。 (2)使用 ...
    99+
    2023-09-06
    mysql 数据库 sql
  • MySQL中ALTER命令的作用有哪些
    这篇文章将为大家详细讲解有关MySQL中ALTER命令的作用有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、先创建一张表,表名为:testalter...
    99+
    2024-04-02
  • SQL 中 ALTER 和 UPDATE 命令的区别
    在这篇文章中,我们将了解 ALTER 命令和 UPDATE 之间的区别 command in SQL.ALTER命令此命令是数据定义语言(DDL)。它在结构级别上执行操作,而不是数据级别。此命令用于在数据库中添加、删除和修改表的属性。此命令...
    99+
    2023-10-22
  • 我们如何使用 MySQL ALTER TABLE 命令在列上添加注释?
    我们可以在修改列时将“COMMENT”关键字与 ALTER TABLE 命令一起使用,以在列上添加注释。例如,如果我们想在表“testing”的“id”列中添加注释,则以下查询将执行此操作 -mysql> ALTER TABLE te...
    99+
    2023-10-22
  • MySQL命令
    1.mysql登陆 完整登陆命令: mysql -u root -p xxxxx -h 127.0.0.1 -P 23306 语法:mysql -u 用户名 -p 密码 -h mysql服务器的IP地址 -P 使用的端口号  非完...
    99+
    2017-06-06
    MySQL命令
  • MySQL命令行客户端命令
    (MySQL安装并配置好之后)一.启动或关闭MySQL服务启动服务:net start 数据库服务名字关闭服务:net stop 数据库服务名字注意:如果你已经在 mysql-> 里面,是不能使用上面...
    99+
    2024-04-02
  • MySQL SHOW命令
    文章目录 SHOW命令介绍- SHOW命令用法 常用SHOW命令汇总常用命令汇总表- 服务器运行状态信息- 支持的字符集信息- 支持的校对规则信息- 上一个执行语句的告警信息- 上一个执行...
    99+
    2023-09-17
    mysql
  • MySQL, mysql命令注释
    MySQL, mysql命令注释 /opt/mysql/bin/mysql -B, --batch Don't use history file. Disable interact...
    99+
    2024-04-02
  • MySQL命令行下18个常用命令
    在日常的网站维护和管理中,会用到非常多的SQL语句, 熟练使用对网站管理有很多好处,尤其是站群管理的时候。 下面列一些常用的命令做备记。 1、显示数据库 show databases 显示表 show...
    99+
    2024-04-02
  • mysql命令行常用命令有哪些
    这篇文章将为大家详细讲解有关mysql命令行常用命令有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 MySql地址:www.mysql.org 第一招、mysq...
    99+
    2024-04-02
  • mysql常用命令
    数据库的基本操作 通过mysql客户端进入mysql后,实际位于所有仓库之外: * 选中要操作的数据库实例 * 操作数据库实例中的表或其他实体. 注意: ";"表示一条SQL命令的结束,当命令结束后才会执行此命令 * 登陆数据库 mysq...
    99+
    2021-06-16
    mysql常用命令
  • mysql 运维命令
    数据库备份导入 mysqldump -u root -p main_3_2_0 > /main_3_2_0.sql use main_3_2_0 source /main_3_2_0.sql   #查询正在执行的sql sh...
    99+
    2017-01-20
    mysql 运维命令
  • mysql 常用命令
    查看innodb的事务表INNODB_TRX是否有正在锁定的事务线程 SELECT * FROM information_schema.INNODB_TRX; 如果ID存在于show full...
    99+
    2024-04-02
  • MySQL日常命令
    MySQL日常操作 mysqladmin -u root -p password "abcabc" 给MySQL root 账号设置密码之前如果设置过密码就输原密码,没有则回车。登陆 ...
    99+
    2024-04-02
  • mysql基本命令
    结尾用;号或者\g show databases; //展示有哪些数据库use test; //use +数据库名,进入数据库show tables; //显示库里的表show ...
    99+
    2024-04-02
  • MySQL命令整理
    本篇内容主要讲解“MySQL命令整理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL命令整理”吧!MySQL的基本操作可以包括两个方面:MySQL常用语...
    99+
    2024-04-02
  • 认识 mysql 命令
    文章目录 1.简介2.选项3.子命令4.小结参考文献 1.简介 mysql 是 MySQL 的命令行客户端,用于连接到 MySQL 服务器并执行 SQL 语句。 它支持交互式和非交互式两种...
    99+
    2023-09-04
    mysql
  • MySQL登录命令
    (本文为在别人的基础上进行总结的笔记,用于日后查阅、复习) (参考文章:登录mysql数据库的几种方式) 常用登录命令:mysql -h localhost -P 3306 -u root -proot 解析: 1. mysql 关键字、固...
    99+
    2023-09-01
    mysql 数据库 服务器
  • MySql最全命令!!!
    1.安装mysql服务端 1.1MySql服务端软件安装 在Ubuntu中打开终端,输入下面的命令: sudo apt-get install mysql-server 查看MySQL服务状态: sudo service mysql sta...
    99+
    2023-12-23
    mysql 数据库 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作