天天看点

sqlite数据库语句和mysql的语句_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 '%'[email protected]+'%' ),则查不出数据,原因未知.

// 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就会报 "变量名在查询批次或存储过程内部必须唯一" 的错误