一、SQL的概述
SQL全称:Structured Query Language,结构化查询语言,用于访问和处理数据库的标准的计算机语言。
注:1)sql语句是不区分大小写的
2)sql语句都是以分号作为语句结束的
3)SQL支持注释:
· 单行注释:-- 注释内容(--后面一定要有一个空格)或者# 注释内容(#后面可以不加空格)
· 多行注释:/* 注释内容 */
二、SQL语言的分类
由于数据库管理系统(数据库软件)功能非常多,不仅仅是存储数据,还要包含:数据的管理、表的管理、库的管理、账户管理、权限管理等等。所以,操作数据库的SQL语言,也基于功能,可以划分为4类:
1、数据定义:DDL(Data Definition Language)- 库的创建删除、表的创建删除等
2、数据操纵:DML(Data Manipulation Language)-新增数据、删除数据、修改数据等
3、数据控制:DCL(Data Control Language)-新增用户、删除用户、密码修改、权限管理等
4、数据查询:DQL(Data Query Language)-基于需求查询和计算数据
三、基本SQL语言
1、DDL
1)库管理
2)表管理
2、DML
1)insert数据插入
注:字符串的值,出现在SQL语句中,必须要用单引号包围起来
2)delete数据删除
3)update数据更新
3、DQL
1)基础查询
基础语法:select 字段列表/* from 表格名称,含义就是,从该表格中选择某些列进行展示
示例代码:
select id, name from student;
还可以增加条件判断(过滤查询):select 字段列表/* from 表格名称 where 条件语句
示例代码:
select * from student where age > 20 ;
2)分组聚合
示例代码:
# 按照性别分组,然后分别求男生女生年龄的平均值
select gender, avg(age) from student group by gender;
注:group by 中出现了哪个列,哪个列才能出现在select中的非聚合中。
3)排序分页
a、结果排序
可以对查询的结果,使用order by关键字,指定某个列进行排序
语法:select 列/聚合函数/* from 表 where.... group by... order by...[asc/desc]
注:asc升序,desc降序,如果不规定排列顺序则默认升序
示例代码:
# 先把表格中年纪大于20岁的学生筛选出来,再按照年纪从小到大的顺序排序
select * from student where age > 20 order by age asc;
b、结果分页限制
可以使用limit关键字,对查询结果进行数量限制或分页显示
语法:select 列/聚合函数/* from 表 where... group by... order by...[asc/desc] limit n[,m]
注:n指的是只输出5条数据,n,m指的是从第n条开始(不包含第n条)向后数m条输出
示例代码:
# 输出表格中第11-15一共5条数据
select * from student limit 10,5;