SQLite命令和函数的实用指南

发表时间: 2021-01-08 09:15

SQLite在某些场景下还是很有用处,比如最近在用Shell脚本+SQLlite做简单的业务处理,详细使用场景请看
http://1024.services/index.php/archives/46/

  • sqlite 官网 https://www.sqlite.org/index.html (暂时更新这些,当业务中用到了更为复杂的逻辑在更新)

进入命令行

sqlite3 test.db# 退出sqlite.quit

查看表/表结构

# 查看所有表.table # 打开表头.header on# 查看所有表结构select * from sqlite_master where type="table";# 查看某张表结构select * from sqlite_master where type="table" and name="emperors";# 查看某张表结构也可以这样.schema emperors 

时间相关

注意sqlite里面没有时间数据格式,只有字符串,处理时间都是通过函数在处理字符串

# 获取的是格林威治时间select datetime();select CURRENT_TIMESTAMP;# 这个一般常用,获取的是当前本地时间select datetime(CURRENT_TIMESTAMP,'localtime');select datetime(datetime(),'localtime');# 将字符串时间转换成时间对象datetimeselect datetime('2019-07-28 10:00:00');# 获取时间差(默认单位为天)select Cast ((JulianDay('now','localtime') - JulianDay('2019-07-28 10:00:00') ) as double );# 当然也可以换成小时和分钟select Cast ((JulianDay('now','localtime') - JulianDay('2019-07-28 10:00:00') ) * 24  as double );# 换成分钟select Cast ((JulianDay('now','localtime') - JulianDay('2019-07-28 10:00:00') ) * 24 * 60  as INTEGER );# 格式化时间字符串select strftime('%Y年%m月%d日%H点%M分%S秒', datetime('2019-07-28 10:00:00'))# 时间在原来的基础上加减SELECT datetime('2020-06-08 00:00:00', '+1 day') as plus_one_day; -- 当然加2天就是+2 daySELECT datetime('2020-06-08 00:00:00', '-1 day') as minus_one_day; -- 当然减2天就是-2 daySELECT datetime('2020-06-08 00:00:00', '+1 year') as plus_one_year; -- 当然加2年就是+2 year,减2年就是-2 year SELECT datetime('2020-06-08 00:00:00', '+1 month') as plus_one_month; -- 当然加2月就是+2 month,减2月就是-2 monthSELECT datetime('2020-06-08 00:00:00', '+1 hour') as plus_one_hour; -- 当然加2小时就是+2 hour,减2小时就是-2 hourSELECT datetime('2020-06-08 00:00:00', '+1 minute') as plus_one_minute; -- 当然加2分钟就是+2 minute,减2分钟就是-2 minute SELECT datetime('2020-06-08 00:00:00', '+1 second') as plus_one_second; -- 当然加2秒就是+2 second,减2秒就是-2 second