mysql 學習碎片

一、mysql 中執行 sql字符串mysql

 set @strSql='select 1200 as item';
 prepare select_sql from @strSql;
 execute select_sql; 
#輸出
+------+
| item |
+------+
| 1200 |
+------+

二、字符類型字段轉換成整型sql

select cast( '123' as signed) as id;
+-----+
| id  |
+-----+
| 123 |
+-----+

三、將查詢結果批量寫入表中函數

INSERT INTO tb_1(id,title) select id,title from tb_2;

四、判斷存儲過程是否存在,存在則刪除ui

 

drop procedure if exists  b2b_bidding.temp_proc_update_zb_table_uid;

五、簡單存儲過程定義spa

CREATE PROCEDURE 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))+1     FROM tb_1) ;
      set _table_name='tb_1';

      IF EXISTS(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);
      END IF ;
       
  
END;

#執行存儲過程
CALL proc_modify_tb1_id();

 六、經常使用INSERT/UPDATA語句code

    6.1》 經過 IGNORE 實現插入數據主鍵衝突,SQL執行不成功但不拋出異常。blog

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 》存在知足條件記錄,則添加記錄進入表中字符串

INSERT  INTO  mytab(ID,Title,`WHERE`) 
SELECT 3,'3','333'  from  mytab  
where  EXISTS (select 1   from  mytab where 1<>1);

    6.4》存在主鍵相同的記錄着直接替換已經存在的記錄 字段值it

REPLACE INTO mytab SELECT 1, 't1','tttttt2' FROM mytab;

 七、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  |
+----+-------------+------+

 

 八、根據 漢字對應的首字母排序

  ORDER BY	CONVERT(chinese_file USING gbk )
相關文章
相關標籤/搜索