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 )
相关文章
相关标签/搜索