惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
I
InfoQ
阮一峰的网络日志
阮一峰的网络日志
有赞技术团队
有赞技术团队
Vercel News
Vercel News
Engineering at Meta
Engineering at Meta
Hugging Face - Blog
Hugging Face - Blog
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
aimingoo的专栏
aimingoo的专栏
罗磊的独立博客
Blog — PlanetScale
Blog — PlanetScale
Microsoft Security Blog
Microsoft Security Blog
B
Blog RSS Feed
H
Help Net Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
P
Proofpoint News Feed
MyScale Blog
MyScale Blog
V
Visual Studio Blog
B
Blog
MongoDB | Blog
MongoDB | Blog
T
The Blog of Author Tim Ferriss
L
LangChain Blog
D
Docker

极客兔兔

Go sync.Cond | Go 语言高性能编程 Go 死码消除与调试(debug)模式 | Go 语言高性能编程 Go sync.Once | Go 语言高性能编程 Go 逃逸分析 | Go 语言高性能编程 2020 年终总结 | 极客兔兔 Go struct 内存对齐 | Go 语言高性能编程 Go 空结构体 struct{} 的使用 | Go 语言高性能编程 控制协程(goroutine)的并发数量 | Go 语言高性能编程 | 极客兔兔 如何退出协程 goroutine (其他场景) | Go 语言高性能编程 如何退出协程 goroutine (超时场景) | Go 语言高性能编程 Go 语言陷阱 - 数组和切片 | Go 语言高性能编程 减小 Go 代码编译后的二进制体积 | Go 语言高性能编程 Go Reflect 提高反射性能 | Go 语言高性能编程 读写锁和互斥锁的性能比较 | Go 语言高性能编程 | 极客兔兔 for 和 range 的性能比较 | Go 语言高性能编程 切片(slice)性能及陷阱 | Go 语言高性能编程 | 极客兔兔 字符串拼接性能及原理 | Go 语言高性能编程 | 极客兔兔 pprof 性能分析 | Go 语言高性能编程 benchmark 基准测试 | Go 语言高性能编程 Go 语言高性能编程 | 极客兔兔 Go 接口型函数的使用场景 | 极客兔兔 Python 简明教程 | 快速入门 | 极客兔兔 Go 语言笔试面试题(代码输出) | 极客面试 | 极客兔兔 动手写RPC框架 - GeeRPC第七天 服务发现与注册中心(registry) | 极客兔兔 动手写RPC框架 - GeeRPC第六天 负载均衡(load balance) 动手写RPC框架 - GeeRPC第五天 支持HTTP协议 | 极客兔兔 动手写RPC框架 - GeeRPC第四天 超时处理(timeout) | 极客兔兔 动手写RPC框架 - GeeRPC第三天 服务注册(service register) 动手写RPC框架 - GeeRPC第二天 支持并发与异步的客户端 | 极客兔兔 动手写RPC框架 - GeeRPC第一天 服务端与消息编码 | 极客兔兔
SQLite 常用命令 | 速查表(Cheat Sheet)
2020-03-02 · via 极客兔兔

SQLite 命令

安装/连接

1
2
3
4
5
6
7
8
9
> apt-get install sqlite3 
> sqlite3 -version
3.22.0 ...
> sqlite3 gee.db
sqlite> .help
.archive ... xxx
.auth ON|OFF xxx
.backup ?DB? FILE xxx
...

数据库操作

1
2
3
4
5
6
7
8
9
10
> .help 
...
> .databases
main: /tmp/gee.db
> .output FILE
> .show
> .dump
> .dump users
> .backup FILE
> .quit

表操作

1
2
3
4
5
6
7
8
9
10
> .table 
users books
> .schema users
CREATE TABLE users(name text PRIMARY KEY, age integer);
> .import FILE TABLE
> .head ON
> select * from users
name|age
Tom|18
Jack|20

输出模式

1
2
3
4
5
6
7
8
9
> .mode csv 
> select * from users
name,age
Tom,18
Jack,20
> .mode insert
> select * from users
INSERT INTO "table"(name,age) VALUES('Tom',18);
INSERT INTO "table"(name,age) VALUES('Jack',20);

.mode 支持 csv, column, html, insert, line, list, tabs, tcl 等 8 种模式。

SQL 语句

创建表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE TABLE tab_name (
col1 col1_type PRIMARY KEY,
col2 INTEGER AUTOINCREMENT,,
col3 col3_type NOT NULL,
.....
colN colN_type,
);








PRIMARY KEY 标记主键,NOT NULL标记非空。AUTOINCREMENT 自增,只能用于整型。

删除/更新表

1
2
3
4
5
6
7
8
9
10

DROP TABLE tab_name;

ALTER TABLE ADD COLUMNS col_name col_type;


ALTER TABLE old_tab RENAME TO new_tab


ALTER TABLE tab_name RENAME COLUMN old_col TO new_col

新增记录

1
2
3
4
5
6
7
8
9

INSERT INTO tab_name VALUES (xx, xx)

INSERT INTO tab_name (col1, col3) VALUES (xx, xx)

INSERT INTO tab_name (col1, col2, col3) VALUES
(xx, xx, xx),
...
(xx, xx, xx);

查询记录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

SELECT * FROM tab_name;

SELECT DISTINCT col1 FROM tab_name;

SELECT COUNT(*) FROM tab_name

SELECT col1, col2 FROM table_name;

SELECT * FROM table_name WHERE col2 >= 18;
SELECT * FROM table_name
WHERE col2 >= 18 AND col1 LIKE %stu%;

SELECT * FROM table_name LIMIT 1;

SELECT col1, count(*) FROM tab_name
WHERE [ conditions ]
GROUP BY col1

SELECT col1, count(*) FROM tab_name
WHERE [ conditions ]
GROUP BY col1
HAVING [ conditions ]

SELECT * FROM table_name ORDER BY col2 DESC;

删除/更新记录

1
2
3
4
5
6
7
8

DELETE FROM tab_name WHERE condition;

UPDATE tab_name SET col1=value1, col2=value2

UPDATE tab_name
SET col1=value1, col2=value2
WHERE [ conditions ]

事务(Transaction)

1
2
3
4
5
6
7
8
9

BEGIN;
INSERT INTO ...
...
COMMIT;

BEGIN;
...
ROLLBACK;

事务具有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)四个标准属性,缩写为 ACID