Week 1 初识SQL和MySQL

作者: 小橙子A | 来源:发表于2019-02-24 11:49 被阅读33次

    一、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.数据类型【待补充】

    相关文章

      网友评论

        本文标题:Week 1 初识SQL和MySQL

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