mysql 知识库呆鸟的Python数据分析

SQL常用操作语句总结

2018-07-06  本文已影响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)

上一篇下一篇

猜你喜欢

热点阅读