美文网首页MySQL
SQL必知必会

SQL必知必会

作者: 戈小蓓 | 来源:发表于2019-06-09 00:13 被阅读11次

    一、了解SQL

    1、数据库:保存有组织的数据的容器,≠数据库软件

    数据库软件:数据库管理系统(DBMS)

    2、表:某种特定类型数据的结构化清单

    主键特性:①唯一标示性,不具备业务意义;②唯一性,非空值;③不可修改性;④被删不可重用

    二、查询语句

    一、检索数据(Select)

    1、用途:从一个或多个表中检索信息——需要给到信息想选择什么及从什么地方选择

    2、语句特性:①多条SQL语句必须以分号结尾;②SQL语句不区分大小写;③SQL语句可以写成长句也可以分写多行

    3、检索多列时:一定要在列名之家加上逗号,但是最后一个列名不加

    select  prod-id, prod-name, prod-price

    from  Products;

    4、检索所有列:用通配符*

    select  *  from  Products;

    5、检索不同值:distinct—指示数据库只返回不同的值

    注意:distinct关键词作用于所有列,不能部分使用distinct

    select  distinct prod-id  from  Products;

    6、限制结果:limit  5  offset  5表示从第5行起的5行数据(mysql语法)

    注意:第一个被检索的是第0行,而不是第一行

    二、排序检索数据

    1、排序数据:在指定order  by子句时,应保证它是select语句最后一条子句

    select   prod-name  from  Products order  by  prod-name;

    2、按多个列排序:在多个列排序时,排序顺序完全按照规定进行

    select  prod-id, prod-name, prod-price  from  Products 

     order  by  prod-name, prod-price ;

    3、指定方向排序:Desc降序,Asc升序(默认升序)

    三、过滤数据

    1、数据根据where子句指定条件进行过滤,where子句在表名from之后给出,如有order by应位于where之后

    2、where子句操作符(=、>、<,!=/<>、between  and-包括指定开始值及结束值、is null)

    select  prod-id, prod-name, prod-price  from  Products 

    where  prod-price>5 desc;

    3、不匹配检查:单引号用来限定字符串

    select  prod-id, prod-name  from  Products

    where  prod-name<>‘dllo1’;

    4、空值检查:is null

    select  prod-price  from  Products

    where prod-price is null;(空prod-price字段,不是价格为0)

    四、高级数据过滤

    1、and操作符:

    select  prod-id, prod-name, prod-price  from  Products 

    where prod-name'good' and prod-price >5  ;

    2、or操作符:它指示DBMS检索匹配匹配任意条件行

    3、  求值顺序:在and和or中会优先处理and,如要解决就要用圆括号对操作符进行明确分组—圆括号先处理

    任何具有and和or操作符的where子句,都应使用圆括号明确分组,消除歧义

    4、in操作符:用来指定条件范围,功能相当于or

    select  prod-id, prod-name, prod-price  from  Products 

    where  prod-price in(1,,8);

    5、not操作符:否定其后跟的任何条件,因为not从不单独使用,所以not关键词可以用在过滤列前

    select  prod-id, prod-name, prod-price  from  Products

    where not  prod-name=‘goog’;

    五、用通配符进行过滤

    1、like操作符:指示DBMS

    通配符是用来匹配值得一部分的特殊字符

    百分号%通配符:表示任何字符出现任意次数

    select  prod-id, prod-name, prod-price  from  Products

    where  prod-name like ‘good%';

    下划线—通配符:只能匹配单个字符而不是多个字符

    方括号[]通配符:用来指定一个字符集(只有access和sql server支持集合)

    2、使用通配符技巧:①不要过度使用通配符;②尽量不把通配符用在搜索模式开始处;③注意通配符位置,如果放错地方可能不会返回想要的数据


    三、创建计算字段

    1、拼接字段:+ /  ||(mysql使用特殊函数)

    select  prod-id + '('+prod-name+')'   from  Products   order  by  prod-id desc;

    MYSQL使用

    select   concat  (prod-id , '(',prod-name,)'   )

    from  Products   

    order  by  prod-id desc;

    2、ririm():去掉值右边的所有空格;ltrim()去掉字符串左边空格;trim()去掉字符串左右两边空格

    3、使用别名as:

    select   concat  (prod-id , '(' , prod-name , )'   )

    as  prod-new

    from  Products   

    order  by  prod-id desc;

    4、执行算术运算:+ - * /

    四、使用函数处理数据

    1、文本处理函数

    2、时间和日期处理函数

    3、数值处理函数

    五、汇总数据

    1、聚集函数:avg、count、max、min、sum

    2、聚集不同值:

    六、分组函数

    1、分组group  by:

    过滤having:


    相关文章

      网友评论

        本文标题:SQL必知必会

        本文链接:https://www.haomeiwen.com/subject/fcgixctx.html