mysql触发器触发语句(mysql事务触发器函数过程)
就是函数,存储过程往往是为了实现某个单一的功能而临时存在的。
存储过程与函数的区别
1.实现功能不一样,存储过程是为实现某个单一功能而设计,函数是为了解决某类型的问题而存在
2.存储过程没有返回值,函数必须有返回值
3.存储过程与函数的参数不一样
4.存储过程往往是对表数据进行操作,而函数不是
存储过程语法
create procedure 过程名字(参数列表)
begin
//过程体,跟函数体一样
end
定义存储过程
调用存储过程
语法:call 过程名(参数列表)
调用
错误:out和inout类型的参数必须使用变量来进行传递,不能直接使用值
正确:
执行后对外部变量查看
mysql用户管理
当前都是采用root,超级管理员权限对数据库进行操作。
当数据库比较大,而且分工非常明确的时候,通常会创建一些用户(登录用户)来交不同层次的数据用户,他们拥有的权限是不一样的。
用户权限管理。对用户的增删改查(包括权限)
查看数据库的用户信息:mysql->user表
select user,host,password from user;
三个字段的意思:
user:用户名
host:允许登录的主机
password:加密后密码
创建用户
语法:create user 用户名 identified by ‘密码’;
用户名:用户名不单止用户名字还应该包括主机名:’username’@’主机名’
主机名:可以是域名,可以是IP,也可以是类似通配符:’192.168.3.%’;’%’所有电脑都可以访问
密码:该处密码是明文,系统会自动使用password()函数进行加密
如果需要进行通配,那么需要使用%分号,不能使用*号
代表局域网内的用户可以访问
但是,这个时候,用户只有登录的权限,没有对应数据库的查看和操作权限
给用户分配权限
语法:grant 权限列表 on 数据库.数据表 to 用户
权限列表
语句
有一种简单的方式给全部权限给用户
语法:grant all privileges on 库.表 to 用户
效果
回收权限
语法:revoke 权限列表 on 库.表 from 用户
用户管理:用户是由用户名和主机名组成
用户管理的时候,要根据具体需求分配权限。
忘记密码普通的密码忘记,只需要管理员进入到系统,对mysql库中的user表进行更新
update user set password = password(‘新密码’) where user=’用户名’ and host = ‘主机名’;
root用户忘记密码了该怎么办?
1.重装,最简单暴力的操作(一定要注意数据的保护),一般不采用这种方式
2.重置root用户密码
重置root用户密码
1.停止mysql服务
2.重新启动mysql服务端,但是不能使用服务管理,需要使用bin目录下的mysqld.exe
语法:mysqld.exe –skip-grant-tables 重启mysql服务,但是跳过权限管理
3.直接使用客户端进入,而不需要密码
语法:mysql回车
查看当前用户
4.进入到mysql数据库修改root用户的密码
语法:update user set password = password(‘新密码’) where user=’root’ and host = ‘localhost’;
5.对权限进行刷新操作
语法:flush privileges;
6.退出系统,重启mysql服务器,就可以使用新密码登录
注意:
1.在修改root密码的时候,千万要保证其他用户进不去(防火墙)
2.修改密码的时候一定要指定具体用户和主机名
索引索引指的是一个二进制文件,保存的是二叉树结构。能够快速的定位到要查找的数据。类似书的目录结构。
mysql有以下几种索引:
主键索引,唯一键索引,普通索引,全文索引(优化关键字,分词技术sphinx)
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com