zoukankan      html  css  js  c++  java
  • sql

    • 定义别名方法

      1):表达式 as 别名;

      2):表达式  空格  别名

      3):别名=表达式

    • 字符串拼接函数 :concat(str1,str2...)
    • 升序倒序:order by 字段 默认asc 升序; desc 降序
    • like 
    • 查询指定数据库中含有指定字段的所有表
    SELECT DISTINCT
        TABLE_NAME
    FROM
        INFORMATION_SCHEMA. COLUMNS
    WHERE
        COLUMN_NAME IN ('site_id')
    AND TABLE_SCHEMA = 'lxserver';
    • 分支结构:

    case when  条件  then 值  when 条件  then 值  else 值 end 例:select (case t.sex when 1 then 男 end ) as  '性别';select if(filed >10,0,1) newFiled from test 当字段filed值大于10的时候是0,否则是1;

    • left join table on 后面 多个条件的时候,不管条件结果错与对,left表都出现在结果集中,join表中匹配到的数据才会出现在结果集中。即最少的结果集的个数是left表的数目。
    • exists ,not exists,in,not in

    where exists (select 1 form t where t.id = 1), 查出结果则为true,not exists相反。

    以下没有特殊说明,均是Mysql下的合法操作,其他数据库并未测试

    • mysql模糊查询

    like %:替代一个或多个字符;_:仅替代一个字符

    regexp: .:匹配一个多个字符 ?:匹配前面子表达式0|1次; +:匹配前面子表达式>0次; *:匹配前面子表达式>-1次; {}:表示重复的次数例 6{6},匹配666666; []:匹配括号里面的字符例:^[张].  匹配张姓的人; ^ $:开始结束。

    注:匹配默认是不区分大小写的,如果想区分大小写使用 BINARY 例where name like BINARY "%l";要匹配特殊符号,使用转意符

    • DISTINCT 去重
    • limit n,m 效果是从第n行取m条数据,计数始:0,MySQL5后也可以这样写limit m offset n,效果和limt n,m一样
    • order by 后面跟多个字段并且这些字段都需DESC的时候需要给每个字段指定DESC关键字。
    • BETWEEN n  AND m 所包含区间[n,m]
    • null值 用is null和is not null
    • AND OR 组合使用这两个操作符的时候,要使用小括号明确的分组操作符,否则其默认的计算次序会查出意想不到的结果。
    • not 支持对 in between exists条件取反。
    • union 组合查询 效果是和多个where子句相同,如果需要返回符合条件的每一条数据(包括重复的)则需要使用union all。使用条件union连接的多个select 字段必须一致,列数据类型方面必须兼容。
    • foreign key 外键约束(主表,从表)从表约束主表 语法 例:ALTER TABLE student add CONSTRAINT fk_teacher_student FOREIGN KEY (t_id) REFERENCES teacher(id),删除ALTER TABLE student drop FOREIGN KEY fk_teacher_student
    • 触发器 对操作 update,insert,delete,触发时机 after 或 before。
    例:
    DELIMITER $
    create trigger newStudent after insert
    on student for each row
    begin
    declare c int;
    set c = (select stuCount from teacher t where t.id=new.t_id);
    update teacher t set stuCount = c+1 where t.id = new.t_id;
    end$
    DELIMITER ;
    
    
    DROP TRIGGER newStudent;
    

      

  • 相关阅读:
    Memory Limit Exceeded
    浙江省程序设计竞赛2019
    hdu3974 Assign the task
    TCP面向字节流和UDP面向报文的区别
    django-admin和django-admin.py的区别
    利用 pip 安装 Python 程序包到个人用户文件夹下
    PyCharm中目录directory与包package的区别及相关import详解
    分布式表示(Distributed Representation)
    Nginx
    32.最长有效括号
  • 原文地址:https://www.cnblogs.com/mao-yan/p/6628124.html
Copyright © 2011-2022 走看看