1. 程式人生 > >Mysql 批量修改表結構

Mysql 批量修改表結構

     今天有個小需求,需要把100張表的引擎,從InnoDB改為MYISAM。想到要手工執行,簡直頭大,還好有儲存過程。可以利用儲存過程來批量處理。

-- 定義儲存過程
DELIMITER //
CREATE PROCEDURE alter_table_enegine()
BEGIN
DECLARE `@i` INT(11);
DECLARE `@sqlstr` VARCHAR(2560);
SET `@i`=0;
WHILE `@i` < 100 DO
SET @sqlstr = CONCAT(
"ALTER TABLE pt_course_",
`@i`,
" ENGINE=MYISAM"
);
PREPARE stmt FROM @sqlstr;
EXECUTE stmt;
SET `@i` = `@i` + 1;
END WHILE;
END;
-- 執行儲存過程
CALL alter_table_enegine();
-- 執行完,刪掉臨時用的儲存過程
DROP PROCEDURE alter_table_enegine;

      中間那部分,也可以改為建表語句,那麼就會變成批量生成表的了:)

相關推薦

Mysql 批量修改結構

     今天有個小需求,需要把100張表的引擎,從InnoDB改為MYISAM。想到要手工執行,簡直頭大,還好有儲存過程。可以利用儲存過程來批量處理。 -- 定義儲存過程 DELIMITER //

mysql 批量修改中欄位資料成不同的值 用一個更新另一個的方法

首先mysql更新資料的某個欄位,一般這樣寫: UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value'; 也可以這樣用in指定要更新的記錄: UPDATE mytable SET myfield = 'value

mysql 批量修改的屬性,字符集

正常修改語句: alter table 表 convert to character set utf8mb4 collate utf8mb4_bin; 獲取所有修改表的語句: select CONCAT('alter table ',a.table_name,'

[linux][mysql] 命令更改結構:添加、刪除、修改字段、調整字段順序

.com col inf size type unsigned rim alter name 原文出處:http://www.phpernote.com/MySQL/1120.html 1 常用的通過mysql命令來更改表結構的一些sql語句,包括添加、刪除、修改字

mysql筆記--數據庫基本增刪改查 修改結構

mysql 增刪改查 修改表結構數據庫基本增刪改查 1、 增—添加/插入數據,insert into插入哪張表,那些列,什麽值,語句:insert into 表名(列1,列2,列3)values (值1,值2,值3);可以不按原列的順序插入,也可以插入部分列,但是值與列要一一對應,不能混亂!!!一次插入多行數

程序媛計劃——mysql修改結構

normal desc def 查看 score div alua int dup #查看表的結構 mysql> desc score; +------------+--------------+------+-----+---------+------------

mysql名等大小寫敏感問題、字段類型timestamp、批量修改名、oracle查詢歷史操作記錄等

table 時間 lar 內容 sele values 當前日期 load 兩個 mysql表名等大小寫敏感問題:http://blog.csdn.net/postnull/article/details/72455768; 1 MySQL在Linux下數據庫名、表名、

MySQL修改結構

engine win into 不成功 被占用 ima roo 雲上 add 分區表? 環境說明:公司生產庫中,有一張大表,占用了很大一部分空間,大小約240G左右,現在的策略是,每隔一段時間刪除一些表中的數據,但是由於mysql innoDB引擎的優化機制,刪除數據後還

mysql修改結構語句

modify cat div name 註釋 comment script drop 語句 一: 修改表信息 1.修改表名 alter table test_a rename to sys_app; 2.修改表註釋 alter table sys_a

mysql 修改結構

use 默認值 new ear not varchar data 重命名 int 增加列: # 增加列:tag(筆記)、sort_num alter table e_user add tag varchar(50) not null default "筆記" com

9)-MySQL修改結構

屬性設置 多個 新的 不想 after 業務 我們 自動增加 完成 MySQL ALTER TABLE語句簡介 可以使用alter table語句來更改現有表的結構。 alter table語句可用來添加列,刪除列,更改列的數據類型,添加主鍵,重命名表等等。 以下說明了a

MySQL修改結構操作命令總結

在我們使用mysql的時候,有時會遇到須要更改或者刪除mysql的主鍵,我們能夠簡單的使用alter table table_name drop primary key;來完成。以下我使用資料表table_test來作了樣例。1、首先建立一個數據表table_test:create table table

mysql修改結構和欄位方法總結

我一貫追求的是:在人的肉體與幻想允許的範圍內,獲得最大限度的真誠和信任,以及對所有的一切儘可能長久的保證。《鏡中微瑕》 1、引言 在開發時有時候為了前期資料庫設計不合理或者名稱寫的有問題,需要修改名

常用 MySQL 修改結構命令

一、欄位 1、新增欄位: alter table `product` add `inventory` int(11) NOT NULL COMMENT '庫存' 新增多個欄位:加括號,逗號分隔 alter table `category` add

mysql資料庫批量修改的欄位值根據關聯資料修改

主要場景應用於A表的欄位cust_id是B表裡面的主鍵ID,根據已經A表中存有的cust_code值做關聯通步B表的cust_id儲存到A表中cust_id中,使用主鍵索引查詢提高查詢效率 UPDATE crm_cust_message_detail d SET d.cus

MySql 修改結構時 ALTER,MODIFY,CHANGE的區別

根據MySql文件,我們知道在修改表內某一列的屬性的時候,MySql支援3中語法結構: ALTER [ONLINE|OFFLIN

mysql導入數據庫_僅僅用frm向mysql導入結構

結構 文件內容 spl sso 索引 -a 錯誤 water sof 網上一個連接mysql的jsp代碼段,給了數據庫的備份文件。可是僅僅有frm,mysql的每張表有三個文件。各自是,*.frm是描寫敘述了表的結構。*.MYD保存了表的數據記錄。*.MYI則是表的索引,

MySQL 查看結構簡單命令

flush 生成 直接插入 info 表結構 not 簡單 with utf 一、簡單描述表結構,字段類型 desc tabl_name; 顯示表結構,字段類型,主鍵,是否為空等屬性,但不顯示外鍵。 例如:desc table_name 二、查詢表中列的註釋信息 sele

mysql 復制結構 / 從結果中導入數據到新

ica 數據 cal null type records ted fault set 這只會復制結構: mysql> create table a like mysql1; Query OK, 0 rows affected (0.03 sec) mysql>