您的位置:首页 > 数据库

Sqlite数据库及数据库知识点总结

2014-06-11 16:32 162 查看
SQLite数据库就是一个DLL文件,将它引用到你的项目里就可以了。不同的开发语言就不同的DLL文件,如果你是用.NET开发的,就去搜索System.Data.SQLite.dll这个文件。
至于下哪个文件,你自己看着办吧。

SQLite的DLL文件下载地址http://www.sqlite.org/download.html
SourceCode
源代码,因为SQLite是开源的。
Documentation
SQLite的说明文件,不是程序。
PrecompiledBinariesforLinux
Linux平台下的
PrecompiledBinariesForMacOSX(x86)
MAC平台下的。
PrecompiledBinariesForWindows
最常用的,Windows平台下的。

SQLite的数据库管理工具下载地址:http://www.sqliteexpert.com/download.html
一般常见的数据库,如oracle,MySQL,SQLServer等,都是在DML时都是行级锁的,不会是表级锁,所以并发处理效率快。
行级锁,一般是指排它锁,即被锁定行不可进行修改,删除,只可以被其他会话select。行级锁之前需要先加表结构共享锁。
表级锁,一般是指表结构共享锁锁,是不可对该表执行DDL操作,但对DML操作都不限制。
根据锁的类型分,共有6种
LMODE
1、NULL,可以某些情况下,如分布式数据库的查询会产生此锁。
2、SS,表结构共享锁
3、SX,表结构共享锁+被操作的记录的排它锁
4、S,表结构共享锁+所有记录共享锁
5、SRX表结构共享锁+所有记录排它锁
6、X表结构排它锁+所有记录排它锁
Q:行级锁和表级锁的区别?
锁定的范围不一样。
行级锁锁定的是相关的行,别人仍然可以操作该表的其他行;
而表级锁则锁定整个表,其他人对该表的访问会受到更多的限制。所以,二者的主要区别就是锁的粒度不一样,带来的结果及时并发能力的不同。锁的粒度越细,并发性越好。
Q:数据库中的DML,DDL,DCL操作分别是指什么?

DML----DataManipulationLanguage数据操纵语言
如insert,delete,update,select(插入、删除、修改、检索)

DDL----DataDefinitionLanguage数据库定义语言
如createprocedure之类

DCL----DataControlLanguage数据库控制语言
如grant,deny,revoke等,只有管理员才有这样的权限。

需要分清哪些命令是DML,哪些是DDL
DDL是数据定义语言,如drop,alter,truncate等都是DDL
insert,update,delete,merge等都是DML
在oracle里DML是可以rollback的,而DDL是不可以的
注意:
DML需要提交,而truncate是自动提交的,所以truncate是DDL
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