目录
一、导入和导出
1.使用工具,类似Sqlyog、Navicat等导入导出数据
二、视图
1、什么是视图
1 视图是一种虚拟的表,是从数据库中一个或多个表中导出来的表。
2 数据库中存放了视图的定义,而并没有存放视图中的数据,这些数据存放在原来的表中。
3 使用视图查询数据时,数据库系统会从原来的表中取出对应的数据。
2、视图的作用
1、 使操作简便化
2、增加数据的安全性
3、 提高表的逻辑独立性
3、基本语法
CREATE VIEW 视图名 AS SELECT 语句;
create VIEW v_student_score as
SELECT s.*,sc.score,c.*,t.tname FROM t_student s,t_score sc,t_course c,t_teacher t
WHERE s.sid = sc.sid and sc.cid=c.cid and c.tid=t.tid
三、索引
1、什么是索引
索引是由数据库表中一列或多列组合而成,其作用是提高对表中数据的查询速度。
类似于图书的目录,方便快速定位,寻找指定的内容。
2、索引的优缺点
优点:提高查询数据的速度
缺点:创建和维护索引的时间增加了,同时占用硬盘空间
3.索引分类
1、 普通索引:是最基本的索引,它没有任何限制
语法:create index 索引名 on 表名(字段名)
普通索引案例:
select * from t_log where moduleid = '100502999';
唯一索引
与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一
create unique index 索引名 on 表名(字段名)
create UNIQUE index idx_url on t_log(url);
3、 主键索引:是一种特殊的唯一索引,一个表只能有一个主键,不允许有空值
语法:create table 表名(
id int not null auto_increment primary key,
...
)
四、执行计划
1、什么是执行计划
使用 EXPLAIN 关键字可以模拟优化器执行SQL查询语句,从而知道MYSQL是如何处理你的sql语句的。分析你的查询语句或是表结构的性能瓶颈
语法: Explain + sql
2.执行计划的作用
1、 表的读取顺序
2、 数据读取操作的操作类型
3、 哪些索引可以使用
4、 哪些索引被实际使用
5、 表之间的引用
6、 每张表有多少行被优化器查
左外联:explain select * from t_user u left join t_role r on u.roleid = r.roleid
右外联:explain select * from t_user u right join t_role r on u.roleid = r.roleid
or条件中有未建立索引的列才索引失效
EXPLAIN select * FROM t_user where username ='张三' and `Password`=123456
条件类型不一致
EXPLAIN select * from t_user where username='1'
!= 号(例外:如果是主键,则会走索引)
无效
EXPLAIN select * from t_user where username!='张三'
order by
EXPLAIN select * from t_user where username!='张三'
order by roleid