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

    你可能感兴趣的文章
    Node提示:npm does not support Node.js v12.16.3
    查看>>
    Node搭建静态资源服务器时后缀名与响应头映射关系的Json文件
    查看>>
    Node服务在断开SSH后停止运行解决方案(创建守护进程)
    查看>>
    node模块化
    查看>>
    node环境下使用import引入外部文件出错
    查看>>
    node编译程序内存溢出
    查看>>
    Node读取并输出txt文件内容
    查看>>
    node防xss攻击插件
    查看>>
    noi 1996 登山
    查看>>
    noi 7827 质数的和与积
    查看>>
    NOIp2005 过河
    查看>>
    NOIP2011T1 数字反转
    查看>>
    NOIP2014 提高组 Day2——寻找道路
    查看>>
    NOIp模拟赛二十九
    查看>>
    Nokia5233手机和我装的几个symbian V5手机软件
    查看>>
    Non-final field ‘code‘ in enum StateEnum‘
    查看>>
    none 和 host 网络的适用场景 - 每天5分钟玩转 Docker 容器技术(31)
    查看>>
    None还可以是函数定义可选参数的一个默认值,设置成默认值时实参在调用该函数时可以不输入与None绑定的元素...
    查看>>
    NOPI读取Excel
    查看>>
    NoSQL&MongoDB
    查看>>