数据蛙数据分析每周作业数据蛙强化课程第二期技术好文【基础向】

Week 1 初识SQL和MySQL

2019-02-24  本文已影响33人  小橙子A

一、SQL和MySQL背景

1.SQL和MySQL是什么?

- SQL是结构化查询语言(Structured Query Language)的缩写,专门用来与数据库进行通信的语言,几乎所有的DBMS(数据库软件)都支持

- MySQL是官方发布的免费开源的数据库软件,即SQL编辑器,也有其他更好用的但是收费的SQL编辑器软件

- 在线写代码教程(需翻墙,英语):http://www.mysqltutorial.org

2.怎么进入MySQL编辑界面?

先把MySQL Notifier打开,在右下角显示后即可进行通讯,默认Stop,切换成Start后即可和数据库进行通讯,最后再把MySQLWorkbench打开即可。

3.MySQL基础概念

数据库(datebase):保存有组织的数据的容器。

表(table):某种特定类型数据的结构化清单。

列(column):表中的一个字段。所有表都由一列或者多列组成,每一列都有对应的数据类型。

行(row):表中的一个记录。

主键(primary key):一列(或一组列?),其值能够唯一区分表中每个行。表中每一行都有可以唯一标识自己的一列,表中的任何列都可以作为主键,但必须满足以下条件:①任意两行都不具有相同主键 ②每行都必须具有一个主键。即主键是唯一且每行必须的。

4.SQL基础概念

- SQL操作不可逆

- SQl不区分大小写

- 结束sql语句要使用分号(;)

- SQL语句会忽略空格,即如果不用符号隔开会默认为一个单词,但是在获取结果时目标格的空格不被忽略,相当于一个字符

- null 值会被忽略计算

- *代表全部的数据(all)

- 字符串用双引号和单引号皆可,单引号更规范

- 通配符(wildcard)用来匹配值的一部分的特殊字符,在搜索字句中使用通配符必须使用like操作符,通配符可位于开头、结尾或中间,要注意尾部空格和空值null

- % 代表任意长度

- _代表一个字符

选取在name列里以A开头的行

后面输了三个_,表示以ab开头后面还有三个字符的单词

- 使用limit限制返回结果行数,可以提前设置,也可在语句中限制

二、SQL语法

1.select选取数据,order by排序,use指定库名

SQL几乎所有的语句都要使用select来选取列数据,select返回的结果是无序的,可使用order by(位于from字句之后)排序,asc 升序,desc 降序

也可在输入语句前,先指定库,一般情况下是不会跨库查询的,因此可以直接用use语句指定库名,后续from不用再输入库,如果需要指定到特定库,再到from那里指定,则优先运行from那里的库,再运行use指定的库

use指定库的操作执行一次,只要后续不再使用use指定库,即一直默认使用该库,即使删掉指定语句也不影响,如果想换库,再指定一次即可

要选取多列,用逗号(,)隔开

2.select … from

select … from一般是连着使用。

from表示从哪张表中选择,如果多个库中有相同的表,要在表之前指定库名,用句点(.)隔开,再指定表名

可多重排序,按前后顺序优先排列

3.注释及显示数量

注释(#)不会被执行,只用来描述当前代码,如第6行

show datebases显示当前有多少库

show tables显示当前库有多少表

show columns from XX 显示当前表有多少列

4.where过滤,and/or连接,in语句

在select语句中,数据根据where子句指定的搜索条件进行过滤,多个过滤子句使用and/or连接,where字句中的圆括号决定了计算次序

优先运行and,再运行or,即该语句表示先运行同时满足红色框框的部分,再单独运行绿色框框部分

加括号后则优先运行括号内的部分,再运行括号外的部分

上述语句也可直接换成更简洁的in语句

5.修剪函数

trim修剪函数,删除空格:rtrim删除右边空格,ltrim删除左边空格

Substring:字符串子集,substring(目标单元格,2),从字符串左边第二个字符开始截取,substring(目标单元格,2,5),从字符串左边第二个字符开始截取5个字符长度。【个人感觉SQL里的SubString作用和Excel里mid函数作用是一样的,都是截取部分字段】

Left:返回字符串最左边的n个字符

6.group by和having

group by分成小组,以便进行平均等操作,如表里是按城市为一行,但按照国家对不同国家人口进行求平均值等

分组后不可使用where进行条件过滤,而应使用having对组进行过滤

7.distinct 唯一值

三、SQL其他操作

1.增删表

- DROP TABLE 删除表【SQL操作不可逆,一旦drop掉不可恢复,操作前要思考好】

- update用来更新表中的数据,一定要仔细,不要省略where字句

- delete用于从表中删除特定的行或者从表中删除所有行,一定要仔细,不要省略where字句

2.数据类型【待补充】

上一篇下一篇

猜你喜欢

热点阅读