视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化会影响到视图。

 

基本使用:

  创建视图  :       create  view [视图名]  as  select语句

  删除视图:         drop  view  [视图名]

 

视图的注意事项

  1. 必须唯一命名(不能出现同名视图或表名)
  2. 创建视图数目无限制,但要考虑复杂查询创建为视图之后的性能影响
  3. 视图不能添加索引,也不能有关联的触发器或者默认值。
  4. 视图可以提高安全性,必须有足够的访问权限。
  5. order by可以用在视图中,但是如果从该视图检索数据select中也含有order  by,那么该视图中的order by将被覆盖
  6. 视图可以和表一起使用

 

用户管理

MySQL中的用户信息,都存储在系统数据库mysql的user表中。

host :表示这个用户可以从哪个主机登陆,如果是localhost ,表示只能从本机登陆

操作命令

创建用户:

create  user  '用户名'@'登陆主机IP'  identified by '密码'

修改密码:

 更改自己密码   set password = password('新的密码')

root用户修改制定用户的密码  set password  for   '用户名'@'主机名'=password ('新的密码')

授予权限:

语法 : grant  权限列表(多个权限可用逗号分开)  on  库.对象名   to  '用户名'@'登陆位置'    [identified  by  '密码' ]

   grant  all  [privileges]   on  [库名称].对象名   to  '用户名'@'登陆位置'    [identified  by  '密码' ]     //赋予该用户在该对象上的所有权限

  grant  权限列表   on  *.*   to  '用户名'@'登陆位置'    [identified  by  '密码' ]     赋予本系统中的所有数据库的所有对象

  grant  权限列表   on   [库名称] .*   to  '用户名'@'登陆位置'    [identified  by  '密码' ]    赋予某个数据库中的所有数据对象

identified  by可选。如果用户存在,赋予权限的同时修改密码,如果用户不存在,就创建用户

 

如果发现赋予权限后,没有生效,可执行 flush privileges

回收权限:

      revoke  [权限列表]   on [库.对象名]  from  '用户名'@'登陆位置'

删除用户:

      drop  user  '用户名'@'主机名'