跳到主要内容

三十一、MySQL ALTER 命令

MySQL ALTER 命令可以用来修改数据表名或者修改数据表字段

测试数据

先运行下面的 SQL 语句准备测试数据

> 你可以有选择性的删除某些语句,我这是重新构建数据库和表

DROP DATABASE IF EXISTS souyunku;
CREATE DATABASE souyunku default character set utf8mb4 collate utf8mb4_unicode_ci;
USE souyunku;
DROP TABLE IF EXISTS tbl_language;
CREATE TABLE IF NOT EXISTS tbl_language(
id INT UNSIGNED AUTO_INCREMENT,
name VARCHAR(64) NOT NULL,
url VARCHAR(128) NOT NULL,
founded_at DATE,
PRIMARY KEY ( id )
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO tbl_language VALUES
(1,'Python','https://pottercoding.cn','1991-2-20'),
(2,'PHP','http://www.php.net','1994-1-1'),
(3,'Ruby','https://www.ruby-lang.org/','1996-12-25'),
(4,'Kotlin','http://kotlinlang.org/','2016-02-17');

删除表字段

ALTER TABLE tablename DROP fieldname 命令可以用来删除表中的某个字段

如果表中只剩余一个字段,那么无法使用 DROP 来删除字段

比如下面的 SQL 语句可以删除 tbl_language 表中的 founded_at 字段

ALTER TABLE tbl_language  DROP founded_at;

我们先用 DESC tbl_language; 命令看看 tbl_language 有哪些字段