博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  数据库

摘要:当我们装MYSQL数据库时,往往没有把数据库的编码设置成utf-8或者gbk,而是默认的latin,这就造成了中文无法插入或者中文显示乱码等问题,解决办法就是将数据库和server端的编码改成utf-8或者gbk。步骤:1.进入MySQL客户端,输入show variables like 'character%',在显示的结果中character_set_client,character_set_connection,character_set_databases,character_set_server这四个的编码一样,比如都为utf8,如果不一样,就要进行更改。2. 更改/ 阅读全文

posted @ 2013-05-30 23:54 藤一1222 阅读(342) 评论(0) 推荐(0)

摘要:数据库的两段锁协议是指所有事务必须分两个阶段对数据项进行加锁和解锁1.扩展阶段在对任何数据项的读、写之前,要申请并获得该数据项的封锁。2.收缩阶段每个事务中,所有的封锁请求必须先于解锁请求。例如:事务T遵循两段锁协议,其封锁协议为:BEGIN TRANSACTION;LOCK(A);READ A; A := A + 100; WRITE A; LOCK(B); UNLOCK(A); READ(B), UNLOCK(B),;COMMIT;可以证明:若并发执行的所有事务均遵守两段锁协议,则对这些并行事务的任何并行调度策略都是可串行化需要说明的是,并发执行的所有事务若均遵守两段锁协议,只是这些事务的 阅读全文

posted @ 2012-12-21 16:42 藤一1222 阅读(9865) 评论(0) 推荐(2)

摘要:1.事务的概念事务是一个数据库操作序列,这么事务要么全做要么都不做,是一个不可分割的工作单位。用户可以显式地定义事务的开始与结束,如果用户没有定义,DBMS按缺省规定自动划分事务。2.事务的特点(ACID)(1)原子性:事务的操作序列要么全做要么全不做,是一个不可分割的工作单位。(2)一致性:事务执行的结果必须使数据库从一个一致性状态变成另一个一致性状态。(3)隔离性:一个事务的执行不被其他事务影响,并行运行的事务互不影响。(4)持久性:事务一旦提交,对数据库数据的改变是永久性的。3.故障的种类(1)事务故障事务故障说明事务没有达到预期的终点,因此,数据库可能处于不正确的状态。恢复程序应该在不 阅读全文

posted @ 2012-12-21 15:03 藤一1222 阅读(290) 评论(0) 推荐(0)

摘要:1.视图的定义视图是一张虚拟表,其内容由查询定义。数据库中存储的是视图的定义,而不存储视图的数据。2.视图的作用摘自百度百科http://baike.baidu.com/view/71981.htm* 简单性。看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。* 安全性。通过视图用户只能查询和修改他们所能见到的数据。数据库中的其它数据则既看不见也取不到。数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行和特定的列上。通过视图,用户可以被限制在数 阅读全文

posted @ 2012-12-20 21:16 藤一1222 阅读(183) 评论(0) 推荐(0)

摘要:1.什么是存储过程存储过程就是由一些SQL语句和控制语句组成的被封装起来的过程。它们驻留在数据库中,可以被客户应用程序调用2. 使用存储过程的好处(1)减少网络通讯量。调用一个行数不多的存储过程与直接调用SQL语句的网络通信量可能不会有很大的差别,可是如果存储过程包含上百行SQL语句,那么其性能绝对比一条一条的调用SQL语句要高得多。(2)加快执行速度。由于存储过程首次运行时被编译,这将产生一个执行计划,然后执行计划在内存中得到缓存,以备以后调用,可以改善存储过程的性能。(3)可维护性和抽象性。理想情况下,数据库架构从不更改,业务规则不被修改,但在现实环境中,情况则完全不同。既然情况如此,那么 阅读全文

posted @ 2012-12-20 11:28 藤一1222 阅读(145) 评论(0) 推荐(0)

摘要:出现Data too long for column 'word' at row 1的原因是数据库默认编码问题一般Mysql默认是latin1编码,这时我们在插入汉字时很容易出现问题,比如乱码。解决方法:1. 暂停MYSQL服务;2. 修改my.ini文件,将客户端的编码都设置为default-character-set=gbk;3. 输入status命令,查看server characterset,Dbcharacterset, Clientcharacterset和Conncharacterset的值是否为gbk。4.重启MYSQL服务 阅读全文

posted @ 2012-12-10 13:25 藤一1222 阅读(590) 评论(0) 推荐(0)