MySQL ADD COLUMN 给表增加列 指定位置 AFTER FIRST

本文介绍了在MySQL中如何使用ALTER TABLE语句来为表添加列,并指定位序。详细讲解了FIRST和AFTER关键字的用法,分别用于将新列设置为表的第一列或插入到指定列之后。通过示例展示了如何在已有表test中添加新列的操作。
摘要由CSDN通过智能技术生成

前言

ALTER TABLE test ADD COLUMN id INT UNSIGNED NOT NULL auto_increment PRIMARY KEY FIRST

给表添加列是一个常用的操作,MySQL 增加列的时候可以指定此列的位置

语法

给指定位置加列需要两个关键字:
FIRST 和 AFTER

FIRST 表示增加此列为第一个列

AFTER 表示增加在某个列之后

注意 MySQL 增加列指定位置时没有 BEFORE 的用法,第一列可以使用 FIRST, 非第一列使用 AFTER。

语法示例:

ALTER TABLE table_name ADD [COLUMN] col_name column_definition [ FIRST | AFTER col_name] 实例: DROP TABLE IF EXISTS test;CREATE TABLE test (a int(11) NOT NULL,b varchar(200) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;

在 test 表 a 列后面增加一列 c:

ALTER TABLE test ADD COLUMN c INT NOT NULL AFTER a

在 test 表的第一列增加字段 id:

ALTER TABLE test ADD COLUMN id INT UNSIGNED NOT NULL auto_increment PRIMARY KEY FIRST
MySQL中,可以使用ALTER TABLE语句来在表上增加字段。下面是两种在MySQL表上增加字段的方法: 1. 使用ALTER TABLE语句直接添加字段: ```sql ALTER TABLE 表名 ADD 名 数据类型 [属性] [FIRST|AFTER 已存在的名]; ``` 例如,要在名为tbl_tpl的表上添加一个名为title的字段,类型为VARCHAR(255),默认值为空字符串,注释为'标题',可以使用以下语句: ```sql ALTER TABLE tbl_tpl ADD title VARCHAR(255) DEFAULT '' COMMENT '标题' AFTER id;``` 2. 使用存储过程来实现动态添加字段: ```sql DELIMITER // CREATE PROCEDURE add_column_if_not_exists(IN table_name VARCHAR(255), IN column_name VARCHAR(255), IN column_type VARCHAR(255), IN default_value VARCHAR(255), IN column_comment VARCHAR(255)) BEGIN IF NOT EXISTS ( SELECT * FROM information_schema.columns WHERE table_schema = DATABASE() AND table_name = table_name AND column_name = column_name ) THEN SET @sql = CONCAT('ALTER TABLE ', table_name, ' ADD COLUMN ', column_name, ' ', column_type, ' DEFAULT ', default_value, ' COMMENT ', QUOTE(column_comment)); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; END IF; END // DELIMITER ; ``` 然后,可以通过调用存储过程来添加字段。例如,要在名为tbl_tpl的表上添加一个名为title的字段,类型为VARCHAR(255),默认值为空字符串,注释为'标题',可以使用以下语句: ```sql CALL add_column_if_not_exists('tbl_tpl', 'title', 'VARCHAR(255)', "''", '标题'); ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值