最近在研究了下sqllite在c#中得使用偶尔有点心得跟大家一起分享:
首先,sqllite跟sqlserver基本上差别不大,sqllite表面上没有日志文件,而sqlserver有个log文件,当你用delete from employee得时候数据库文件并没有变小,其实它只是把记录转换为不显示而已,这有点像sqlserver里面得日志文件。
其次在查询规定条数记录的时候:
例如:sqlserver查询前面20条得时候可以采用: select top 20 * from employee
而sqllite查询得写法则是如下:select * from employee limit 20
获得时间:在sqlserver中有用:select getdate();
在sqllite中没有这个语句。
sql server中判断插入(不存在id=6的就插入)
IF NOT EXISTS (select * from employee where id=6)
BEGIN
insert into employee(nickname)
select 't'
END
在sqlite中可以这样
insert into employee(nickname)
select 't'
where not exists(select * from employee where id=6)
同时SQLLITE仅允许单个活动的事务。
用sqllite用了事务跟没有使用事务有很大得差别,尤其是数据量大的时候。