博客
关于我
Mysql理论知识点基础篇二(视图-索引-游标-存储过程-触发器-用户管理-数据备份与恢复)
阅读量:354 次
发布时间:2019-03-04

本文共 1693 字,大约阅读时间需要 5 分钟。

数据库对象及其应用

一 视图

视图是一种虚拟表,允许用户通过单一SQL查询获取多个表的数据。以下是创建视图的命令及其相关说明:

创建视图的命令

CREATE VIEW 视图名 ASSELECT 语句

特点

  • 不允许创建索引和触发器。
  • 可以对视图进行更新操作,但每次更新仅影响一个表。
  • 视图是虚拟表,不存储实际数据。
  • 若定义视图的SQL语句包含计算、分组或聚合函数,则视图不可更新。
  • 创建视图的优点:提升数据库安全性。
  • 二 索引

    索引是提升数据库查询速度的重要工具。以下是创建索引的命令及其相关说明:

    创建索引的命令

    CREATE [UNIQUE] INDEX 索引名 ON 表名(列名 [ASC|DESC])

    索引的优缺点

    • 优点:加速查询。
    • 缺点:降低更新速度。

    注意事项

    • 视图上不允许创建索引。
    • 索引可以在建表时创建,也可在表已存在时添加。

    三 游标

    游标是一种用来操作数据库结果集的工具。以下是定义游标的命令及其相关说明:

    定义游标的命令

    DECLARE 游标名 CURSOR FOR SELECT 语句

    游标操作

    • 声明DECLARE cursor_name CURSOR FOR SELECT ...
    • 打开OPEN cursor_name
    • 读取FETCH NEXT FROM cursor_name
    • 关闭CLOSE cursor_name

    特点

    • 游标相当于数据库操作中的“指针”,用于逐行处理结果集。

    四 存储过程

    存储过程是一种可重用、模块化的数据库程序。以下是定义存储过程的命令及其相关说明:

    定义存储过程的命令

    CREATE PROCEDURE 存储过程名(IN|OUT|INOUT 参数名 数据类型 [, ...N])BEGIN  SQL语句序列END;

    存储过程的特点

    • 支持三种参数类型:IN、OUT、INOUT。
    • 可使用变量和条件判断。
    • 存储过程执行需使用CALL命令。
    • 不支持返回值。

    五 触发器

    触发器是一种自动执行的数据库操作,根据数据变化事件(INSERT、UPDATE、DELETE)激活。以下是触发器的特点及相关说明:

    触发器的特点

    • 只能定义在表上。
    • 不支持在ALTERDELETE操作中重新定义。
    • 不能使用触发器执行的ALTERDELETERENAME等语句。

    六 用户管理

    用户管理是数据库安全的重要组成部分。以下是用户管理的相关命令及说明:

    创建用户的命令

    CREATE USER '用户名'@'localhost' IDENTIFIED BY '用户密码';

    修改用户密码的命令

    SET password FOR '用户名'@'localhost' = password('新密码');

    授予权限的命令

    GRANT select, delete ON 数据库名.表名 TO '用户名'@'localhost';

    回收权限的命令

    REVOKE select, delete ON 数据库名.表名 FROM '用户名'@'localhost';

    示例

    CREATE USER 'u1'@'localhost' identified by '12345';SET password for 'u1'@'localhost' = password('45678');GRANT select, delete ON lianxi.stu TO 'u1'@'localhost';REVOKE select, delete ON lianxi.stu FROM 'u1'@'localhost';

    七 数据备份与恢复

    数据备份与恢复是数据库管理中的关键环节。以下是数据备份与恢复的相关命令及说明:

    数据备份的命令

    mysqldump

    数据恢复的命令

    mysql

    注意事项

    • 数据备份前,建议先执行FLUSH TABLESLOCK Tables以确保数据一致性。
    • 数据恢复时,应将备份文件还原到相应的数据库,并重命名原始数据表以避免冲突。

    通过以上命令和知识,您可以更高效地管理数据库,提升开发效率和数据安全性。

    转载地址:http://ccnr.baihongyu.com/

    你可能感兴趣的文章
    nodejs中Express 路由统一设置缓存的小技巧
    查看>>
    nodejs中express的使用
    查看>>
    Nodejs中的fs模块的使用
    查看>>
    NodeJS使用淘宝npm镜像站的各种姿势
    查看>>
    nodejs包管理工具对比:npm、Yarn、cnpm、npx
    查看>>
    NodeJs单元测试之 API性能测试
    查看>>
    nodejs图片转换字节保存
    查看>>
    nodejs在Liunx上的部署生产方式-PM2
    查看>>
    nodejs字符与字节之间的转换
    查看>>
    NodeJs学习笔记001--npm换源
    查看>>
    NodeJs学习笔记002--npm常用命令详解
    查看>>
    nodejs学习笔记一——nodejs安装
    查看>>
    NodeJS实现跨域的方法( 4种 )
    查看>>
    nodejs封装http请求
    查看>>
    nodejs常用组件
    查看>>
    nodejs开发公众号报错 40164,白名单配置找不到,竟然是这个原因
    查看>>
    Nodejs异步回调的处理方法总结
    查看>>
    NodeJS报错 Fatal error: ENOSPC: System limit for number of file watchers reached, watch ‘...path...‘
    查看>>
    Nodejs教程09:实现一个带接口请求的简单服务器
    查看>>
    nodejs服务端实现post请求
    查看>>