事务提供了一种机制,可用来将一系列数据库更改归入一个逻辑操作。更改数据库后,所做的更改可以作为一个单元进行提交或取消。事务可确保遵循原子性、一致性、隔离性和持续性(ACID)这几种属性,以使数据能够正确地提交到数据库中。
使用事务机制的好处非常明显,例如银行转账之类的交易操作中,事务有着重要的作用。事务的成功取决于事务单元帐户相互依赖的操作行为是否能全部执行成功,只要有一个操作行为失败,整个事务将失败。例如:客户A和客户B的银行账户金额都是10000元人民币,客户A需要把自己帐户中的5000元人民币转到客户B的账户上。这个过程看似简单,实际上涉及了一系列的数据库操作,可以简单地视为两步基本操作,即从客户A帐户的金额中扣除5000元人民币,以及将客户B帐户中金额添加5000元人民币。假设第1步数据库操作成功,而第二步失败的话,将导致整个操作失败,并且客户A帐户金额将被扣除5000元人民币。事务机制可以避免此类情况,以保证整个操作的完成,如果某步操作出错,之前所作的数据库操作将全部失效。
统计报表 包括 交易编号、账号编号,交易金额,交易类别,时间
NoSQL数据库全称 Not Only SQL,准确地说应该翻译成超关系型数据库
所谓的没有银弹是指没有任何一项技术或方法可使软件工程的生产力在十年内提高十倍。
存储过程保存在数据库的服务端
create table Report ( rid int unsigned auto_increment primary key, uid int unsigned not null, money int not null, type varchar(10) not null, time datetime not null);
按日期查询 select * from Report where time >= ‘2018-1-21 0:0:0’ and time < ‘2018-1-22 0:0:0’ ;
ID 9位
C#限制textbox只能输入数字, 使用keypress事件处理,在属性的事件里找到keypress添加方法,e.handle=false表示接受输入的字符,true则表示不接受
如
private void CZBox_KeyPress(object sender,KeyPressEventArgs e)
{
if (e.KeyChar >= ‘0’ && e.KeyChar <= ‘9’ || e.KeyChar == ‘\b’)
{
e.Handled = false;
}
else
e.Handled = true;
}
表示该textbox只接受数字和退格(Backspace)
不能最大化
Me.MaximizeBox = False
锁定窗口大小
FormBorderStyle不能为SizableToolWindow也不能为Sizable
如何在datagridview里动态添加行和删除行?
答:由于datagridview跟datatable绑定以后不能使用datagridview.Rows.Add()添加行,那用table.Row.Add()就可以了,删除行没有要求可以直接用datagridview.Row.Remove();
Redis是什么
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis提供了一些丰富的数据结构,包括 lists, sets, ordered sets 以及 hashes ,当然还有和Memcached一样的 strings结构.Redis当然还包括了对这些数据结构的丰富操作。
Redis常被称作是一款数据结构服务器(data structure server)。Redis的键值可以包括字符串(strings)类型,同时它还包括哈希(hashes)、列表(lists)、集合(sets)和 有序集合(sorted sets)等数据类型。 对于这些数据类型,你可以执行原子操作。例如:对字符串进行附加操作(append);递增哈希中的值;向列表中增加元素;计算集合的交集、并集与差集等。
什么是原子性,什么是原子性操作?
举个例子:
A想要从自己的帐户中转1000块钱到B的帐户里。那个从A开始转帐,到转帐结束的这一个过程,称之为一个事务。在这个事务里,要做如下操作:
- 从A的帐户中减去1000块钱。如果A的帐户原来有3000块钱,现在就变成2000块钱了。
- 在B的帐户里加1000块钱。如果B的帐户如果原来有2000块钱,现在则变成3000块钱了。
如果在A的帐户已经减去了1000块钱的时候,忽然发生了意外,比如停电什么的,导致转帐事务意外终止了,而此时B的帐户里还没有增加1000块钱。那么,我们称这个操作失败了,要进行回滚。回滚就是回到事务开始之前的状态,也就是回到A的帐户还没减1000块的状态,B的帐户的原来的状态。此时A的帐户仍然有3000块,B的帐户仍然有2000块。
我们把这种要么一起成功(A帐户成功减少1000,同时B帐户成功增加1000),要么一起失败(A帐户回到原来状态,B帐户也回到原来状态)的操作叫原子性操作。
如果把一个事务可看作是一个程序,它要么完整的被执行,要么完全不执行。这种特性就叫原子性。
什么是BSD协议?
BSD开源协议是一个给于使用者很大自由的协议。可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。当你发布使用了BSD协议的代码,或者以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:
如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
BSD代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销 售,因此是对商业集成很友好的协议。
很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者 二次开发。
如果你想在当前目录下 查找”hello,world!”字符串,可以这样:
grep -rn “hello,world!” *
- : 表示当前目录所有文件,也可以是某个文件名
-r 是递归查找
-n 是显示行号
-R 查找所有文件包含子目录
-i 忽略大小写
lightsocks 更轻量的socks代理
清除ssh私钥密码
1.在终端下输入ssh-keygen -p。
2.系统会提示选择需要修改的私钥,默认是/home/username/.ssh/id_rsa。
3.选好文件后按回车,会提示你输入旧密码。
4.输入好后会提示输入新密码。
5.直接回车,提示确认新密码再直接回车,此时指定的私钥的密码就被清除了。
本文介绍了事务的概念及其在数据库操作中的重要性,特别是银行转账场景下的应用。解释了原子性、一致性、隔离性和持续性(ACID)属性,并通过具体实例说明了事务如何保证数据完整性和一致性。

被折叠的 条评论
为什么被折叠?



