MySQL事务

程序员日记      2019-08-17
事务具有4个特性:1.原子性(Atomicity)事务必须是原子工作单元,事务中的操作要么全部执行,要么全都不执行,不能只完成部分操作。原子性在数据库系统中,由恢复机制来实现。2.一致性(Consistency)事务开始之前,数据库处于一致性的状态;事务结束后,数据库必须仍处于一致性状态。数据库一致性的定义是由用户负责的。例如,在银行转账中,用户可以定义转账前后两个账户金额之和保持不变。3.隔离性(Isolation)系统必须保证事务不受其他并发执行事务的影响,即当多个事务同时运行时,各事务之间...
标签:
435 人看过

MySQL用户权限管理(授权给用户,删除用户授权)

程序员日记      2019-08-17
授权给用户新建的MySQL用户,必须给它授权,可以用GRANT语句来实现对新建用户的授权。语法格式GRANT权限类型[(列名)][,权限类型[(列名>)]]ON对象权限级别TO用户名[IDENTIFIED]BY[PASSWORD]口令[WITHGRANTOPTION]|MAX_QUERIES_PER_HOUR次数|MAX_UPDATES_PER_HOUR次数|MAX_CONNECTIONS_PER_HOUR次数|MAX_USER_CONNECTIONS次数说明1.列名可选项。用于指定权限要...
标签:
422 人看过

MySQL用户管理(创建用户,修改用户信息,删除用户)

程序员日记      2019-08-17
创建用户可以使用CREATEUSER语句来创建一个或多个MySQL账户,并设置相应的口令。语法结构CREATEUSER用户名[IDENTIFIED]BY[PASSWORD]密码说明1.用户名指定创建用户账号,格式为'user_name'@'host_name'。这里user_name是用户名,host_name为主机名,即用户连接MySQL时所在主机的名字。若在创建的过程中,只给出了账户的用户名,而没指定主机名,则主机名默认为“%”,表示一组主机。2.PASSWORD可选项,用于指定散列口令,即...
标签:
472 人看过

MySQL 索引管理(创建索引,查看索引,修改索引,删除索引)

程序员日记      2019-08-17
创建索引MySQL提供了3种创建索引的方法1.创建表时创建索引(CREATETABLE)主键索引CREATETABLE数据表名(...PRIMARYKEY[索引类型](列名,…))ENGINE=存储引擎CHARSET=UTF8;普通索引(单列索引,组合索引)CREATETABLE数据表名(...KEY|INDEX[索引名][索引类型](列名1,...))ENGINE=存储引擎CHARSET=UTF8;唯一索引CREATETABLE数据表名(...UNIQUE[INDEX|KEY][索引名][索引...
标签:
447 人看过

MySQL索引概述

程序员日记      2019-08-17
定义索引是MySQL中一种十分重要的数据库对象。它是数据库性能调优技术的基础,常用于实现数据的快速检索。索引就是根据表中的一列或若干列按照一定顺序建立的列值与记录行之间的对应关系表,实质上是一张描述索引列的列值与原表中记录行之间一一对应关系的有序表。MySQL通常有以下两种方式访问表的行数据:1)顺序访问顺序访问是在表中实行全表扫描,从头到尾逐行遍历,直到在无序的行数据中找到符合条件的目标数据。这种方式实现比较简单,但是当表中有大量数据的时候,效率非常低下。例如,在几千万条数据中查找少量的数据时...
标签:
406 人看过

MySQL触发器(触发器概述,创建触发器,查看触发器,修改触发器,删除触发器)

程序员日记      2019-08-16
触发器概述定义MySQL数据库中触发器是一个特殊的存储过程,不同的是执行存储过程要使用CALL语句来调用,而触发器的执行不需要使用CALL语句来调用,也不需要手工启动,只要一个预定义的事件发生就会被MySQL自动调用。优点:1.触发程序的执行是自动的,当对触发程序相关表的数据做出相应的修改后立即执行。2.触发程序可以通过数据库中相关的表层叠修改另外的表。3.触发程序可以实施比FOREIGNKEY约束、CHECK约束更为复杂的检查和操作。触发器与表关系密切,主要用于保护表中的数据。特别是当有多个表...
标签:
416 人看过

MySQL存储过程(创建存储过程,调用存储过程,修改存储过程,删除存储过程)

程序员日记      2019-08-16
定义存储过程是一组为了完成特定功能的SQL语句集合。使用存储过程的目的是将常用或复杂的工作预先用SQL语句写好并用一个指定名称存储起来,这个过程经编译和优化后存储在数据库服务器中,因此称为存储过程。当以后需要数据库提供与已定义好的存储过程的功能相同的服务时,只需调用“CALL存储过程名字”即可自动完成。存储过程的优点1.封装性存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句,并且数据库专业人员可以随时对存储过程进行修改,而不会影响到调用它的应用程序源代码。2.可增强...
标签:
466 人看过

MySQL自定义函数(创建函数,调用函数,查看函数,删除函数)

程序员日记      2019-08-16
定义在使用MySQL的过程中,MySQL自带的函数可能完成不了我们的业务需求,这时候就需要自定义函数。自定义函数是一种与存储过程十分相似的过程式数据库对象。它与存储过程一样,都是由SQL语句和过程式语句组成的代码片段,并且可以被应用程序和其他SQL语句调用。自定义函数与存储过程之间存在几点区别:1.自定义函数不能拥有输出参数,这是因为自定义函数自身就是输出参数;而存储过程可以拥有输出参数。2.自定义函数中必须包含一条RETURN语句,而这条特殊的SQL语句不允许包含于存储过程中。3.可以直接对自...
标签:
730 人看过

MySQL视图管理(视图概述,创建视图,修改视图,删除视图)

程序员日记      2019-08-16
MySQL视图概述视图是数据库系统中一种非常有用的数据库对象。MySQL5.0之后的版本添加了对视图的支持定义视图是一个虚拟表,其内容由查询定义。同真实表一样,视图包含一系列带有名称的列和行数据,但视图并不是数据库真实存储的数据表。视图是从一个、多个表或者视图中导出的表,包含一系列带有名称的数据列和若干条数据行。视图和表一样可以进行查询,修改和删除的操作视图与普通数据表的区别1.视图不是数据库中真实的表,而是一张虚拟表,其结构和数据是建立在对数据中真实表的查询基础上的。2.存储在数据库中的查询操...
标签:
509 人看过

MySQL删除数据语句

程序员日记      2019-08-16
在MySQL中,可以使用DELETE语句来删除表的一行或者多行数据。语法格式DELETEFROM表名[WHERE子句][ORDERBY子句][LIMIT子句]说明:表名:指定要删除数据的表名。ORDERBY子句:可选项。表示删除时,表中各行将按照子句中指定的顺序进行删除。WHERE子句:可选项。表示为删除操作限定删除条件,若省略该子句,则代表删除该表中的所有行。LIMIT子句:可选项。用于告知服务器在控制命令被返回到客户端前被删除行的最大值。测试用例测试数据mysql>SELECT*FRO...
标签:
426 人看过