东软培训-Day5

大熙哥 2021年09月10日 115次浏览

权限表

  • tables_priv表、columns_priv表和procs_priv表
  • tables_priv表用来对表设置操作权限
  • columns_priv表用来对表的某一列设置权限
  • procs_priv表可以对存储过程和存储函数设置操作权限

权限表原理

image.png

账户权限

使用CREATE USER语句创建新用户

create user 'ttcuser'@'localhost' identified by '123456';
mysql> select password('neusoft');
mysql> create user 'ttcuser2'@'localhost' identified by '*39F58E32475715731C339136692B4BCF344268E7';

使用GRANT语句创建或授权

mysql> grant select ,update on *.* to 'test1'@localhot identified by '123456';

使用DROP USER语句删除用户

使用RENAME USER语句修改用户。

使用ALTER USER语句修改密码。

使用SET语句修改密码。

root用户修改自己的密码

使用UPDATE语句修改MySQL数据库中的user表。因为所有账户信息都保存在user表中,因此可以通过直接修改user表来改变root用户的密码。
root用户登录到MySQL服务器后,使用UPDATE语句修改MySQL数据库中的user表的authentication_string字段值,从而修改用户密码。使用UPDATE语句修改root用户密码的语句如下。

update mysql.user set authentication_string=password('123qwe') where user='root' 

授权

授权就是为某个用户授予权限。在MySQL中,可以使用GRANT语句为用户授予权限。
权限的级别。授予的权限可以分为多层级别。

  • 全局层级。全局权限作用于一个给定服务器上的所有数据库。这些权限存储在mysql.user表中。可以通过使用GRANT ALL ON *.*语法设置全局权限。

  • 数据库层级。数据库权限作用于一个给定数据库的所有表。这些权限存储在mysql.db表中。读者可以通过使用GRANT ON db_name.*语法设置数据库权限。

  • 子程序层级。CREATE ROUTINE、ALTER ROUTINE、EXECUTE和GRANT权限适用于已存储的子程序(存储过程或函数)。这些权限可以被授予全局层级和数据库级别。而且,除了CREATE ROUTINE外,这些权限可以被授予子程序层级,并存储在mysql.procs_priv表中。

  • 权限的级别。授予的权限可以分为多层级别。

  • 表层级。表权限作用于一个给定表的所有列。这些权限存储在mysql.tables_priv表中。可以通过GRANT ON table_name为具体的表名设置权限。

  • 列层级。列权限作用于在一个给定表的单个列。这些权限存储在mysql.columns_priv表中。读者可以通过指定一个columns子句将权限授予特定的列,同时要在ON子句中指定具体的表。

使用GRANT语句创建一个新用户grantUser,密码为“grantpwd”。用户grantUser对所有的数据有查询、插入权限,并授予GRANT权限。

mysql> grant select ,insert on *.* to grantUser@localhost identified by 'grantpwd' with grant option;

如果是远程用户,使用%

mysql> grant select ,insert on *.* to grantUser@% identified by 'grantpwd' with grant option;

收回权限

收回所有权限。其基本语法如下。

REVOKE ALL PRIVILEGES,GRANT OPTION
FROM 'username'@'hostname'[,'username'@'hostname'][,…n];

使用REVOKE语句收回grantUser用户的的所有权限,包括GRANT权限。

	mysql> revoke all privileges,grant option from grantUser@localhost;

查看权限

SHOW GRANTS语句可以显示指定用户的权限信息。

PLS/SQL

数据库程序设计语言,在各种环境下对ORACLE数据库进行访问。

结构

DECLARE
	声明
BEGIN
	执行
EXCEPTION
	异常
END

自定义记录类型

image.png

%type的使用

声明数据结构和字段一致
image.png

%rowstype的使用

声明数据结构和表一致
image.png

插入例子

image.png

流程控制语句

image.png

IF语句

image.png

代码

image.png

CASE表达式

image.png

Loop循环

image.png

while 循环

image.png

FOR 循环

image.png

游标

image.png

游标传参

image.png

游标属性

image.png

游标FOR循环

image.png

异常

image.png