1、mysql 中執行 sql字串
set@strsql='
select 1200 as item';
prepare select_sql from
@strsql;
execute
select_sql;
#輸出+
------+
| item |+--
----+
|1200|+
------+
2、字元型別字段轉換成整型
selectcast( '
123'
as signed) as
id;+
-----+
| id |+--
---+
|123|+
-----+
3、將查詢結果批量寫入表中
insertinto tb_1(id,title) select id,title from tb_2;
4、判斷儲存過程是否存在,存在則刪除
dropprocedure
ifexists b2b_bidding.temp_proc_update_zb_table_uid;
5、簡單儲存過程定義
createprocedure
proc_modify_tb1_id()
begin
#定義變數
declare _max_uid integer
;
declare _table_name varchar(1000
);
# 招標附屬表 b2b_bidding.bid_announcements_expand
set _max_uid=( select
max(cast(str_id as signed))+
1from
tb_1) ;
set _table_name=
'tb_1';
ifexists(select
*from tb_id_generation where table_name=_table_name) then
update tb_id_generation set table_id= _max_uid where table_name=
_table_name;
else
insert
into tb_id_generation (table_name,table_id ) values
(_table_name,_max_uid);
endif
;
end;#執行儲存過程
call proc_modify_tb1_id();
6、常用insert/updata語句
6.1》 通過 ignore 實現插入資料主鍵衝突,sql執行不成功但不丟擲異常。
insert ignore into mytab(id,title,`where`) values (1,'aaaa
','aaaaaa
');
6.2》主鍵衝突,則通過 on duplicate key 執行update
insert ignore into mytab(id,title,`short_title`) values (1,'xx****
','xx公司')
on duplicate key
update title=
'update-xx****
',`short_title` =
'update——xx公司
';
6.3 》存在滿足條件記錄,則新增記錄進入表中
insertinto mytab(id,title,`where
`) select
3,'3
','333
'from
mytab
where
exists (select
1from mytab where
1<>
1);
6.4》存在主鍵相同的記錄著直接替換已經存在的記錄 字段值
replaceinto mytab select
1, '
t1','
tttttt2
'from mytab;
7、find_in_set函式,匹配字段屬性值
mysql>select
*from test.my_tb where find_in_set(parent_code,'
01,02');
+----+-------------+------+
| id | parent_code | code |+--
--+-------------+------+|1
|01|001||
2|01|
001||3
|02|001||
4|01|
003||5
|02|002|+
----+-------------+------+
8、根據 漢字對應的首字母排序
order by convert(chinese_file using gbk )
mysql碎片空間 mysql碎片應用
1.查詢結果集中自增功能 set i 0 select i i 1 id 2.資料庫備份 mysqldump database uroot p beifen.sql 3.資料庫表空間tablespace優化 show table status from database like table nam...
mysql索引碎片整理 MysqL碎片整理優化
先來說一下什麼是碎片,怎麼知道碎片有多大!簡單的說,刪除資料必然會在資料檔案中造成不連續的空白空間,而當插入資料時,這些空白空間則會被利用起來.於是造成了資料的儲存位置不連續,以及物理儲存順序與理論上的排序順序不同,這種是資料碎片.實際上資料碎片分為兩種,一種是單行資料碎片,另一種是多行資料碎片.前...
mysql碎片整理 提速 MysqL碎片整理優化
先來說一下什麼是碎片,怎麼知道碎片有多大!簡單的說,刪除資料必然會在資料檔案中造成不連續的空白空間,而當插入資料時,這些空白空間則會被利用起來.於是造成了資料的儲存位置不連續,以及物理儲存順序與理論上的排序順序不同,這種是資料碎片.實際上資料碎片分為兩種,一種是單行資料碎片,另一種是多行資料碎片.前...