sqlite相关操作的sqlite语句

本文总结了在C#中操作SQLite数据库的SQL语句,包括查询、修改记录等。以一个名为'realdata'的表为例,包含'name'和'salary'两列,展示了如何使用LIKE子句、LIMIT和OFFSET等进行数据操作。

之前对在c#中操作sqlite数据库的相关的函数进行了简单的总结,sql语句是其中很重要的一个部分,在本文主要从操作类型分别进行小结

在开始之前,先假设存在一个数据库db,其中有名为realdata的数据表,其中有2列,name 和 salary。

1.  查询语句

Select 列名 from 表名 where 条件子句 group by 分组字句 having 条件字句 order by 排序字句
上面的语句中,后面的如groupby、 where等等,这些都不是必须存在的,只有在需要的时候使用即可,下面以开头的假设举例:

如:
   select name from realdata    //从realdata表中选择name这一列的数据
   select * from realdata where name='yu' //从realdata表中选择满足条件name = 'yu'的所有列,对于字符串,应使用''括起来,对于数值,则不需要
   select * from realdata group by name  //将会把有相同name的行进行合并
   select * from realdata order by salary asc|desc //根据salary列进行升序或者降序排列
   select * from realdata where name='yu' Having salary > 5000 //选择名字为yu的,且salary超过5000的行

除此之外还有limit和offset的使用

select * from realdata limit 5 offset 3  //从realdata中5条记录,跳过前面3条记录
从上一篇文章中知道在传入sql语句的时候,是可以传入参数的,下面进行一个举例:

string sql = "select * from LoginLog where UserName=@username and Password=@pw";

var p = new List<SQLiteParameter>(2);

 p.Add(_dbe.CreatCmdParameter("@username", DbType.String, userName));
                p.Add(_dbe.CreatCmdParameter("@pw", DbType.String, password)); //这边_dbe是一个接口变量,CreatCmdParameter是其中的一个函数,这边就不具体体现其实现过程了,很简单

上面的例子的目的是为了从LoginLog表中,查询UserName和Password满足2个参数值条件的记录,在select语句中UserName = @username中的@符号必须要加上,否则就是一个错误的语句,因为=后面要么接值,要么接'’text

2. 修改数据库中的记录

update 表名 set 字段名=值 where 条件
如:
update realdata set salary=5000 where  name='yu'  //修改name为yu记录的salary为5000

3. 向数据库中插入记录(包含参数的例子)

insert into 表名 (字段列表)values(值的列表)
如:
string sql = "insert into realdata (name, salary) values(@name, @salary)       //这边用的是含参数的例子
SQLiteParameter[] parameter = 
{
	new SQLiteParameter("@name", DbType.Text);
	new SQLiteParameter("@salary", DbType.Integer);
}
parameter[0].Value = 'yu';
parameter[1].Value = 5000;

4. 从数据库中删除记录

delete from 表名 where 条件
如:
delete from realdata where salary=5000   //删除表中salary=5000的记录


补充一个很好用的子句:like子句,这边用一个网上找到的例子

有2个通配符跟like一起使用:'%'和 '_',例子如下:(%代表多个字符或数字、1个字符或数字     _代表1个字符或数字)

where salary like '10%'   //以10开头的salary记录
where salary like '%10%'  //任意位置包含10的salary
where salary like ‘_00%’   // 查找第2位和第3位为0的salary值
where salary like ‘2_%_%’  // 以2开头,至少包含3个字符的任意值的salary值
where salary like ‘%2’  //以2结尾的salary值
where salary like ‘_2%3’ //查找第2位为2,且以3结尾的salary值


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值