一、概念
数据库(Database,简称DB):长期存放在计算机内,有组织,可以共享的大量数据的集合,是一个数据的"仓库"。
作用:存放,管理数据
分类:关系型数据库,NoSQL数据库。
关系型:MySQL,ORACLE,PostgreSQL。
NOSQL:redis,mongoDB
SQL语句分类:
SQL语句:结构化查询语言(Structured Query Language),是一种特殊目的的变成语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名。
名词 | 解释 | 命令 |
DDL (数据定义语言) | 定义和管理数据对象, 如数据库,数据表等 | CREATE,DROP,ALTER |
DML (数据操作语言) | 用于操作数据对象中 所包含的数据 | INSERT,UPDATE,DELETE |
DQL (数据查询语言) | 查询数据库数据 | SELECT |
二、DDL语句
创建一个库:
create database 库名;
删除一个库:
drop database 库名;
使用库:
use 库名;
查看库中所有的表:
show tables;
建表:
create table 表名(
字段名 类型 属性,
字段名 类型 属性,
....
字段名 类型 属性
);
查看表结构:
desc 表名;
改变字段的属性:
alter table 表名 modify 字段名 需要修改的属性;
alter table 表名 change 旧的字段名 新的字段名 需要修改的属性;
添加字段:
alter table 表名 add 字段名 类型 属性;
删除字段(危险操作):
alter table 表名 drop 字段名;
修改表名:
alter table 旧表名 rename as 新表名;
删除表(危险操作):
drop table 表名;
三、DML语句
新增:
insert into 表名(字段名,字段名...字段名) values(值,值...值)
修改:
update 表名 set 字段名=值,字段名=值... where 子句
删除:
delete from 表名 where 子句
清空表:
truncate 表名
四、DQL语句
单表查询:
select * from 表名;
去除重复 distinct
select distinct 字段 from 表名;
带条件的查询 WHERE 子句
select * from 表名 where 子句
模糊查询:like
insert into 表名(字段) values 具体字段内容;
模糊符号 % 任意多的任意字符
模糊符号_ 一个任意字符
聚合函数:
count(字段) -- 统计个数
avg(字段) -- 平均值
sum(字段) -- 总和
max(字段) -- 最大值
min(字段) -- 最小值
select 聚合函数 form 表名
in 在特定的范围内查找
select * from 表名 where sid in (查询的范围)
分组:group by 字段
select 字段 from student group by 字段(具体的字段内容)
排序: order by
升序 ASC(默认升序)
降序 DESC
select * from 表名order by 排序的字段
注意:多排序规则按照 order by 后面的字段,先写先排后写后排
分页: limit
select * from 表名 limit (页码-1)*步长, 步长
注意:这里的limti关键字后面跟的必须是具体的数字
多表查询:
非等值联查(笛卡尔积)
select * from 表名1, 表名2
等值联查(内联数据)
select *from 表名1, 表名2 where 表名1.字段 = 表名2.字段
外联查询
left join on 左外联
right join on 右外联
union 会去除重复的数据
union all 不会去重
select * from 表名1 union select * from 表名2
select * from 表名1 union all select * from 表名2