• MySql 常用语句


    1、MySql查询某字段中是否含中文

    使用 length 与 char_length 两个函数

             length:是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符

    char_length:不管汉字还是数字或者是字母都算是一个字符

    对同一字段分别使用 length、char_length 计算长度,并进行比较长度相同则字段中无汉字,不相同则肯定有汉字

    SELECT * FROM 表名 t WHERE LENGTH( REPLACE ( REPLACE (t.LOGIN_NAME, '-', ''), '+', '' )) = 3 * CHAR_LENGTH( REPLACE ( REPLACE (t.LOGIN_NAME, '-', ''), '+', '' ))

    2、MySql查询某字段中是否包含某个名词

    实例:存储样式:河北,浙江,北京,吉林

    concat:用于将两个字符串连接起来,形成一个单一的字符串。

    SELECT * from 表名 where  concat(',',字段,',') like '%,浙江,%'

    3、联表更新

    UPDATE friends INNER JOIN users ON friends.friendid = users.userid SET friends.friendname = users.username
    where users.id = 1 and friends.name = '张三'

    4、乱序查询

    SELECT * FROM 表名 ORDER BY RAND()

    5、查询重复数据

    select NAME,count(1) from 表名 group by NAME HAVING count(1) >1

    6、INSERT INTO复制表(将表2的数据复制到表1中)

    //指定的列中插入数据,主键自动生成
    INSERT INTO 表1(字段1,字段2) select 字段1,字段2 from 表2 where 条件
    INSERT INTO 表1 (name,age) VALUES('','18')
    
    //(表结构完全一样)表2整条记录插入到表1,主键也插入(需要注意主键是否冲突)
    INSERT INTO 表1 select * from 表2 where 条件

    7、mol 函数判断奇数偶数

    SELECT * from 表名 where mod(id,2) = 0;//偶数
    SELECT * from 表名 where mod(id,2) = 1;//奇数

    8、MySql行转列

    //图一
    SELECT question_id,answer_id,COUNT(1) from 表名 GROUP BY question_id,answer_id;
    //图二
    SELECT question_id,
    SUM(CASE answer_id WHEN 'A' THEN 1 ELSE 0 END )A,
    SUM(CASE answer_id WHEN 'B' THEN 1 ELSE 0 END )B,
    SUM(CASE answer_id WHEN 'C' THEN 1 ELSE 0 END )C,
    SUM(CASE answer_id WHEN 'D' THEN 1 ELSE 0 END )D
    from 表名 GROUP BY question_id;

  • 相关阅读:
    工欲善其事,必先利其器
    年度总结
    人脸解锁从底层到上层(一)
    Hexo NexT 主题添加评论和文章阅读量
    摄影历程-第一章
    西藏之旅
    软件测试和评估
    WordCount优化
    WordCount编码与测试
    值得深入思考的五个问题
  • 原文地址:https://www.cnblogs.com/cang12138/p/5220847.html
Copyright © 2020-2023  润新知