SQL常用操作语句总结

作者: 九日照林 | 来源:发表于2018-07-06 10:03 被阅读46次

    SELECT用来选取

    WHERE语句用来筛选

    常用操作符号

    操作符号

    对于文本字符串的匹配

    文本字符串.png

    如果是精准匹配则用=和!=,否则就用LIKE和NOT LIKE进行模糊匹配,不分大小写,%用于匹配多个字符串,_匹配单个字符串。

    DISTINCT筛选独一无二的值

    DISTINCT加到SELECT之后,可以去除掉重复值。

    ORDER BY可以排序

    ASC/DESC升序和降序

    LIMIT+num限制显示的数目

    OFFSET设置开始显示的序号

    与LIMIT搭配,决定开始显示的序号

    简单的SELECT查询

    简单的select查询

    多个表格的query

    join的方式来链接两个表格

    主键是指在整个数据库当中能够独一无二地辨别出实体的那一列,比如index。

    Join方法对具有相同键的两张表格应用,键用on链接。在join完之后应用我们之前提到的方法。

    Nulls的处理

    null的处理

    可以用isnull和is not null来筛选出某一列的值是否为空值。空值对统计结果,部分函数的执行有影响。

    表达式的索引方法

    表达式的索引方法

    可以用表达式对符合条件的值进行重新计算。用AS进行重新命名。

    用聚合函数进行查询

    聚合函数查询

    聚合函数能够允许你对一组数据进行信息总结,比如最大值max,众数mode

    常用的聚合函数

    前面说的是如何筛选,后面说的是如何对筛选后的数据进行处理后返回。

    having对group进行筛选

    where方法对group by前的行进行筛选,而having对group by后的数据进行筛选

    SQL的执行顺序

    sql的执行顺序

    SQL的执行顺序总体上是这样的:找到数据库当中我们所需要的数据(FROM)→筛选(filter)→以我们写的形式显示(SELECT)

    具体的执行顺序是:FROM开始寻找从哪张表格当中开始寻找需要的信息,这个时候发现了JOIN,JOIN ON语法使得此表格与另外一张表格构成临时的表格,我们就从这张临时的表格当中查找数据,通过WHERE将不满足条件的行全部筛选掉,然后根据对应的column进行GROUP BY命令,HAVING筛选掉不满足条件的数据,然后SELECT DISTINCT取不重复的数据,接下来根据ORDER BY的命令来按照条件来排列,最后LIMIT显示的内容限制在前几条。

    SQL结构

    插入行
    SQL schema是指数据库的结构以及数据类型

    数据库的结构是指行和列,每一行都是一个实体,每一列都是一个属性,每一列都有特定数据类型,如整数,字符串等等。

    插入数据的语法

    INSERT INTO table_name VALUES (value1, value2, value3, value4……)
    

    value是跟列一一对应的,如果插入的数据列数少于表格的列数,需要指定列名

    INSERT INTO table_name (col1,col2,col3,col4) VALUES (value1, value2, value3, value4……)
    

    更新表格

    更新表格的方法update

    update方法可以像插入行一样更新满足where限制条件的行。

    要注明表格的名字,列,以及数据。数据和列以键值的方式给出。

    删除行内容

    delete语句

    可以用DELETE FROM语句搭配WHERE限制条件来删除特定的行。

    DELETE FROM table_name WHERE constraints
    

    创建一个表格

    创建一个表格

    创建一个表格要指定几样东西吗,一个是表格名字,列名字,数值类型,默认值

    列的类型

    列的类型

    表格的额外限制

    表格的额外限制

    除了列的类型外,还可以对列进行额外的限制,比如PRIMARY KEY(主键),AUTOINCREMENT(自动增加)适合用于自动增加的序列,NOT NULL(非空值),FOREIGN KEY(外键)。

    外键和主键的区别是,主键的值在一张表格当中是独一无二的,是用于标示这一行。外键是另外一张表格需要与主表格进行连接的时候,总能在主表格当中找到有效的值。比如一张表格是记录员工的id号码的,这个时候id是主键,是唯一不重复的。而另外一个是发奖金的表格,一个员工可能会有多个奖励事项,这个表格当中的id是不唯一的,但是总能在员工id的表格当中找到有效值。

    CREATE TABLE mytable (col1 col1_type, col2 col2_type, col3 col3_type)
    

    进阶SQL命令

    timestamp

    extract function

    extract function可以从日期格式的数据当中抽取出我们需要的信息

    document
    extract(month from date_column)
    

    字符串的运算符

    字符串的运算符

    ||用来连接多个字符串和非字符串

    Subquery

    subquery就是在query里面再进行查询

    subquery

    只需要把subquery部分用括号括起来即可

    subquery2
    SELECT film_id, title, rental_rate FROM film WHERE rental_rate > (SELECT AVG(rental_rate) FROM film);
    

    SELF JOIN

    self join是指table自己与自己连接,为了实现self join,需要用alias方法

    self join self join2

    当我们不想用硬编码的时候会考虑self join

    self join3

    比如在以上这个例子当中,其实可以直接限定e1.employee_location='New York'即可,但是在某些情况下不好用硬编码,因此我们找出名字joe对应的location,它为'New York',那么就能找出location为'New York'的employee_name了。

    self join4 self join5

    创建了两张相同的表格,只是名字不一样

    self join6

    创建VIEWS的方法

    CREATE VIEW (你的query)

    相关文章

      网友评论

        本文标题:SQL常用操作语句总结

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