
1.SQL语言是什么?有什么作用?
SQL:结构化查询语言,用于操作数据库,通用于绝大多数的数据库软件
2.SQL的特征
大小写不敏感
需以;号结尾
支持单行、多行注释
3操作数据库的SQL语言基于功能可以划分为4类:
数据定义:DDL ( Data Definition Language):库的创建删除、表的创建删除等
数据操纵:DML ( Data Manipulation Language):新增数据、删除数据、惨改数据等
数据控制:DCL ( Data Control Language):新增用户、删除用户、密码修改、权限管理等
数据查询:DQL( Data Query Language):基于需求查询和计算数据
DDL-库管理
查看数据库
SHOW DATABASES;
使用数据库
USE 数据库名称;
创建数据库
CREATE DATABASE 数据库名称 [CHARSET UTF8];(‘[]’中括号意思是:里面内容可写可不写)
删除数据库
DROP DATABASE 数据库名称;
查看当前使用的数据库
SELECT DATABASE();
演示




注意
SQL运行时要先选中代码段,再点击运行,左侧的可视化部分要刷新之后才可以显示出来运行后的结果,可按f5也可鼠标右键
DDL-表管理
查看有哪些表
SHOW TABLES;(注意:需要先选择数据库)
删除表
DROP TABLE 表名称;
DEOP TABLE IF EXISTS 表名称;
创建表
CREATE TABLE 表名称(
列名称 列类型,
列名称 列类型,
……
);
列类型:
int——整数
float——浮点数
varchar(长度)——文本,长度为数字,做最大长度限制
date——日期类型
timestamp——时间戳类型
演示





DDL小结
DDL中数据库管理的语法

DDL中数据表管理的语法

SQL——DML
DML是指数据操作语言,英文全称是Data Manipulation Language,用来对数据库中表的数据记录进行更新。关键字:
插入INSERT
删除DELETE
更新UPDATE

DML:INSERT数据插入
基础语法:

示例

演示



DML:DELETE数据删除
语法


演示


当没有where,就是没有条件的时候,整张表的数据都会删掉
DML:UPDATE数据更新



DML小结
1.DML插入、删除、更新的语法

2.注意事项
字符串的值,出现在SQL语句中,必须要用单引号包围起来
DQL数据查询
基础数据查询
在SQL中,通过SELECT关键字开头的SQL语句,来进行数据的查询
语法

含义就是:
从(FROM)表中,选择(SELECT)某些列进行展示
演示

#查询全部列
SELECT * FROM student;


where条件语句依然可以用

小结
基础查询的语法

2.过滤查询的语法

分组聚合
分组聚合应用场景非常多,如:统计班级中,男生和女生的人数。这种需求就需要:
按性别分组
统计每个组的人数
这就称之为:分组聚合。
语法:


演示
我们来按照性别去给它分组,再统计每个组的平均年龄



上图我们发现,这一语句报错了
这是因为GROUP BY 里面出现了谁,这个SELECT中才能有谁
一个SQL中是可以写多个聚合的

小结
分组聚合的语法是?

2.分组聚合的注意事项?
GROUP BY中出现了哪个列,哪个列才能出现在SELECT中的非聚合中。
排序分页
结果排序
可以对查询的结果,使用ORDER BY关键字,指定某个列进行排序,语法:

ASC表示升序排序,从小到大
DESC表示降序排序,从大到小
演示


结果分页限制
同样,可以使用LIMIT关键字,对查询结果进行数量限制或分页显示,语法:

演示


select * from student limit 10,5;
是从第十一行开始,然后取出5行信息

小结
1.排序和分页限制的语法是?

2.截止到目前学习到的关键字,需注意:
WHERE、GROUP BY、ORDER BY、LIMIT均可按需求省略
SELECT 和FROM是必写的
执行顺序:
FROM -> WHERE -> GROUP BY 和聚合函数->SELECT -> ORDER BY ->LIMIT