一、SQL简介
1.结构化查询语言,一门操作关系型数据库的编程语言
2.定义操作所有关系型数据库的统一标准
3.对于同一个需求,每一种数据库操作的方式可能会存在一些不一样的地方,我们称为“方言”
二、SQL通用语法
1.SQL语句可以单行或多行书写,以分号结尾
2.NySQL数据库的SQL语句不区分大小写,关键字建议使用大写
3.注释
·单行注释:-- 注释内容 或 #注释内容(MySQL 特有)
·多行注释:/*注释*/
三、SQL分类
1.DDL:操作数据库,表等
①操作数据库
②查询表
③创建表
数据类型
·mysql支持多种类型,可以分为三类:数值、日期、字符串
④修改表
⑤删除表:删除表有两种操作方式
2.DML:对表中的数据进行增删改
①添加数据
②修改数据
③删除数据
3.DQL:对表中的数据进行查询
①基础查询
②条件查询(where)
·条件查寻语法以及条件
·条件查询语法
③分组查询(group by),学习分组查询前,要先了解一下聚合函数
(1)聚合函数概念:将一列数据作为一个整体,进行纵向计算
(2)聚合函数的分类:
(3)聚合函数语法:select 聚合函数名(列名) from 表;
(4)分组查询语法
1.分组查询语法:select 字段列表 from 表名 [where 分组前条件限定] group by 分组字段名 [having 分组后条件过滤];
2.需要注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段五任何意义
3.where 和 having 区别:
①执行时机不一样:where 是分组之前进行限定,不满足where 条件,则不参与分组,而having是分组之后对结果进行过滤。
②可判断的条件不一样:where不能对聚合函数进行判断,having可以
4.执行顺序:where > 聚合函数 >having
④排序查询(order by)
⑤分页查询(limit):select 字段列表 from 表名 linit 起始索引,查询条目数
(1)起始索引:从0开始。计算公式:起始索引=(当前页码-1)*每页显示的条数
(2)分页查询limit是MySQL数据库 的方言
(3)Oracle分页查询使用rownumber
(4)SQL Server 分页查询使用的top
4.DCL:对数据库进行权限控制