Mysql修改字段名和修改字段類型的實例代碼
1、修改字段類型、字段名、字段注釋、類型長度、字段默認值
mysql修改字段類型: --能修改字段類型、類型長度、默認值、注釋 --對某字段進行修改 ALTER TABLE 表名 MODIFY [COLUMN] 字段名 新數(shù)據(jù)類型 新類型長度 新默認值 新注釋; -- COLUMN關(guān)鍵字可以省略不寫 alter table table1 modify column column1 decimal(10,1) DEFAULT NULL COMMENT '注釋'; -- 正常,能修改字段類型、類型長度、默認值、注釋 alter table table1 modify column1 decimal(10,2) DEFAULT NULL COMMENT '注釋'; -- 正常,能修改字段類型、類型長度、默認值、注釋 mysql修改字段名: ALTER TABLE 表名 CHANGE [column] 舊字段名 新字段名 新數(shù)據(jù)類型; alter table table1 change column1 column1 varchar(100) DEFAULT 1.2 COMMENT '注釋'; -- 正常,此時字段名稱沒有改變,能修改字段類型、類型長度、默認值、注釋 alter table table1 change column1 column2 decimal(10,1) DEFAULT NULL COMMENT '注釋' -- 正常,能修改字段名、字段類型、類型長度、默認值、注釋 alter table table1 change column2 column1 decimal(10,1) DEFAULT NULL COMMENT '注釋' -- 正常,能修改字段名、字段類型、類型長度、默認值、注釋 alter table table1 change column1 column2; -- 報錯 mysql> alter table white_user change column name nick_name varchar(50) null comment '昵稱'; -- 正確 Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0
2、修改表名
ALTER TABLE 舊表名 RENAME TO 新表名 ; mysql> show tables ; +-------------------+ | Tables_in_db_test | +-------------------+ | white_user | +-------------------+ 1 row in set (0.00 sec) mysql> alter table white_user rename to white_user_new ; Query OK, 0 rows affected (0.00 sec) mysql> show tables ; +-------------------+ | Tables_in_db_test | +-------------------+ | white_user_new | +-------------------+ 1 row in set (0.00 sec)
3、修改表的注釋
ALTER TABLE 表名 COMMENT '新注釋' mysql> alter table white_user_new comment '新表-白名單表' ; Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> show create table white_user_new ; CREATE TABLE `white_user_new` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `name` varchar(50) NOT NULL COMMENT '姓名', `created_time` datetime DEFAULT NULL COMMENT '創(chuàng)建時間', `updated_time` datetime DEFAULT NULL COMMENT '更新時間', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='新表-白名單表'
4、在指定位置插入新字段
ALTER TABLE 表名 ADD [COLUMN] 字段名 字段類型 是否可為空 COMMENT '注釋' AFTER 指定某字段 ; --COLUMN關(guān)鍵字可以省略不寫 mysql> alter table white_user_new add column erp varchar(50) not null comment 'erp賬號' after name ; Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0 --在name字段后面添加erp字段 mysql> show create table white_user_new ; CREATE TABLE `white_user_new` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `name` varchar(50) NOT NULL COMMENT '姓名', `erp` varchar(50) NOT NULL COMMENT 'erp賬號', `created_time` datetime DEFAULT NULL COMMENT '創(chuàng)建時間', `updated_time` datetime DEFAULT NULL COMMENT '更新時間', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='新表-白名單表' mysql> alter table white_user_new add position varchar(50) not null comment '崗位' after name ; Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0 --在name字段后面添加position字段。 mysql> show create table white_user_new ; CREATE TABLE `white_user_new` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `name` varchar(50) NOT NULL COMMENT '姓名', `position` varchar(50) NOT NULL COMMENT '崗位', `erp` varchar(50) NOT NULL COMMENT 'erp賬號', `created_time` datetime DEFAULT NULL COMMENT '創(chuàng)建時間', `updated_time` datetime DEFAULT NULL COMMENT '更新時間', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='新表-白名單表' mysql> alter table white_user_new add mobile varchar(50) not null comment '手機號碼' before position ; --報錯,在position字段前添加mobile字段,不能使用before關(guān)鍵字
5、刪除字段
ALTER TABLE 表名 DROP [COLUMN] 字段名 ; --COLUMN關(guān)鍵字可以省略不寫 mysql> alter table white_user_new drop column position ; Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table white_user_new drop erp ; Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> show create table white_user_new ; CREATE TABLE `white_user_new` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `name` varchar(50) NOT NULL COMMENT '姓名', `created_time` datetime DEFAULT NULL COMMENT '創(chuàng)建時間', `updated_time` datetime DEFAULT NULL COMMENT '更新時間', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='新表-白名單表'
總結(jié)
到此這篇關(guān)于Mysql修改字段名和修改字段類型的文章就介紹到這了,更多相關(guān)Mysql修改字段名和字段類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mysql計算字段長度函數(shù)之LENGTH函數(shù)
MySQL length是指在MySQL數(shù)據(jù)庫中,用于獲取字符串或二進制數(shù)據(jù)類型的長度,下面這篇文章主要給大家介紹了關(guān)于Mysql計算字段長度函數(shù)之LENGTH函數(shù)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-05-05在MySQL中使用mysqlbinlog flashback的簡單教程
這篇文章主要介紹了在MySQL中使用mysqlbinlog flashback的簡單教程,可以很方便地恢復(fù)數(shù)據(jù),作者還列出了使用時一些需要注意的地方,需要的朋友可以參考下2015-05-05MySQL的時間差函數(shù)TIMESTAMPDIFF、DATEDIFF的用法
這篇文章主要介紹了MySQL的時間差函數(shù)TIMESTAMPDIFF、DATEDIFF的用法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12SQL使用復(fù)合索引實現(xiàn)數(shù)據(jù)庫查詢的優(yōu)化
這篇文章主要介紹了SQL使用復(fù)合索引實現(xiàn)數(shù)據(jù)庫查詢的優(yōu)化,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-05-05