自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天高任鸟飞

久坐等于慢性自杀,工作强度,运动强度

  • 博客(73)
  • 收藏
  • 关注

原创 MySQL收回权限

MySQL中,为了保证数据库的安全性 需要将用户不必要的权限,进行收回REVOKE语句MySQL中,提供了一个REVOKE语句,用于回收用户的权限语法格式 REVOKE privileges [columns] [, privileges [(columns)]] ON database.table FROM ‘username’@’hostname’ [, ‘username’@’hostn

2017-07-31 23:46:01 15091 1

原创 MySQL查询权限

使用SLECT语句,可以查询user表中的权限信息 但是,该语句不仅需要指定用户,还需要指定查询的权限,比较麻烦SHOW GRANTS语句MySQL中,提供了一个SHOW GRANTS语句语法格式 SHOW GRANTS FOR ‘username’@’hostname’; 只需要指定,查询的用户名和主机名即可使用SHOW GRANTS语句,查询root用户的权限可以看出,root用户拥有所有

2017-07-31 23:42:51 1313

原创 MySQL授予权限

数据库中,不同的用户拥有不同的权限,合理的授权,可以保证数据库的安全GRANT语句MySQL中,提供了一个GRANT语句,用于为用户授权语法格式 GRANT privileges [(columns)] [, privileges [(columns)]] ON database.table TO ‘username’@’hostname’ [IDENTIFIED BY [PASSWORD] ‘

2017-07-31 23:40:28 1411

原创 MySQL的权限

MySQL数据库中,为了保证数据的安全性 数据库管理员,需要为每个用户,赋予不同的权限,以满足不同用户的需求MySQL的权限MySQL中,权限信息,被存储在MySQL数据库的user、db、host、tables_priv、column_priv和procs_priv表中 当MySQL启动时,会自动加载这些权限信息,并将这些权限信息读取到内存中MySQL的权限信息user表的权限列,权限名称,权

2017-07-31 23:37:44 613

原创 MySQL解决root用户密码丢失问题

解决root用户密码丢失问题 root用户是超级管理员,如果密码的丢失,会造成很大的麻烦 针对这种情况,MySQL提供了应对机制,可以通过特殊的方法登录到MySQL服务器,然后,重新设置root用户的密码停止MySQL服务在运行对话框中,使用net命令,停止MySQL服务注意,回车执行,弹出的DOS窗口闪了一下马上消失了 在弹出的DOS窗口中,并没有显示:MySQL服务正在停止…… 可能My

2017-07-31 23:35:29 2793

原创 MySQL普通用户修改密码

普通用户修改密码普通用户,也可以修改自己的密码 否则,普通每次修改密码时还需要通知管理员 普通用户,登录到MySQL服务器后,通过SET语句,设置自己的密码语法格式 SET PASSWORD=PASSWORD(‘new_password’);注意,SET语句,修改普通用户密码时,和修改root用户一样,都需要使用PASSWORD()函数进行加密

2017-07-31 23:30:50 2815

原创 MySQL的root用户修改普通用户密码

root用户修改普通用户的密码GRANT语句使用GRANT语句,修改普通用户密码 GRANT语句,不仅可以创建用户为用户授权,还可以修改用户的密码 通常情况下,为了不影响当前账户的权限,可以使用GRANT USAFE语句,修改指定用户的密码语法格式 GRANT USAFE ON . TO ‘username’@’localhost’ IDENTIFIED BY [PASSWORD] ‘new_

2017-07-31 23:29:12 9000

原创 MySQL修改root用户密码

root用户,具有最高的权限 不仅可以修改自己 的密码,还可以修改普通用户的密码 普通用户,只能修改自己的密码mysqladmin命令使用mysqladmin命令,修改root用户密码 mysqladmin命令,用于执行一些管理工作,显示服务器状态等语法格式 Mysqladmin -u username [-h hostname] -p password new_password参数说明Us

2017-07-31 23:26:14 2020

原创 MySQL删除普通用户

MySQL中,通常会创建多个普通用户来管理数据库 当某些用户不再需要时,可以将其删除DROP USER语句使用DROP USER语句删除用户 DROP USER,只需要在语句后面指定要删除的用户即可语法格式DROP USER ‘username’@’hostname’ [,’username’@’hostname’];参数说明Username,表示要删除的用户 hostname,表示主机名

2017-07-30 23:41:30 2470

原创 MySQL创建普通用户

创建普通用户在创建用户之前,通过SELECT语句,查看mysql.user表中有哪些用户 查询结果可以看出,user表中只有一个root用户信息 由于,MySQL中存储的数据较多,通常一个root用户,是无法管理这些数据的,因此,需要创建多个普通用户,来管理不同的数据创建普通用户有三种方式GRANT语句使用GRANT语句创建用户 GRANT语句,不仅可以创建新用户,还可以对用户进行授权,该语句

2017-07-30 23:38:46 6021 1

原创 MySQL的user表

MySQL中,用户分为root用户和普通用户 root用户,为超级管理员,具有所有权限,比如,创建用户、删除用户、管理用户等 普通用户,只有被赋予的某些权限user表在安装MySQL时,会自动安装一个名为mysql的数据库,该数据库中的表,都是权限表,比如,user、db、host、tables_priv、column_priv和procs_priv 其中,user表示最重要的一个权限表,它记

2017-07-30 23:33:17 3898

原创 MySQL数据库还原

当数据库中的数据,遭到破坏时,可以通过备份好的数据文件进行还原还原是指还原数据库中的数据,然后,库是不能被还原的 备份文件,实际上就是由多个CREATE、INSERT和DROP语句组成,因此,只要使用mysql命令执行,这些语句就可以将数据还原语法格式 Mysql -uusername -ppassword [dbname] < filename.sql参数说明Username,表示登录的用户名

2017-07-30 23:28:37 10992 2

原创 MySQL数据库备份

在操作数据库时,难免发生一些意外造成数据丢失 比如,突然停电、管理员的操作失误,都可能导致数据的丢失为了确保数据的安全性,需要定期对数据库进行备份,这样,当遇到数据库中数据丢失,或者出错的情况,就可以将数据进行还原,从而,最大限度的降低损失备份日常生活中,经常为家的房门多配几把钥匙,为爱车准备一个别提,这些事情就是在做备份 MySQL中,提供了mysqldump命令,可以实现数据的备份 mys

2017-07-30 23:25:03 596

原创 MySQL视图的使用

视图的使用现在,有来自河北和山东的三个理科学生,报考北京大学和清华大学,需要对其考试的结果,进行查询和管理,北大录取分数线为720,清华录取分数线为725创建学生表stu,插入三条记录 字段分别为,学生的学号、姓名、所在省份、电话号码创建报名吧sign,插入三条记录 字段分别为,学生的学号、姓名、所在的学校、报考的学校名称创建成绩表stu_mark,插入三条记录 字段分别为,学生的学号、姓名、

2017-07-30 23:18:34 1113

原创 MySQL删除视图

当视图不需要时,可以将其删除 删除视图时,只能删除视图的定义,不会删除数据 删除一个或多个视图,使用DROP VIEW语句语法格式 DROP VIEW [IF EXISTS] View_name [,view_name1]…… [RESTRICT | CASCADE]参数说明View_name,表示要删除的视图名称 视图名称,可以添加多个,各个名称之间使用逗号隔开 注意,删除视图,必须

2017-07-30 23:14:46 29569

原创 MySQL更新视图

更新视图 是指通过视图,来更新、插入、删除基本表中的数据因为,视图是一个虚拟表,其中没有数据,所以,当通过视图更新数据时,其实,是在更新基本表中的数据,如果对视图中的数据进行增加,或者删除操作时,实际上是在对其基本表中的数据,进行增加或者删除操作UPDATE语句使用UPDATE语句更新视图 MySQL中,可以使用UPDATE语句,更新视图更新view_stu视图中,chinese字段对应的数据值

2017-07-29 23:58:44 13221

原创 MySQL修改视图

修改视图 是指修改数据库中,存在的视图的定义 比如,当基本表中的某些字段发生变化时,可以通过修改使徒的方式,来保持视图与基本表的一致性 MySQL中,修改视图的方式有两种CREATE OR REPLACE VIEW语句使用CREATE OR REPLACE VIEW语句,修改视图 语法格式 CREATE [OR REPLACE] [ALGORITHM={UNDEFINED | MERGE

2017-07-29 23:52:30 21828 2

原创 MySQL查看视图

查看视图 是指查看数据库中,已经存在的视图的定义 查看视图,必须要有SHOW VIEW的权限查看视图有三种方式使用DESCRIBE语句使用DESCRIBE语句,查看视图 MySQL中,使用DESCRIBE可以查看视图的字段信息,其中,包括字段名、字段类型等信息语法格式 DESCRIBE 视图名; 或者简写 DESC 视图名;使用describe语句,查看stu_class视图可以看出,显

2017-07-29 23:46:16 41356

原创 MySQL在多表上创建视图

MySQL中,在两个或者以上的基本表上创建视图在student表和stu_info表上,创建stu_class视图,查询出s_id号、姓名和班级 首先,创建stu_info表,并向表中插入数据查看表中的数据创建stu_class视图查看视图可以看出,创建的视图包含id、name和class字段 其中,id字段对应student表中的s_id字段,name字段对应student表中的name字段,

2017-07-29 23:40:43 32325 4

原创 MySQL在单表上创建视图

在单表上创建视图在student表上,创建view_stu视图 首先,创建一个数据库chapter07在数据库中,创建一个表student,用于存储学生信息 向student表中,插入数据查看表中数据创建student表的视图使用视图可以看出,视图创建成功 并且,重新定义了一个计算数据和语文成绩之和的math+chinese字段默认情况下,创建的视图字段名称和基本表的字段名是一样的,但是,也可

2017-07-29 23:37:16 7783

原创 MySQL创建视图的语法格式

视图,具有简化查询语句、安全性和保证逻辑数据独立性等作用创建视图的语法格式 视图中,包含SELECT查询的结果,因此,视图的创建基于SELECT语句,和已经存在的数据表,视图可以建立在一张表上,也可以建立在多张表上 MySQL中,使用CREATE VIEW语句,创建视图语法格式CREATE [OR REPLACE] [ALGORITHM={UNDEFIEND | MERGE | TEMPTABL

2017-07-29 23:33:13 14462

原创 MySQL视图概述

操作数据表,都是真实存在的一些表 数据库中,还有一种虚拟表,同真实表一样,都包含一系列带有名称和列的数据,这些表称为视图视图是从一个或多个表中导出来的表 是一种虚拟存在的表,并且,表的结构和数据都依赖于基本表通过视图,不仅可以看到存放在基本表中的数据,还可以像操作基本表一样,对视图中存放的数据进行查询、修改和删除视图优点与基本表相比,视图的优点简化查询语句视图不仅可以简化用户对数据的理解,还可以

2017-07-29 23:28:58 479

原创 MySQL删除存储过程

当数据库存储废弃的存储过程时,需要删除 MySQL中,使用DROP语句删除存储过程语法格式 DROP {PROCEDURE | FUNCTION} [IF EXISTS] sp_name参数说明Sp_name,为删除的存储过程名称 IF EXISTS,表示如果程序不存在,可以避免发生错误,产生一个警告,该警告可以使用SHOW WARNINGS进行查询删除存储过程CountProc1

2017-07-28 23:39:34 20939

原创 MySQL修改存储过程

在实际开发中,业务需求修改的情况时有发生,这样,不可避免的需要修改存储过程的特征,MySQL中,使用ALTER语句修改存储过程的特性语法格式 ALTER {PROCEDURE | FUNCTION} sp_name [characteristic……]参数说明Sp_name,表示存储过程或函数的名称 characteristic,表示要修改存储过程的哪个部分 Characteristic的取值

2017-07-28 23:37:24 18823

原创 MySQL查看存储过程

MySQL存储了,存储过程的状态信息 可以使用SHOW STATUS语句,或SHOW CREATE语句来查看,也可以直接从系统的information_schema数据库中查询SHOW STATUS语句SHOW STATUS语句,查看存储过程的状态语法格式SHOW {PROCEDURE | FUNCTION} STATUS [LIKE ‘pattern’]参数说明PROCEDURE和FUNCTIO

2017-07-28 23:31:57 37930

原创 MySQL调用存储过程

使用存储过程,可以使程序执行效率更高,安全性更好,增强程序的可重用性和维护性调用存储过程存储过程有多种调用方法 存储过程必须使用CALL语句调用,并且,存储过程和数据库相关,如果,要执行其他数据库中的存储过程,需要指定数据库名称语法格式 CALL sp_name ([parameter [,……]])参数说明Sp_name,为存储过程的名称 parameter,为存储过程的参数定义一个名为Co

2017-07-28 23:26:39 15372

原创 MySQL流程控制的使用

流程控制语句,用于将多个SQL语句,划分或组成成符合业务逻辑的代码块MySQL中流程控制语句包括,IF语句、CASE语句、LOOP语句、WHILE语句、LEAVE语句、ITERATE语句、REPEAT语句和WHILE语句每个流程中,可能包含一个单独语句,也可以是使用BEGIN……END构造的复合语句,可以嵌套IF语句IF语句,是指如果满足某种条件,根据判断的结果为TRUE,或者FALSE执行相应的语

2017-07-28 23:18:59 4949

原创 MySQL光标的使用

在编写存储过程时,查询可能返回多条记录,如果,数据量非常大,则需要使用光标来逐条读取查询结果集中的记录 光标,是一种用于轻松处理多行数据的机制光标的声明使用光标处理结果集中的数据,需要先声明光标 光标,必须声明在声明变量、条件之后,声明处理程序之前 MySQL中,使用DECLARE关键字来声明光标语法格式 DECLARE cursor_name CURSOR FOR select_state

2017-07-25 23:57:22 6380 1

原创 MySQL定义处理程序

定义完条件以后,需要定义针对此条件的处理程序 MySQL中,使用DECLARE语句定义处理程序语法格式DECLARE handler_type HANDLER FOR condition_value [,……] sp_statement Handler_type: CONTINUE | EXIT | UNDO Condition_value: | condition_name | SQL

2017-07-25 23:54:35 657

原创 MySQL定义条件

在开发过程中,经常需要对特定的条件进行处理,这些条件可以联系到错误以及子程序中的一般流程控制定义条件是指事先定义,程序执行过程中遇到的问题 处理程序定义了在遇到这些问题时,应当采取的处理方式,并且,保证存储过程在遇到警告或错误时,能继续执行定义条件 在编写存储过程中,使用DECLARE语句语法格式DECLARE condition_name CONDITION FOR [condition_ty

2017-07-25 23:49:55 716

原创 MySQL变量的使用

在编写存储过程中,有时需要使用变量,保存数据处理过程中的值 MySQL中,变量可以在子程序中,声明并使用,作用范围在BEGIN……END程序中定义变量在存储过程中,使用DECLARE语句,定义变量 语法格式 DECLARE var_name[,varname]……date_type[DEFAULT value]参数说明Var_name,为局部变量的名称 DEFAULT value,子句给变量

2017-07-25 23:46:58 988

原创 MySQL创建存储过程

在开发过程中,经常会遇到重复使用某一个功能的情况,为此,MySQL引入了存储过程 存储过程 就是一条或多条SQL语句的集合,当对数据库进行一系列复杂操作时,存储过程可以将这些复杂操纵,封装成一个代码块,以便重复使用,大大减少数据库开发人员的工作量创建存储过程使用CREATE PROCEDURE语句 CREATE PROCEDURE sp_name([proc_parameter]) [cha

2017-07-25 23:42:47 547

原创 MySQL事务的可串行化

可串行化——SERIALIZABLE 事务的最高级别,在每个读的数据行上,加上锁,使之不可能相互冲突,因此,会导致大量的超时现象设置b账户,事务的隔离级别 B账户,首先,将b账户的隔离级别设置为SERIALIZABLE可以看出,b账户的事务隔离级别设置为了SERIALIZABLE演示可串行化B账户,开启一个事务,查询各个账户的余额A账户,开启一个事务,在事务中执行插入操作可以看出,当b账户正在事

2017-07-20 22:25:42 20363 7

原创 MySQL事务的幻读

幻读——PHANTON READ 又称为虚度,是指在一个事务内,两次查询中数据条数不一致 幻读和不可重复读类似,都是在两次查询过程中,区别,幻读是由于其他事务做了插入记录的操作,导致,记录条数有所增加设置b账户的隔离级别 B账户,由于,前面将事务的隔离级别设置为REPEATABLE READ——可重复读,这种隔离级别可以避免幻读的出现 因此,需要将事务的隔离级别设置的更低,设置为READ C

2017-07-20 22:12:58 2414

原创 MySQL事务的读脏

所谓读脏,是指一个事务读取了,另外一个事务未提交的数据 首先,开启两个命令行窗口,模拟账户a和账户b 登录到数据库,chapter06设置b账户,事务的隔离级别 MySQL默认的隔离级别是REPEATABLE READ——可重复读 该级别是可以避免读脏的,因此,需要将b账户中事务的隔离级别设置为READ UNCOMMITTED——读未提交SET SESSION TRANSACTION ISO

2017-07-20 22:07:05 530

原创 MySQL事务的不可重复读

不可重复读——NON-REPEATABLE READ 是指事务中,两次查询的结果不一致,原因,在查询的过程中,其他事务做了更新的操作脏读,是读取了前一个事务,未提交的脏数据 不可重复读,是在事务内重复读取了,别的线程已提交的数据演示不可重复读B账户,开启一个事务,在事务中查询各账户的余额A账户,不用开启事务,直接使用update语句执行更新操作由于,a账户,只需要执行修改的操作,不需要保证同步性

2017-07-20 22:02:15 4523

原创 MySQL事务的隔离级别

数据库是多线程并发访问的,所以,很容易出现多个线程同时开启事务的情况,这样,就会出现脏读、重复读以及幻读的情况 为了避免这种情况的发生,需要为事务设置隔离级别,MySQL中,事务有4种隔离级别READ UNCOMMITTED读未提交,是事务中最低的级别,该级别下的事务可以读取到另一个事务中未提交的数据,也称为脏读——Dirty Read 由于该级别较低,在实际开发中,避免不了任何情况,所以一般很

2017-07-20 21:58:05 454

原创 MySQL事务的回滚

在操作一个事务时,如果,发现当前事务中的操作不合理,此时,只要还没有提交事务,就可以通过回滚来取消当前事务A账号有1000元,B账号有1000元 开启一个事务,使用update语句,将a账号的100元,转给b账号上述语句执行成功后,查看a账户和b账户的金额可以看出,a账户成功给b账户转账100元 如果,此时a账户不想给b账户转账了,由于,事务还没有提交,可以将事务回滚ROLLBACK;ROLLB

2017-07-20 21:56:24 2845

原创 MySQL事务的提交

事务的提交方式为手动提交有两个账户,a账户有900元,b账户有1100元 开启一个事务,使用update语句,实现由b账户,向a账户转100元的转账功能执行完成上述语句,查询account表中的余额可以看出,在事务中实现了转账功能 此时,退出数据库,然后重新登录,查询数据库中各账户的余额可以看出,事务中的转账功能没有成功 因此,在事务中转账成功后,没有提交事务就退出数据库了,由于,事务中的语句

2017-07-19 21:59:37 2297

原创 MySQL事务的特性

事务具有很严格的定义,必须同时满足4个特征 原子性、一致性、隔离性、持久性,也就是人们常说的ACID标准原子性——Atomicity原子性,是指一个事务必须被视为,一个不可分割的最小工作单元,只有事务中所有的数据库操作都执行成功,才算整个事务执行成功 事务中,如果有任何一个SQL语句执行失败,已经执行成功的SQL语句,也必须撤销,数据库的状态退回到执行事务之前的状态一致性——Consistenc

2017-07-19 21:56:30 524

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除