#upname.sql 指令碼:
delimiter //
drop procedure if exists uppercase //
create procedure uppercase(in dbname varchar(200))
begin
declare done int default 0;
declare oldname varchar(200);
declare cur cursor for select table_name from information_schema.tables where table_schema = dbname;
declare continue handler for not found set done = 1;
open cur;
repeat
fetch cur into oldname;
set @newname = upper(oldname);
#if newname equals to oldname, do nothing;
#select 'a' <> 'a'; -> 0
#select 'a' <> binary 'a'; -> 1
set @isnotsame = @newname <> binary oldname;
if not done && @isnotsame then
set @sql = concat('rename table ',oldname,' to ',@newname);
prepare tmpstmt from @sql;
execute tmpstmt;
deallocate prepare tmpstmt;
end if;
until done end repeat;
close cur;
end //
delimiter ;
#呼叫儲存過程
#call uppercase('資料庫名');
#使用方法:
#mysql> source d:/sybase/mysql/upname.sql;
#query ok, 0 rows affected (0.00 sec)
#query ok, 0 rows affected (0.03 sec)
#mysql> call uppercase('testdb');
#query ok, 0 rows affected, 1 warning (0.10 sec)
#在linux下:
#1、資料庫名與表名是嚴格區分大小寫的;
#2、表的別名是嚴格區分大小寫的;
#3、列名與列的別名在所有的情況下均是忽略大小寫的;
#4、變數名也是嚴格區分大小寫的;
#在windows下:
#全部不區分大小寫
#
怎樣把資料庫的行轉成列
有如下格式的表 company name exchange listing countries business country byd otc pk usa chn byd szse chn chn byd xter gem chn byd hkse hk chn 怎麼樣轉成一列,後面帶listi...
怎麼批量修改mysql資料庫表字首
怎麼批量修改mysql資料庫表字首 在資料庫設計中,對於某個特定的專案,一般對其所有的資料表指定相同的表字首,如wordpress的資料表都是以wp 開頭的,discuz的資料表都是以dz 開頭的。這樣不但便於區分,更重要的作用在於可以避免將多個專案部署到同乙個資料庫時可能出現的表同名衝突。www....
MySQL 資料庫中如何把A表的資料插入到B表
web開發中,我們經常需要將乙個表的資料插入到另外乙個表,有時還需要指定匯入字段,設定只需要匯入目標表中不存在的記錄,雖然這些都可以在程式中拆分成簡單sql來實現,但是用乙個sql的話,會節省大量 兩張表 inserttest和inserttest2,前者中有測試資料 create table in...