zoukankan      html  css  js  c++  java
  • DBA要干的事

    视图

    产生的原因:
    如果有一个SQL语句频繁的会被使用到,比如说:
    select * from t4 where id>12 and id <24;

    搞一个映射,或者取一个别名
    select * from t4 where id>12 and id <24 === > v1
    视图:

    select * from v1;

    创建视图:

    create view v1 as select * from t4 where id>12 and id <24;

    修改视图:
    alter view v1 as sql语句;

    删除视图:
    drop view v1;


    问题:
    如果原生的表数据发生了变化, 那视图会不会发生变化? 也会变化

    视图中的数据会不会发生修改? 不会发生修改

    应用场景:

    MySQL: (DBA)
    生成视图View

    程序:
    调用 select * from v1;

    函数

    不要轻易使用

    在程序中, 用代码计算, 计算好了, 再传给SQL语句执行


    存储过程:

    将一大堆 SQL 语句进行封装, 类似于函数, 结果就是存储过程

    MySQL服务端:
    DBA (写)


    a. 简单的存储过程:
    delimiter //
    create procedure p1()
    BEGIN
    select * from t11;
    END //
    delimiter ;

    程序:
    call p1();

    b. 传参数: (in)
    delimiter //
    create procedure p2(
    in n1 int,
    in n2 int
    )
    BEGIN
    select * from t11 where id > n1;
    END //
    delimiter ;

    程序:
    call p2(12, 2)

    c. 传入参数: (out)

    delimiter //
    create procedure p3(
    in n1 int,
    out n2 int
    )
    BEGIN
    select * from t11 where id > n1;
    set n2 = 1;
    END //
    delimiter ;


    set @v2=123212;
    call p3(12, @v2);

    select @v2;


    触发器:

    向用户表中添加一条数据的同时, 在日志表中也添加一条记录

    delimiter //
    CREATE TRIGGER t1 BEFORE INSERT ON t7 FOR EACH ROW
    BEGIN
    insert into t11 (name, money) values ('xxx', 1234);
    END //
    delimiter ;

    权限管理

    创建用户
    create user '用户名'@'IP地址' identified by '密码';
    creaee user 'zekai'@'192.168.1.123' identified by '123qwe';
    creaee user 'zekai'@'192.168.1.%' identified by '123qwe';
    create user 'zekai'@'%' identified by '123qwe';

    删除用户
    drop user '用户名'@'IP地址';
    修改用户
    rename user '用户名'@'IP地址' to '新用户名'@'IP地址';

    修改密码
    set password for '用户名'@'IP地址' = Password('新密码')

    授权:
    grant 权限 on 数据库.表 to '用户'@'IP地址' -- 授权

    grant select on db1.* to 'zekai'@'%';
    grant select on *.* to 'zekai'@'%';
    grant select, insert, delete on db1.* to 'zekai'@'%';

    记住:
    flush privileges;

  • 相关阅读:
    linux/windows nginx安装
    linux/windows vsftpd安装
    linux 操作命令
    linux/windows java tomcat安装
    常见的Activity Action Intent常量
    Intent.ACTION_PICK
    Android实现抽奖转盘
    Android-短信验证
    Android-多平台分享(新浪微博)
    Android 手势滑动,多点触摸放大缩小图片
  • 原文地址:https://www.cnblogs.com/1624413646hxy/p/11040966.html
Copyright © 2011-2022 走看看