<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
當表中的資料量不是很大的時候可以直接使用alter命令新增新列,5.6及其之前的版本會將表鎖住。
1、將原表鎖住,不能進行更新、插入、刪除等修改操作
2、建立了一個臨時表,新增想要的欄位
3、將原表中的資料複製到臨時表中
4、將臨時表改名,並刪除原表
在5.6之後的版本mysql資料庫做了很多優化,像onlineDDL在執行alter時可以指定algorithm和lock欄位,用於選擇ddl修改表結構時的演演算法和是否對原表加鎖,algorithm為inplace表示新增欄位時不再建立臨時表,直接在原表上新增欄位,避免重建錶帶來的IO和cpu消耗;lock = none表示進行ddl時不再鎖表,允許進行表資料的修改及存取
ALTER TABLE tbl_name ADD PRIMARY KEY (column), ALGORITHM=INPLACE, LOCK=NONE;
當然如果它的資料量特別巨大,且存取很頻繁的話,新增列的速度還是很慢,可以考慮選取一個存取量沒那麼大的時間段,先在從庫新增這一列,成功之後,進行主從切換,然後在原master節點和其餘從節點表中新增該欄位;
還可以使用pt_ocs工具,它會建立一個臨時表(當然臨時表結構是按照需要修改完全後的),然後將原表的資料copy到臨時表,並且會有一個觸發器,用於記錄並同步在copy過程中原表的資料變化,在資料同步完之後會短暫的鎖表執行觸發器,將臨時表rename並刪除原表。
MT用的是線上DDL工具gh-ost
臨時表從主庫拉取資料的速度由chunk-size引數控制,預設每次1000條 每秒複製30次 寫QPS 3W(若從庫臨時表根據binlog同步資料寫入速度沒跟上,當執行rename命令,完成表替換後,有可能會產生主從延遲 )
create table testalter_tbl ( i INT, c CHAR(1) );
alter table testalter_tbl drop i
注意:如果資料表中只剩餘一個欄位則無法使用DROP來刪除欄位。
使用 ADD 子句來向資料表中新增列,如下範例在表 testalter_tbl 中新增 i 欄位,並定義資料型別:
ALTER TABLE testalter_tbl ADD i INT;
注意:執行以上命令後,i 欄位會自動新增到資料表欄位的末尾。
也可以指定新增欄位的位置,通過使用使用MySQL提供的關鍵字 FIRST (設定位第一列), AFTER 欄位名(設定位於某個欄位之後)。
ALTER TABLE testalter_tbl DROP i;#刪除i這一列 ALTER TABLE testalter_tbl ADD i INT FIRST;#把i這一列新增到第一列 ALTER TABLE testalter_tbl DROP i;#刪除i這一列 ALTER TABLE testalter_tbl ADD i INT AFTER c;#把i這一列新增到c之後
注意:FIRST 和 AFTER 關鍵字可用於 ADD 與 MODIFY 子句,所以如果你想重置資料表欄位的位置就需要先使用 DROP 刪除欄位然後使用 ADD 來新增欄位並設定位置。
如果需要修改欄位型別及名稱, 你可以在ALTER命令中使用 MODIFY 或 CHANGE 子句 。
ALTER TABLE testalter_tbl MODIFY c CHAR(10);
ALTER TABLE testalter_tbl CHANGE i j BIGINT;#可以通過change改變欄位名和欄位型別
當你修改欄位時,你可以指定是否包含值或者是否設定預設值。
ALTER TABLE testalter_tbl MODIFY j BIGINT NOT NULL DEFAULT 100;
注意:如果你不設定預設值,MySQL會自動設定該欄位預設為 NULL。
ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;
ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;
ALTER TABLE testalter_tbl RENAME TO alter_tbl;
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45