MySQL教程之MySQL高级学习笔记

1.变量相关

临时变量

--定义在函数体或存储过程中的变量

--用法在讲函数时会提到

用户变量,也称会话变量

--用户变量只对当前连接用户有效,其他连接用户无法访问

--使用

标识符声明用户变量

SET

age=20;--定义一个值为20的age变量

--使用SELECT来查看用户

SELECT

age;

--使用:=来在查询语句中进行赋值

SELECT

maxage:=MAX(age)FROMstudent;

--注意事项:

--不区分大小写

--同一个账户,一旦退出,用户变量也不会再存在

--如果用户变量不存在,使用SELECT查看会返回NULL

系统变量

--任何一个用户都可以访问

--使用

来作为标识符

--查看所有的系统变量

SHOWVARIABLES;

SHOWVARIABLES\G;--可以使用显示不用过长

--同样使用SELECT语句来进行查询

SELECT

age;

--修改系统变量

--临时修改,只有当前用户使用这个值

SETvariable_name=new_value;--一需要

SETwait_timeout=20;

--永久修改

SETGLOBALvariable_name=new_value;

SETGLOBALwait_timeout=20;

--不能自己定义一个新的系统变量

--不区分大小写

2.账户管理

账户管理的应用场景

在实际项目开发中,不可能让每个开发人员都使用root账户进行登录

根据开发人员角色的不同,会分配具有不同权限的账户

MySQL账户体系

服务实例级账户:启动了一个mysqld,即为启动一个数据库实例。如果某用户拥有服务实例分配的权限,那么该账号就可以删除所有的数据库,连同这些库中的表

数据库级别账户:对特定数据库执行增删改查(CRUD)的所有操作,最常用的一种级别

数据表级别账户:对特定表执行CRUD的所有操作

字段级别账户:对某些表的特定字段进行操作

存储程序级别账户:对存储程序进行CRUD的操作

查看账户

--需要有服务实例级的权限登录后进行操作

--账户都存储在mysql.user表中

DESCmysql.user;--查看mysql.user表的结构

--


转载请注明:http://www.aierlanlan.com/cyrz/4674.html