mysql学习笔记

  1. mysql服务的启动与停止
    命令行模式:以管理员身份打开cmd,输入命令:net start/stop mysql57
  2. distinct筛选不同的列


  3. limit限制行

    select name from students limit 5;
    限制筛选出来的信息最多只显示5行

    此功能可以实现分页的功能
    这时如果想找到下一个5行,可以指定要检索的开始行和行数
    select name from students limit 5, 5;
    显示从第5行开始的5行
    也可以写成limit 5 offset 5;
    即限制显示行数为5,偏移offset为从0开始的第5行

  4.  排序数据

    order by:将检索出来的行进行排序
    select name from students order by name;

    也可以使用除name以外的属性进行排序,例如age、sex、grade

    当对多个列进行排序时,会按照所规定的顺序进行,即只有当第一个属性完全相同时,才会按第二个属性进行排序。当第一个属性的值都是唯一的时候就不会再对第二个属性的值进行排序

    order by 关键字默认按指定属性的升序排列,如果需要按指定列的降序排列,则需要使用关键字DESC
    select name from students order by name DESC;
    且DESC只作用于其前面的列名,如果想要对多个列名进行降序排列,则需要将每一个列名后面加上DESC关键字
    DESC:降序排列
    ASC:升序(默认就是升序)

    可以利用order by 和 limit 语句检索出最大或最小值
    select * from users order by age limit 1;
    检索出用户表中年龄最小的用户信息

  5. 过滤数据

     

     IS NULL语句用来判断某个列的取值是否为NULL

    IN的用法:
    select * from users where age IN (20, 21, 22);
    检索出年龄在20、21、22的用户的信息

     

    NOT
    MySQL中的NOT MySQL支持使用NOT对IN、BETWEEN和 EXISTS子句取反,这与多数其他DBMS允许使用NOT对各种条件 取反有很大的差别。


    优先级问题:
    在sql语句中,and的优先级比or的优先级更高一点
    可以使用()来调整语句的执行顺序

  6.  使用通配符进行过滤

    百分号(%)通配符
    %通配符匹配任意字符(0个、1个或多个)的任意次数
    举例:

    使用通配符模式进行匹配时,需要使用关键字LIKE。

    例外:%虽然可以匹配任意字符,但是不能匹配NULL

    下划线(_)通配符
    _通配符可以匹配任意字符一次(不能多也不能少)


    使用通配符需要注意的地方:
    1、通配符使用起来速度会更慢,如果使用其他操作符能实现相同的作用尽量使用其他操作符来代替通配符
    2、将通配符放在搜索模式的最前面是最慢的,除非有绝对必要,不要将通配符放在搜索模式的最前面

  7. sql中的正则表达式

     

     

  8. 创建计算字段

    1、Concat函数
    Concat()拼接串,即把多个串连接起来形成一个较长的串。
    Concat()需要一个或多个指定的串,各个串之间用逗号分隔。

    select Concat(name,'(', sex, ')') from users;

    输出:
    刘德华(男)
    张学友(男)

    2、Trim函数:
    Trim():删除数据左右两侧多余的空格
    RTrim():删除数据右侧多余的空格
    LTrim():删除数据左侧多余的数据

    3、别名
    对于select Concat(name,'(', sex, ')') from users;这样的语句,虽然select语句拼接出我们想要的字符串,但是这样的字符串并没有列名,他只是一个值,并不能应用在客户机应用中,因此可以给他起一个别名
    select Concat(name,'(', sex, ')') as userInfo from users;

    4、执行算数计算

原文地址:https://www.cnblogs.com/zhengxunjie/p/15652306.html