mysql alter table 修改表命令详细介绍

MySQL ALTER语法如下:

ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...]
alter_specification:
ADD [COLUMN] create_definition [FIRST | AFTER column_name ]
or ADD INDEX [index_name] (index_col_name,...)
or ADD PRIMARY KEY (index_col_name,...)
or ADD UNIQUE [index_name] (index_col_name,...)
or ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
or CHANGE [COLUMN] old_col_name create_definition
or MODIFY [COLUMN] create_definition
or DROP [COLUMN] col_name
or DROP PRIMARY KEY
or DROP INDEX index_name
or RENAME [AS] new_tbl_name
or table_options

下面来看几个实例:

1、向表employee中添加Account_Number字段并设置其字段类型为INT

ALTER TABLE employee ADD COLUMN Account_Number INT

2、修改表employee中的ID字段为索引

ALTER TABLE employee ADD INDEX (ID)

3、修改表employee中的ID字段为主键PRIMARY KEY

ALTER TABLE employee ADD PRIMARY KEY (ID)

4、修改表employee中的ID字段为唯一索引UNIQUE

ALTER TABLE employee ADD UNIQUE (ID)

5、将employee表中的id字段重命名为salary并设置其数据类型为int

ALTER TABLE employee CHANGE ID salary INT

6、删除employee表中的Customer_ID字段

ALTER TABLE employee DROP Customer_ID

7、删除employee表中所有主键

ALTER TABLE employee DROP PRIMARY KEY

8、删除employee表中字段Customer_ID的索引,只是将Customer_ID的索引取消,不会删除Customer_ID字段。

ALTER TABLE employee DROP INDEX Customer_ID

9、修改employee表中First_Name的字段类型为varchar(100)

ALTER TABLE employee MODIFY First_Name varchar(100)

10、将表employee重命名为Customer

ALTER TABLE employee RENAME Customer

11、多命令写在一起:

