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

被折叠的 条评论
为什么被折叠?



