首页 数据库

SQLite常用命令和函数

2021-11-04 14:22 知乎-代码狂魔

摘要:SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。

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 day

SELECT datetime('2020-06-08 00:00:00', '-1 day') as minus_one_day; -- 当然减2天就是-2 day

SELECT 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 month

SELECT datetime('2020-06-08 00:00:00', '+1 hour') as plus_one_hour; -- 当然加2小时就是+2 hour,减2小时就是-2 hour

SELECT 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

返回首页
返回顶部