Sqlite shell 的使用
学习python中,涉及SQLite3数据库的操作,其中一种是使用sqlite shell,在园子里找到下面这篇文章,跟着试了下,挺好。
这里要注意,语句是C语言规范的吧,语句末尾需要“;”。
SQLite3基本使用从shell到python
SQLite 入门教程一 基本控制台(终端)命令
D:\Python37\Tools\sqlite-tools-win32-x86-3260000>sqlite3 a.db
SQLite version 3.26.0 2018-12-01 12:34:55
Enter ".help" for usage hints.
sqlite> create table users(id integer primary key,name text,level integer);
sqlite> insert into users(name,level) values('李斯',2);
sqlite> insert into users(name,level) values('张三',4);
sqlite> insert into users(name,level) values('王五',3);
sqlite> .mode column
sqlite> .headers on
sqlite> select * from users;
id name level
---------- ---------- ----------
1 李斯 2
2 张三 4
3 王五 3
sqlite> update users set level=1 where name='李斯';
sqlite> select * from users;
id name level
---------- ---------- ----------
1 李斯 1
2 张三 4
3 王五 3
sqlite> delete from users where name='张三';
sqlite> select * from users;
id name level
---------- ---------- ----------
1 李斯 1
3 王五 3
sqlite>
模仿上面的规则和语法,在“Head First Python”第九章关于数据库部分的学习中,可以用下面的命令简单地查看数据库内容。结果发现数据表athletes中重复多次地导入了运动员信息。😃
D:\Python37\Tools\sqlite-tools-win32-x86-3260000>sqlite3 coachdata.sqlite
SQLite version 3.26.0 2018-12-01 12:34:55
Enter ".help" for usage hints.
sqlite> .mode column
sqlite> .headers on
sqlite> select * from timing_data;
athlete_id value
---------- ----------
1 2.01
1 2.16
1 2.22
1 2.34
1 2.45
1 3.01
1 3.10
1 3.21
2 2.11
2 2.23
2 2.59
2 3.01
2 3.02
2 3.10
2 3.21
3 2.22
3 2.31
3 2.38
3 2.40
3 2.49
3 3.01
3 3.02
3 3.22
4 2.18
4 2.21
4 2.22
4 2.25
4 2.39
4 2.54
4 2.55
4 2.58
sqlite> select * from athletes
...> ;
id name dob
---------- ---------- ----------
1 James Lee 2002-3-14
2 Julie Jone 2002-8-17
3 Mikey McMa 2002-2-24
4 Sarah Swee 2002-6-17
5 James Lee 2002-3-14
6 James Lee 2002-3-14
7 James Lee 2002-3-14
8 Julie Jone 2002-8-17
9 Mikey McMa 2002-2-24
10 Sarah Swee 2002-6-17
sqlite>