国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

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

2024-07-24 12:45:28
字體:
來源:轉載
供稿:網友

一、基本用法

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:

alter table tbl_name modify col_name type

例如,改變weight的類型

mysql>alter table pet modify weight varchar(30);

改變列的屬性——方法2:

alter table tbl_name change old_col_name col_name type

例如,改變weight的類型

alter table pet change weight weight varchar(30);

改變列的名字:

alter table tbl_name change old_col_name col_name

例如改變pet表中weight的名字:

mysql>alter table pet change weight wei;

4. 改變表的名字

alter table tbl_name rename new_tbl

例如, 把pet表更名為animal

mysql>alter table pet rename animal;

二、對ALTER TABLE的優化
在系統的日常維護中,經常需要對表結構進行更新,例如添加/刪除一個字段,改變一個VARCHAR的字段長度等等。MySQL針對這種修改表結構的處理方式是先創建一張新的結構的表,接著會通過執行Insert語句將舊表的內容插入到新表中,最后刪除整張舊表。這種處理方式在數據量比較小的時候,不會有什么問題,可是當數據量很大的時候可能需要很多時間來處理該過程。
 
執行一個更新表結構的操作花費了幾個小時的時間,這是無法忍受的。如果你用的是5.1之前的版本的話,還會在執行表結構更新是數據庫往往是停止服務的,幸好在最新的版本中這個問題得到了改善
 
如果在進行表結構更新的時候你采用了恰當的方法,也并不是所有的更新操作會占用你很久的時間。
例如 你想更新用戶表的默認密碼為“666666”,通常采用的做法是

mysql> ALTER TABLE user -> MODIFY COLUMN pwd VARCHAR NOT NULL DEFAULT ‘666666';

 
通過SHOW STATUS你可以發現在執行這個操作的過程中進行了大量的Insert操作,當用戶的數量很大時 例如百萬,千萬條的數據時,必然會消耗很多的時間。
 
可是如果你采用下邊的方式來更新的話,時間會大大的縮短

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湖南省| 博白县| 喀喇沁旗| 清原| 梅河口市| 武宁县| 无为县| 巴彦淖尔市| 比如县| 无锡市| 兴国县| 台南县| 灵山县| 神池县| 深水埗区| 临西县| 博野县| 九龙坡区| 比如县| 济源市| 额敏县| 阜平县| 怀宁县| 涿州市| 衡山县| 盐池县| 藁城市| 申扎县| 夏河县| 望江县| 抚远县| 土默特右旗| 勃利县| 崇礼县| 萨嘎县| 秀山| 漳州市| 太湖县| 太和县| 秀山| 元阳县|