zoukankan      html  css  js  c++  java
  • mysql 学习碎片

    1、mysql 中执行 sql字符串

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

    2、字符类型字段转换成整型

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

    3、将查询结果批量写入表中

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

    4、判断存储过程是否存在,存在则删除

    drop procedure if exists  b2b_bidding.temp_proc_update_zb_table_uid;

    5、简单存储过程定义

    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();

     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 》存在满足条件记录,则添加记录进入表中

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

        6.4》存在主键相同的记录着直接替换已经存在的记录 字段值

    REPLACE INTO 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 )
    

      

       

  • 相关阅读:
    Linux mysql 联表查询
    Linux firewalld使用教程+rhce课程实验
    Linux 常用端口
    Linux redhat 7 进入单用户模式
    Linux 子网掩码计算, 二进制十进制互相转换
    Linux 网络配置文件解析
    P1678 烦恼的高考志愿(二分)
    P1563 玩具谜题(简单模拟)
    P1553 数字反转(升级版)(模拟)
    P2690 接苹果 (DP)
  • 原文地址:https://www.cnblogs.com/rhythmK/p/4831674.html
Copyright © 2011-2022 走看看