备忘
数据库
该部分包含:多表查询、事务、索引
多表查询:
- 内连接(查询多个表有联系的内容):
- 隐式内连接:
select 字段列表 from 表1,表2 where 条件...;
- 显式内连接:
from 表1 inner join 表2 on 连接的条件...;
- 隐式内连接:
- 外连接(一般用左外连接,两者可以相互替换):
- 左外连接(可以查出左表全部内容):
select 字段列表 from 表1 left outer join 表2 on 连接条件...;
- 右外连接(可以查出右表全部内容):
select 字段列表 from 表1 right outer join 表2 on 连接条件...;
- 左外连接(可以查出左表全部内容):
- 子查询:SQL语句中嵌套select语句,称为嵌套查询,又称子查询
- 形式:
select * from t1 where column1 = (select column1 from t2... );
- 子查询返回一个值或者一行或者一列或者一整个表
- 形式:
事务(一组操作的集合,要么全部成功要么全部失败):
- 操作:
- 开启事务:start transaction;/begin;
- 提交事务:commit;
- 回滚事务(恢复):rollback;
索引(提高获取数据速度的数据结构):
- 优点:1.提高数据查询效率,降低数据的io成本 2.通过索引列对数据进行排序,降低数据排序的成本,降低cpu消耗
- 缺点:1.索引会占用储存空间 2. 降低了增删改查的效率
- 结构:默认B+Tree结构
- 语法:
- 创建索引:
create [unique] index 索引名 on 表名 (字段名,...);
- 查看索引:
show index from 表名;
- 删除索引:
drop index 索引名 on 表名;
- 创建索引: