随笔分类 -  mysql

摘要:一、SQL表 分两个库ds0,ds1 ds0下的表:t_order_0、t_order_1、t_order_item_0、t_order_item_1、t_dict、t_single ds1下的表:t_order_0、t_order_1、t_order_item_0、t_order_item_1、t 阅读全文
posted @ 2021-04-01 11:29 彩电 阅读(112) 评论(0) 推荐(0)
摘要:表总体上分为三种: 1、表锁 Myisam 开销小,并发低,加锁快,不会出现死锁问题;锁粒度大,发生锁冲突的概率最高。 2、行锁 innodb 开销大,并发高,加锁慢,会出现死锁问题;锁粒度小,发生锁冲突的概率最低。 3、页面锁 开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之 阅读全文
posted @ 2019-07-09 16:29 彩电 阅读(580) 评论(2) 推荐(0)
摘要:1、ACID A:原子性:一个事务中的每个操作,要么都做要么都不做,不会在事务结束后有的做了有的没做。 C:一致性:一个事务的始末应该对数据库的完整性没有破坏。比如转账问题,A转出帐,B不能没收到。 I:隔离性:同一时间一个事务操作一个数据,另一个事务不能操作这个数据。 D:持久新:事务处理后的数据 阅读全文
posted @ 2019-07-05 18:30 彩电 阅读(609) 评论(0) 推荐(0)
摘要:实体对象:矩形 属性:椭圆 关系:菱形 一对一,一对多,多对一,多对多 阅读全文
posted @ 2018-08-08 18:30 彩电 阅读(267) 评论(0) 推荐(0)
摘要:一、Hibernate完成一个事务的过程 背景: 当多个事务同时要同一个数据时,如果没有良好的控制手段,则有可能同一个数据被别的事务修改而造成混乱,此时,可以利用数据库底层提供的锁机制对当前操作的数据进行锁定,以防止其他事务同时操作事务。 二、悲观锁(Pessimistic Locking) 每次在 阅读全文
posted @ 2018-03-31 17:51 彩电 阅读(306) 评论(1) 推荐(0)
摘要:第一步建表并插入5条记录: 接下来我们看下大部分mysql所说的幻读现象: 事务1(开启事务查询发现没有记录6准备插入): 事务2(开启事务,发现没有记录6插入,并提交事务): 事务1:查询发现没有记录6,现在开始进行插入6: 没有的记录我要插入却告诉已经存在,这就是通常说的幻读。 阅读全文
posted @ 2018-01-29 23:33 彩电 阅读(1415) 评论(0) 推荐(0)
摘要:SQL标准定义了4种隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。 低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。 首先,我们使用 test 数据库,新建 tx 表,并且如图所示打开两个窗口来操作同一个数据库: 第1级别:Read Uncommitt 阅读全文
posted @ 2018-01-29 23:32 彩电 阅读(221) 评论(0) 推荐(0)
摘要:一、数据库的ACID 原子性(Atomicity):保证事务中的所有操作全部执行或全部不执行。 一致性(Consistency):保证数据库始终保持数据的一致性——事务操作之前和之后都是一致的。 隔离性(Isolation):多个事务并发执行的话,结果应该与多个事务串行执行效果是一样的。 持久性(D 阅读全文
posted @ 2018-01-29 15:03 彩电 阅读(141) 评论(0) 推荐(0)
摘要:一、备份数据 1、使用mysqldump命令备份:前提:musql的版本必须一致。 mysqldump -u username -p --default -character-set=gbk dbname table1 table2 > backupname.sql 实例: mysqldump -u 阅读全文
posted @ 2018-01-28 11:59 彩电 阅读(115) 评论(0) 推荐(0)
摘要:一、管理用户 用户账号和信息存放在数据库中 use mysql; select user form user; mysql数据库中包含一个user的表,它包含所有用户账号。 user表中右移个名为user的列,用来存储用户登录名。 二、创建用户账号 创建用户:使用create user语句 crea 阅读全文
posted @ 2018-01-28 11:51 彩电 阅读(213) 评论(0) 推荐(0)
摘要:一、介绍 mysql支持几种基本的数据库引擎,其中MYSQL的两种最基本的引擎MyISAM和InnoDB,其中只有InnoDB支持事务管理。 事务处理:可以用来维护数据库的完整性,他保证成批的MySQL操作要么完全执行,要么不完全执行。 事务处理是一种机制,用来管理必须成批执行的MYSQL操作,以保 阅读全文
posted @ 2018-01-28 11:38 彩电 阅读(162) 评论(0) 推荐(0)
摘要:一、介绍 如果你想让某条语句在事件发生时自动执行,如下: 1、每当增加一个顾客到某个数据库中,都检查其电话号码格式是否正确。 2、每当订购一个产品时,都从库存数据库中减去订购的数量。 以上需求的共同之处是它们都需要在某个表发生改变时自动处理。这就是触发器。触发器是mysql响应以下任意语句自动执行的 阅读全文
posted @ 2018-01-27 11:48 彩电 阅读(166) 评论(0) 推荐(0)
摘要:一、介绍 有时需要在检索出来的行中前进或后退一行或多行,这就是使用游标的原因。游标(cursor)是一个存储在MySQL服务器上的数据查询,它不是一条select语句,而是被该语句检索出来的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据。 游标只能用于函数和存储过程。 二、使用游 阅读全文
posted @ 2018-01-27 11:20 彩电 阅读(156) 评论(0) 推荐(0)
摘要:一、过程与函数简介 过程与函数是命名的PL/SQL块(也是用户的方案对象),被编译后存储在数据库中,以备执行。因此,其他PL/SQL块可以按名称来使用他们。所以可以将商业逻辑、企业规划写成函数或过程保存到数据库中,以便共享。 过程和函数统称为PL/SQL子程序,他们是被命名的PL、SQL块,均存储在 阅读全文
posted @ 2018-01-27 10:46 彩电 阅读(320) 评论(0) 推荐(0)
摘要:一、注释 从#字符到行尾 从'-- '序列到行尾。两个破折号之后至少要有一个空格符或制表符。 二、设置变量 用户变量的形式为@var_name,其中变量名varname可以有当前字符集的文字数字字符、'.'、'_'和'$'组成。 SET @var_name = expr[.@var_name=exp 阅读全文
posted @ 2018-01-27 09:14 彩电 阅读(373) 评论(0) 推荐(0)
摘要:一、介绍 视图是虚拟的表,与包含数据的表不一样,视图只包含使用时动态检索的查询。如下:我们曾经使用的复杂查询: select cust_name,cust_contact from customers,orders,orderitems where custmers.cust_id=orders.c 阅读全文
posted @ 2018-01-26 16:21 彩电 阅读(128) 评论(0) 推荐(0)
摘要:一、建表 为了用程序创建表,我们可以使用SQL的create table 语句。如下: 每个列之间用逗号隔开,每列的定义以列名开始,后跟列的数据类型。 表的主键可以在创建表时用primary key关键字指定。 这张表使用InnoDB引擎创建。 1、·使用null值:允许null值的列也允许在插入时 阅读全文
posted @ 2018-01-26 15:51 彩电 阅读(342) 评论(0) 推荐(0)
摘要:一、增加操作 INSERT用来插入或添加行到数据库表的。插入用以下几种方式: 1、插入完整的行 insert into customers values(null,'Pep E,LaPew','100 main street','Los Angeles','CA','90046','USA',nul 阅读全文
posted @ 2018-01-26 11:55 彩电 阅读(153) 评论(0) 推荐(0)
摘要:一、组合查询 mysql允许执行多个查询(多条select语句),并将结果作为单个查询结果集返回。这些组合查询通常称为并(union)或复合查询(compound query)。 有两种情况需要使用组合查询: 1、在单个查询中从不同的表返回类似结构的数据。 2、对单个表执行多个查询,按单个查询返回数 阅读全文
posted @ 2018-01-26 11:12 彩电 阅读(190) 评论(0) 推荐(0)
摘要:一、联结 联结是利用SQL的select能执行的最重要的操作。 1、关系表:假如有一个包含产品目录的数据库表,其中每个类别的物品占一行。对于每种物品要求存储的信息包括产品描述和价格,以及生产该产品的供应商信息。 现在假如有由同一供应商生产的多种物品,那么在何处存储供应商信息(如供应商名、地址、联系方 阅读全文
posted @ 2018-01-26 10:55 彩电 阅读(207) 评论(0) 推荐(0)