mysql批量增加表中新列預存程序,mysql中新
一般訪問量比較大的網站,請求日誌表都是每天一張表獨立建立. 業務需要為每張表都添加一個新列,糾結了半天,寫了個預存程序如下:
日誌表結構類型 tbl_ads_req_20140801, tbl_ads_req_20140802 ...
DELIMITER //create procedure sp2()begindeclare sTime varchar(32);declare eTime varchar(32);declare sName varchar(128);declare lName varchar(128);declare sqlVar varchar(128);declare rest int;set sTime = '20140801';set eTime = '20140831';set sName = CONCAT('tbl_ads_req_','');set lName = '';set rest = 1;while rest > 0 do set sTime = (select DATE_FORMAT((select ADDDATE(sTime,1)),'%Y%m%d')); set lName = CONCAT(sName,sTime); set sqlVar=CONCAT(' alter table ',lName,' add app_package varchar(64)'); set @v_s=sqlVar; prepare stmt from @v_s; EXECUTE stmt; set rest = DATEDIFF(eTime,sTime);END while;end;// DELIMITER;
涉及到一些mysql函數需要自己查哦!
mysql 怎批量更改一列資料
問題是你要改成的資料有什麼規律嗎?
就像你寫的,1,2,3,4,……,25,26.如果有規律,那就好辦。
可以用預存程序迴圈批量處理。
mysql 批量插入
存為.sql指令碼
然後開啟mysql的命令列,
轉到(cd)放這個指令碼的目錄下
輸入:\. 這個sql的完全路徑(包括這個sql檔案名稱,注意路徑要用“\\”隔開)
斷行符號
即可大量匯入。