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

  • 相关阅读:
    爬虫requests模块 1
    刷题记录:ctf473831530_2018_web_virink_web
    刷题记录:[RCTF 2019]Nextphp
    CTF XSS
    PHP 7 源码学习 序&第一、二章
    刷题记录:[安洵杯 2019]iamthinking
    刷题记录:[GWCTF 2019]枯燥的抽奖
    preg_match绕过总结
    刷题记录:[SWPU2019]easy_python
    刷题记录:[GWCTF 2019]我有一个数据库
  • 原文地址:https://www.cnblogs.com/mirrortom/p/5023750.html
Copyright © 2020-2023  润新知