sqlite3随笔

指令

sqlite3 test.db (.open test.db) #打开创建数据库文件
attach table 'file_name' as 'alias'; #附加数据库
dettach table 'alias'; #分离数据库

.show #显示当前配置
.headers on #开启表头
.mode column #设置输出模式为表
.timer on #开启计时器
.schema <table> #显示建表语句

语句

# 插入语句
INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)]  
VALUES (value1, value2, value3,...valueN);

时间相关

xx date default(current_date); -- 字段默认当前日期

SELECT date('now', '+7 days');  -- 当前日期加上7天
SELECT date('now', '-1 month'); -- 当前日期减去1个月
SELECT datetime('now', '+1 hour');  -- 当前时间加上1小时
SELECT datetime('now', '-30 minutes'); -- 当前时间减去30分钟

特殊运算符

运算符 含义
GLOB GLOB 运算符用于把某个值与使用通配符运算符的相似值进行比较。GLOB 与 LIKE 不同之处在于,它是大小写敏感的。
|| 连接两个不同的字符串,得到一个新的字符串。
UNIQUE UNIQUE 运算符搜索指定表中的每一行,确保唯一性(无重复)。
& 如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中。
| 如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中。
~ 二进制补码运算符是一元运算符,具有"翻转"位效应,即0变成1,1变成0。
<< 二进制左移运算符。左操作数的值向左移动右操作数指定的位数。
>> 二进制右移运算符。左操作数的值向右移动右操作数指定的位数。

通配符

LIKE通配符:百分号(%)代表零个、一个或多个数字或字符。下划线(_)代表一个单一的数字或字符。
GLOB通配符

  • *:匹配零个、一个或多个数字或字符。
  • ?:代表一个单一的数字或字符。
  • [...]:匹配方括号内指定的字符之一。例如,[abc] 匹配 "a"、"b" 或 "c" 中的任何一个字符。
  • [\^...]:匹配不在方括号内指定的字符之一。例如,[^abc] 匹配不是 "a"、"b" 或 "c" 中的任何一个字符的字符。

sqlite_master 保存了各表信息。
LIMIT用于控制每页显示的行数,OFFSET用于控制从哪一行开始显示数据。
DISTINCT 关键字与 SELECT 语句一起使用,来消除所有重复的记录,并只获取唯一一次记录。
其他基本和传统sql相同。

posted @ 2026-01-14 15:45  庶旁  阅读(5)  评论(0)    收藏  举报