SQL的执行顺序
from
join
on
where
group by
avg,sum等
having
select
order by
limit
表的类型
** 实际表**
通过DDL语句创建的表
** 临时表**
临时表的创建过程和实际表一致
temporary表示为临时表
show tables 语句查不出临时表,但是可以进行操作;
临时表断开连接后,会自动删除;
create table temporary 表名 (表属性);
虚拟表
通过select语句查询出来的表
复制表(把虚拟表转成临时表)
create table temporary 表名 (select语句);
insert into 表名 (字段1,字段2。。) select语句;
数据库的管理
创建数据库
create database 数据库名称;
创建数据库并设置默认字符集
create database 数据库名称 default charset 字符集;
修改数据库
alter database 数据库名称 default charset utf8mb4;
删除数据库
drop database 数据库名称;
查看表结构
desc 表名;
表的管理
展示表
show tables;
设计表
字段名,字段类型,字段长度必须有
create table 表名 (表的属性);
修改表
alter table 表名 rename 表名1;
alter table 表名 add 字段名。。;
alter table 表名 change 字段名1 字段名2。。;
alter table 表名 modify 字段名。。;
alter table 表名 drop 字段名;
修改字段位置
alter table 表名 modify 字段1。。 after 字段2;
# 把字段1放到字段2后面
alter table 表名 modify 字段1。。 frist;
# 把字段1放到首位
删除表
drop table 表名;
SQL的分类
DDL(Data Definition Language)数据定义语言
可以使数据库表的结构发生变化的语句
包括,create,alter,drop
DML(Data Manipulation Language)数据操作语言
可以使表内的数据发生变化的语句
包括,insert,update,delete
DQL(Data Query Language) 数据查询语言
用来查询的语句
包括,select,from,where
DCL(Data Control Language)数据控制语言
数据库的控制语句(事务,只对DML语句有效)
包括,begin,rollback,commit
begin 开始事务;
rollback 回滚操作;
commit 确认操作;
begin开始一个事务,rollback或commit结束事务;
数据库的优化
优化的目的是让查询的速度变快。
数据一般多
给常用的字段添加索引,索引会占用计算机的资源,数据太少的时候不适合,盲目添加也会导致数据的储存量变少
分表,分库
加硬件配置
数据超级多
分表,分库
加硬件配置
数据无敌多
分布式架构
(核心内容,把大的数据库拆分成小的)