博客
关于我
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/

    你可能感兴趣的文章
    npm install CERT_HAS_EXPIRED解决方法
    查看>>
    npm install digital envelope routines::unsupported解决方法
    查看>>
    npm install 卡着不动的解决方法
    查看>>
    npm install 报错 EEXIST File exists 的解决方法
    查看>>
    npm install 报错 ERR_SOCKET_TIMEOUT 的解决方法
    查看>>
    npm install 报错 Failed to connect to github.com port 443 的解决方法
    查看>>
    npm install 报错 fatal: unable to connect to github.com 的解决方法
    查看>>
    npm install 报错 no such file or directory 的解决方法
    查看>>
    npm install 权限问题
    查看>>
    npm install报错,证书验证失败unable to get local issuer certificate
    查看>>
    npm install无法生成node_modules的解决方法
    查看>>
    npm install的--save和--save-dev使用说明
    查看>>
    npm node pm2相关问题
    查看>>
    npm run build 失败Compiler server unexpectedly exited with code: null and signal: SIGBUS
    查看>>
    npm run build报Cannot find module错误的解决方法
    查看>>
    npm run build部署到云服务器中的Nginx(图文配置)
    查看>>
    npm run dev 和npm dev、npm run start和npm start、npm run serve和npm serve等的区别
    查看>>
    npm run dev 报错PS ‘vite‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
    查看>>
    npm scripts 使用指南
    查看>>
    npm should be run outside of the node repl, in your normal shell
    查看>>