MySQL数据库--视图,索引,备份。。

什么是视图?

视图是一张虚拟的表,视图中不存放数据,其结构和数据是建立在对表的查询基础上,

表示一张表的部分数据或多张表的综合数据。

视图的用途
筛选表中的行
防止未经许可的用户访问敏感数据
降低数据库的复杂程度

将多个物理数据库抽象为一个逻辑数据库

视图注意事项

使用视图修改数据会有许多限制,

一般在实际开发中视图仅用作查询

对视图数据进行添加、更新和删除操作直接影响所引用表中的数据

当视图数据来自多个表时,不允许添加和删除数据

创建视图:

扫描二维码关注公众号,回复: 391191 查看本文章
CREATE VIEW view_name  
   AS
    <SELECT 语句>;
#创建视图
USE student
CREATE  VIEW vw_student AS
SELECT s.studentno,studentname,subjectname,studentresult,examdate
FROM student AS s 
INNER JOIN result AS r ON r.`subjectNo`=s.`studentNo`
INNER JOIN SUBJECT AS sub ON sub.`subjectNo`=r.`subjectNo`
删除视图:

DROP VIEW [IF EXISTS] view_name;
 
DROP VIEW IF EXISTS view_student;

查看视图:

SELECT 字段1, 字段2, …… FROM view_name;
SELECT * FROM  vw_result

查看全部视图:

USE information_schema;
SELECT * FROM views  

什么是索引?

索引是一种有效组合数据的方式,为快速查找到指定记录

索引的作用

大大提高数据库的检索速度

改善数据库性能

MySQL索引按存储类型分类
B-树索引:InnoDB、MyISAM均支持

哈希索引

常用的索引类型

普通索引:基本索引类型

允许在定义索引的列中插入重复值和空值

唯一索引:索引列数据不重复

允许有空值;

主键索引:主键列中的每个值是非空、唯一的
一个主键将自动创建主键索引

复合索引:将多个列组合作为索引

全文索引:支持值的全文查找

允许重复值和空值

空间索引:对空间数据类型的列建立的索引

创建索引

CREATE  INDEX `index_student_studentName`
   ON `student`(`studentName`);

删除索引

DROP  INDEX index_name ON table_name;

查看索引

SHOW INDEX FROM table_name;

查看数据一个数据库中的全部索引

USE myschool;
SHOW INDEX FROM `student

创建索引的基本原则

按照下列标准选择建立索引的列
    频繁搜索的列
    经常用作查询选择的列
    经常排序、分组的列

    经常用作连接的列(主键/外键)

请不要使用下面的列创建索引

    仅包含几个不同值的列
    表中仅包含几行

数据库备份

mysqldump -u usrname(用户名称) -h host(登陆主机名) -p password(用户密码)
 dbname(需要备份的数据)tbname(需要备份的表名)>filename.sql(备份后的名称)
例如: mysqldump –u root –p myschool student > d:\backup\myschool_20160808.sql

恢复数据库

1 :mysql –u username用户名 –p [dbname]数据库名 < filename.sql 备份文件名
2 :source filename;    #source命令恢复数据库
CREATE DATABASE myschoolDB2;  #创建数据库
USE myschoolDB2;  #选择数据库
source d:\backup\myschool_20160808.sql; #恢复数据库





猜你喜欢

转载自blog.csdn.net/qq_41655148/article/details/79663102