mysql> ALTER TABLE Books
  -> ADD PRIMARY KEY (BookID),
  -> ADD CONSTRAINT fk_1 FOREIGN KEY (PubID) REFERENCES Publishers (PubID),
  -> ADD COLUMN Format ENUM('paperback', 'hardcover') NOT NULL AFTER BookName;

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • 详解MySQL中ALTER命令的使用

    MySQL的ALTER命令是非常有用的,当想改变表的名称,表的字段,或者如果要添加或删除一个现有的表中的列. 让我们开始创建一个表名为testalter_tbl的用例: root@host# mysql -u root -p password; Enter password:******* mysql> use TUTORIALS; Database changed mysql> create table testalter_tbl -> ( -> i INT, -> c C

  • MySQL中的alter table命令的基本使用方法及提速优化

    一.基本用法 1. 增加列 alter table tbl_name add col_name type 例如,  给pet的表增加一列 weight, mysql>alter table pet add weight int; 2. 删除列 alter table tbl_name drop col_name 例如, 删除pet表中的weight这一列 mysql>alter table pet drop weight; 3. 改变列 分为改变列的属性和改变列的名字 改变列的属性--方法1:

  • mysql alter table命令修改表结构实例详解

    mysql alter table语句可以修改表的基本结构,例如添加字段.删除字段.添加主键.添加索引.修改字段数据类型.对表重命名等等操作,本文章通过两个简单的实例向大家介绍mysql alter table的使用方法.  实例一:使用ALTER TABLE命令向表中添加字段.修改字段类型以及设置主键. 首先创建一个表,SQL语句如下: mysql> CREATE TABLE myTable( -> ID SMALLINT -> ); 使用desc命令查看表结构: mysql>

  • mysql alter table命令修改表结构实例

    mysql实例之使用alter table命令修改表结构 mysql alter table语句可以修改表的基本结构,例如添加字段.删除字段.添加主键.添加索引.修改字段数据类型.对表重命名等等操作,本文章通过两个简单的实例向大家介绍mysql alter table的使用方法  实例一:使用ALTER TABLE命令向表中添加字段.修改字段类型以及设置主键. 首先创建一个表,SQL语句如下: mysql> CREATE TABLE myTable( -> ID SMALLINT ->

  • MySQL学习笔记5:修改表(alter table)

    我们在创建表的过程中难免会考虑不周,因此后期会修改表修改表需要用到alter table语句 修改表名 复制代码 代码如下: mysql> alter table student rename person; Query OK, 0 rows affected (0.03 sec) 这里的student是原名,person是修改过后的名字 用rename来重命名,也可以使用rename to 修改字段的数据类型 复制代码 代码如下: mysql> alter table person modi

  • MySQL ALTER语法的运用方法

    以下的文章主要介绍的是MySQL ALTER语法的实际运用,我们大家都知道MySQL ALTER语法在实际应用中的比例还是很大的,所以了解一下MySQL ALTER语法的实际运用可以很好的选择. MySQL ALTER语法中ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...] 复制代码 代码如下: alter_specification: ADD [COLUMN] create_definition [FIRST | AFTER

  • mysql alter table 修改表命令详细介绍

    MySQL ALTER语法如下: ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...] alter_specification: ADD [COLUMN] create_definition [FIRST | AFTER column_name ] or ADD INDEX [index_name] (index_col_name,...) or ADD PRIMARY KEY (index_col_name,...) or AD

  • mysql alter table修改表命令整理

    MYSQL ALTER TABLE命令用于修改表结构,例如添加/修改/删除字段.索引.主键等等,本文章通过实例向大家介绍MYSQL ALTER TABLE语句的使用方法, MySQL ALTER语法如下: ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...] alter_specification: ADD [COLUMN] create_definition [FIRST | AFTER column_name ] or ADD

  • Mysql ALTER TABLE加字段的时候到底锁不锁表

    目录 Mysql5.6版本之前 Mysql5.6版本之后 总结 注意 Mysql5.6版本之前 更新步骤 对原始表加写锁 按照原始表和执行语句的定义,重新定义一个空的临时表. 对临时表进行添加索引(如果有). 再将原始表中的数据逐条Copy到临时表中. 当原始表中的所有记录都被Copy临时表后,将原始表进行删除.再将临时表命名为原始表表名. 这样的话整个DDL过程的就是全程锁表的. Mysql5.6版本之后 更新步骤 对原始表加写锁 按照原始表和执行语句的定义,重新定义一个空的临时表.并申请ro

  • MySQL如何快速修改表的表结构

    快速修改MySQL某张表的表结构--摘录自<MySQL管理之道> ALTER TABLE 表名 MODIFY 列名 数据类型; 这个命令可以修改表结构 此外,也可以如下方法修改表结构: 先创建一张表,如下: > create table t1 (id int, name varchar(5), rmb decimal(9,1)); 如果要修改name列为varchar(10)的,可以这样操作: alter table t1 modify name varchar(7); 也可以如下操作:

  • MySQL笔记之修改表的实现方法

    我们在创建表的过程中难免会考虑不周,因此后期会修改表 修改表需要用到alter table语句 修改表名 复制代码 代码如下: mysql> alter table student rename person;Query OK, 0 rows affected (0.03 sec) 这里的student是原名,person是修改过后的名字 用rename来重命名,也可以使用rename to 还有一种方法是rename table old_name to new_name 修改字段的数据类型 复

  • MySQL索引优化之分页探索详细介绍

    目录 ​​MySQL​​索引优化之分页探索 案例一 案例二 ​​MySQL​​索引优化之分页探索 表结构 CREATE TABLE `demo` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '姓名', `age` int(11) NOT NULL DEFAULT '0'

  • Linux系统下netstat命令详细介绍

    目录 一.介绍 二.输出信息描述 三.netstat常见参数 四.netstat网络状态详解 Linux的相关keepalive参数 五.常用netstat相关命令 一.介绍 Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表.实际的网络连接以及每一个网络接口设备的状态信息. Netstat用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况. 二.输出信息描述 执行netstat后输出如下: [root@sy-s

  • Centos 7之Firewalld相关命令详细介绍

    Centos 7之Firewalld相关命令详细介绍 引言:Centos 7是目前非常流行的Linux发行版本,本文将重点介绍如何来使用firewalld相关命令启动服务以及添加服务或者端口等操作. 1.  查看firewall服务状态 >>  systemctl status firewalld [root@flybird ~]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall dae

随机推荐