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表的结构
--