# 认识数据库
# 数据组织形式
库 => 表 => 数据
# 数据库管理软件
甲骨文 | MySQL | SQL Server | PostgreSQL | SQLite |
---|
# 数据库和 SQL 的关系
具有操作
- 数据的增加
- 数据的删除
- 数据的修改
- 数据的查询
- 数据库,数据表的管理
等等
而 SQL 语言,就是一种对数据库,数据进行操作,管理,查理的工具.
# 简单的数据库操作命令
命令 | 作用 |
---|---|
show databases | 查看有哪些数据库 |
use 数据库名 | 使用某个数据库 |
show tables | 查看数据库内有哪些表 |
exit | 退出命令行环境 |
# SQL 语言基础
# 操作数据库的专用工具
- SQL 全称: Structured Query Language,结构化查询语言,用于访问和处理数据库的标准的计算机语言 SQL 语言 1974 年由 Boyce 和 Chamberlin 提出,并首先在 IBM 公司研制的关系数据库系统 SystemR 上实现。
- 经过多年发展,SOL 以成为数据库领域统一的数据操作标准语言,可以说几乎市面上所有的数据库系统都支持使用 SQL 语言来操作
# SQL 语言的分类
-
数据定义 (DDL)
库的创建删除,表的创建删除等
-
数据操纵 (DML)
新增数据,删除数据
-
数据控制 (DCL)
新增用户,删除用户,密码修改,权限管理等
-
数据查询 (DQL)
基于需求查询和计算数据
# SQL 的语法特征
- 大小写不敏感
- 可以单行或者多行书写,最后用;(分号) 结束
- 支持注释
# 语法
- DDL 数据定义
- DML 数据操作
- DCL 数据控制
- DQL 数据查询
# DDL
# DDL - 库管理
操作 | 作用 |
---|---|
show databases | 查看数据库 |
use 数据库名称 | 使用数据库 |
create database 数据库名称 [charest UTF8] | 创建数据库 |
drop databases | 删除数据库 |
select database() | 查看当前使用的数据库 |
# DDL - 表管理
操作 | 作用 |
---|---|
show tables (先选择) | 查看有哪些表 |
drop table 表名称; | 删除表 |
drop table if exists 表名称 | 创建 |
create table 表名称 (列名称 列类型) | 创建表 |
列类型
类型 | 名字 |
---|---|
int | 整数 |
float | 浮点数 |
varchar | 文本,长度为数字,做最大长度限制 |
date | 日期类型 |
timestamp | 时间戳类型 |
# DML
1. INSERT 插入
2. DELETE 删除
3. UPDATE 更新
基础语法
插入
insert into 表[(列1,列2,......,列N)] values(值1,值2,......,值N)[,(值1,值2,......,值N),......,(值1,值2,......,值N)]
删除
delete from 表名称 [where 条件];
更新
update 表名 set 列 = 值 [where 条件判断];
# DQL
1. 基础查询
2. 分组聚合
3. 排序分页
1. 基础查询的语法
select 字段列表 |* FROM 表 |
- 过滤查询
select 字段列表 |* FROM 表 where 条件判断
分组聚合
select 字段|聚合函数 From 表 [where 条件] group by 列
聚合函数
sum(列) 求和
AVG(列) 求平均值
MIN(列) 求最小值
MAX(列) 求最大值
COUNT(列|*) 求数量
3. 排序和分页
select 字段|聚合函数 From 表
where #筛选
group by # 分组
order by [asc|desc] # 升序|降序
limit n[,m] # 跳过n行的显示,从n+1行开始显示m行
# 注意
执行顺序
from -> where ->group by 和 聚合函数 -> select -> order by -> limit
- where , group by , order by , limit
- select 和 from 是必写的