sqlite数据库常用语句
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
sqlite数据库常⽤语句
这个⽂件型数据库⼩巧好⽤,可以替代ACCESS,以下是常⽤的语句
获取数据库时间(设计表字段时的当前时间默认值)
sqlite datetime('now', 'localtime')
如果使⽤这个函数CURRENT_TIMESTAMP,得到的时间可能不正确,因为时区不对,⼀般会少8个⼩时
sqlserver getdate()
获取前10个记录
sqlite select * from table order by AddTime desc limit 0,10 或者 select * from table order by AddTime desc limit 10 offset 0(表⽰应该跳过的⾏数)
sqlserver select top 10 * from table order by AddTime
随机返回数据记录
// 随机返回两条记录
sqlite select * from table ORDER BY RANDOM() limit 2
like查询
SELECT * from table where SearchKey like '%员⼯%';
在C#中实现参数化查询;
// 1.事先拼成%参数值%形式
string key="%"+参数值+"%";
// 2.然后在语句中写上,列名 like @key(上⾯拼好的部分),也就是说,like后⾯的部分包含%符号全部当成参数
SELECT * from table where SearchKey like @key; // 这⾥如果写成和sqlserver这种( like '%'+@key+'%' ),则查不出数据,原因未知.
// 3.在添加参数时
Parameters.Add(new SQLiteParameter(@key, key));
插⼊记录,判断名字是否重复,如果重复则不插⼊:
insert into userinfo(id,username)
select '100001', 'Tom'
where not exists(select id from userinfo where username='Tom')
参数化查询时,参数名可以重复:
insert into userinfo(id,username,bz1,bz2,bz3) values(@id,@username,@bz,@bz,@bz)
三个bz字段都使⽤了@bz⼀个参数名,但可以执⾏成功.
如果是sqlserver就会报"变量名在查询批次或存储过程内部必须唯⼀" 的错误。