概述
34.笔记 MySQL学习——更改表结构
ALTER TABLE是一条万能型的语句,拥有许多用途。
在使用ALTER TABLE之前,如果需要查看表的当前定义,可以执行SHOW CREATE TABLE语句。
1. 更改列的数据类型
如果要更改某列的数据类型,可以使用CHANGE子句或MODIFY字间距。
例如:
ALTER TABLE mytbl MODIFY i MEDIUMINTUNSIGNED;
ALTER TABLE mytbl CHANGE i i MEDIUMINTUNSIGNED;
CHANGE写两个列名,因为可以把列名重命名。
mysql> show create table mytbl;
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
| mytbl | CREATE TABLE `mytbl` (
`i` int(11) NOT NULL,
`j`char(10) NOT NULL,
PRIMARY KEY (`i`),
UNIQUE KEY `j` (`j`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> alter table mytbl change i k mediumintunsigned;
Query OK, 0 rows affected (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> show create table mytbl;
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| mytbl | CREATE TABLE `mytbl` (
`k` mediumint(8) unsigned NOT NULL,
`j`char(10) NOT NULL,
PRIMARY KEY (`k`),
UNIQUE KEY `j` (`j`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
2. 更改表的存储引擎
使用ENGINE子句来指定一个新的存储引擎名字
ALTER TABLE tbl_name ENGINE = InnoDB;
mysql> alter table mytbl ENGINE = InnoDB;
Query OK, 0 rows affected (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 0
3. 重新命名表
使用RENAME子句可以为表指定一个新的名字
语法如下:
ALTER TABLE tbl_name RENAME TOnew_tbl_name;
也可以使用RENAME TABLE语句,语法如下:
RENAME TABLE tbl_name TO new_tbl_name;
使用RENAME可以对多个表进行重新命名。
最后
以上就是爱笑自行车为你收集整理的34.笔记 MySQL学习——更改表结构1. 更改列的数据类型2. 更改表的存储引擎3. 重新命名表的全部内容,希望文章能够帮你解决34.笔记 MySQL学习——更改表结构1. 更改列的数据类型2. 更改表的存储引擎3. 重新命名表所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复