目录
一、存储引擎
1.基本介绍
-- 查看所有存储引擎
show ENGINES
2.存储引擎/表类型特点
3.使用案例
用户在线状态案例:
二、视图
1.基本概念
视图: 视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含列,其数据来自对应的真是表(基表)。
2.视图和真是表对应关系
3.视图基本使用
-- 视图
select * from emp;
-- 创建视图
create view emp_view01 as select id,name,sex,job,deptno from emp;
-- 查看视图结构
desc emp_view01;
-- 查看视图内容
select * from emp_view01;
select id,name,sex,job,deptno from emp_view01;
-- 查看创建视图的指令
show create view emp_view01;
-- 删除视图
drop view emp_view01;
4.视图最佳实践
-- 视图案例:多表
create view emp_view02 as
select name,sex,job,emp.deptno,dname from emp,dept where emp.deptno=dept.deptno;
select * from emp_view02;
结果:
四、MySQL管理
1.用户管理
1.MySQL用户
-- MySQL管理,根据需要创建不同的用户,赋予相应的权限,供人员使用
-- 创建新用户
create user 'feiyang'@'localhost' IDENTIFIED by '123456'
-- 新增用户
select * from mysql.user;
-- 删除用户
drop user 'feiyang'@'localhost'
2.修改用户登录密码
-- 修改用户登录密码
-- 设置本用户的密码
set password = password('abcd1234')
-- 设置其他用户密码
set password for 'feiyang'@'localhost' = password('qazwsx')
2.权限管理
1.MySQL中的权限
2.权限案例
-- 案例
-- 1.创建一个用户并且只可以从本地登录
create user 'feiyang'@'localhost' IDENTIFIED by '123456'
-- 2.创建库testdb下的news表
create database testdb;
create table testdb.news(
id int,
name varchar(32)
)
-- 3.给用户分配查看news表和添加数据的权限
grant select,insert on testdb.news to 'feiyang'@'localhost'
-- 4.测试看用户是否只有这几个权限,切换到feiyang用户
insert into testdb.news values(1,'张三'); -- 有
select * from testdb.news; -- 有
delete from testdb.news; -- 无
-- 5.修改密码
set password for 'feiyang'@'localhost' = password('abc')
-- 6.重新登录
-- 7.使用root用户删除你的用户
drop user 'feiyang'@'localhost'
-- 8.回收权限
revoke insert on testdb.news from 'feiyang'@'localhost'
3.MySQL管理细节
-- 用户管理授权细节
-- 不指定host则为%,%表示所有的ip都有连接权限
create user jack;
select * from mysql.user;
-- 可以指定可以访问的ip段
create user 'rose'@'192.168.1.*';