欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql之如何給大表加字段

 更新時(shí)間:2023年06月17日 10:27:59   作者:shmily&&ylimhs  
這篇文章主要介紹了mysql之如何給大表加字段問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mysql給大表加字段

方法1.

直接添加字段(在數(shù)據(jù)量比較小的情況下操作,可能會(huì)造成表死鎖)

ALTER TABLE 表名 ADD 字段名 字段屬性 DEFAULT '有默認(rèn)值或者允許為null' COMMENT '字段解釋' ;

方法適合十幾萬的數(shù)據(jù)量,可以直接進(jìn)行加字段操作,但是,線上的一張表如果數(shù)據(jù)量很大,執(zhí)行加字段操作就會(huì)鎖表,這個(gè)過程可能需要很長(zhǎng)時(shí)間甚至導(dǎo)致服務(wù)崩潰(俗稱表鎖),那么這樣操作就有風(fēng)險(xiǎn)。

如果服務(wù)崩潰時(shí),可通過show PROCESSLIST找到對(duì)應(yīng)info列(之前執(zhí)行的SQL語句)以及state列為locked的id值,然后kill id對(duì)應(yīng)的值就可以了

方法2.

創(chuàng)建一張臨時(shí)的新表

3. ① 創(chuàng)建一個(gè)臨時(shí)的新表,首先復(fù)制舊表的結(jié)構(gòu)(包含索引);

create table 臨時(shí)表 like 舊表;

② 給新表加上新增的字段

alter table student_log1 add zyp int(11) null DEFAULT 0

注:新增字段要么有為空,要么有默認(rèn),否則后續(xù)復(fù)制表報(bào)錯(cuò)

③ 復(fù)制舊表數(shù)據(jù)到新表,注意此時(shí)新表是空表,加字段很快;

INSERT INTO student_log1 ( id, NAME, sno, ip, url, operation, excute_time ) SELECT
id,
NAME,
sno,
ip,
url,
operation,
excute_time?
FROM
?? ?student_log

注:復(fù)制表數(shù)據(jù)最好在業(yè)務(wù)低峰期操作,避免數(shù)據(jù)丟失

④ 刪除舊表(可以先把舊表重命名,不建議立即刪除,方便后續(xù)的數(shù)據(jù)恢復(fù),如果確保復(fù)制表數(shù)據(jù)成功,可以刪除舊表),重命名新表的名字為舊表的名字

alter table student_log1 rename to student_log;

mysql給表和字段添加注釋

在MySQL中,給表和字段添加注釋使用COMMENT關(guān)鍵字。

1、添加表和字段的注釋

創(chuàng)建數(shù)據(jù)表的同時(shí),給表和字段添加注釋。

-- 創(chuàng)建用戶信息表
CREATE TABLE tb_user
(
?? ?id INT AUTO_INCREMENT PRIMARY KEY COMMENT '編號(hào)',
?? ?name VARCHAR(30) COMMENT '姓名'
)COMMENT = '用戶信息表';

2、修改表注釋

ALTER TABLE tb_user COMMENT '用戶信息表2';

3、修改字段注釋

修改字段備注,其實(shí)就是修改字段的定義。

ALTER TABLE tb_user MODIFY COLUMN name VARCHAR(30) NOT NULL COMMENT '姓名2';

**注意:**修改時(shí)要把該字段的完整定義寫上,如字段類型、屬性等。

千萬不要因?yàn)橹皇菫榱诵薷囊粋€(gè)注釋,而把該字段定義的其它屬性給覆蓋掉了。

4、查詢字段信息

SHOW FULL COLUMNS FROM tb_user;

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論