SQLite3基本使用从shell到python

SQLite是一个轻量级的关系型数据库,在访问量不超过10万PV的中小网站中使用绰绰有余。而且使用方便,接口简单,下面从命令行和python接口两方面介绍SQLite3的基本操作。

在linux终端中,通过 sqlite3 a.db 打开a.db数据库,如果不存在会自动创建,创建一个表格:

create table users(id integer primary key,name text,level integer);

然后插入新的数据:

insert into users(name,level) values(‘李斯‘,2);
insert into users(name,level) values(‘张三‘,4);
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 

更新李斯的level变为1,操作如下:

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的使用了,下面通过python的接口调用:

连接数据库:

>>> import sqlite3
>>> db=sqlite3.connect(‘a.db‘)
>>> c=db.cursor()

插入一个用户的信息:

>>> c.execute(‘insert into users(name,level) values("田田蹦",9)‘)
<sqlite3.Cursor object at 0xb711c4a0>
>>> db.commit()

全部取出表中的数据:

>>> c.execute(‘select * from users‘)
<sqlite3.Cursor object at 0xb70e74e0>
>>> c.fetchall()
[(1, ‘李斯‘, 1), (3, ‘王五‘, 3), (4, ‘田田蹦‘, 9)]

一行一行取出表中数据:

>>> c.execute(‘select * from users‘)
<sqlite3.Cursor object at 0xb70e7c20>
>>> c.fetchone()
(1, ‘李斯‘, 1)
>>> c.fetchone()
(3, ‘王五‘, 3)
>>> c.fetchone()
(4, ‘田田蹦‘, 9)
>>> c.fetchone() == None
True

关闭游标对象并关闭数据库连接:

>>> c.close()
>>> db.close()

python下对SQLite的更新和删除操作参考上面的插入操作,是一样一样的,非常方便,得到的表格数据是list,每行数据是一个tuple,后续操作也非常方便。

转载请注明:转自http://blog.csdn.net/littlethunder/article/details/24696309

时间: 2024-08-04 02:01:47

SQLite3基本使用从shell到python的相关文章

shell vs python脚本监控http请求

各写一个shell和python脚本来监控http请求,并在服务不可用的时候重启服务. 监控的连接为: http://192.168.1.101:5022/product http://192.168.1.101:5024/module shell脚本如下,配合crontab计划任务每一分钟执行一次检查: #!/bin/bash # This shell is used to moniter 192.168.1.101 port 5022 & 5024 date  #在crontab里用来记录l

python调用shell, shell 引用python

python 调用 shell get_line_num="wc -l as_uniq_info | awk '{print $1}'" ###get the lines of "as_uniq_info" line_num = os.popen(get_line_num).read().strip('\n') get_line_num 作为shell执行的命令,会取得文件as_uniq_info文件的行数 os.popen(get_line_num):执行shel

分别使用shell和python实现两列排序

有一个文件1.txt如下,要求使用shell和python实现排序,先按照第一列排序,第一列相同再按照第二列排序,并且输出到另外一个文件2.txt LZdeMacBook-Pro:~ lz$ cat 1.txt 23 d 26 t 12 y 43 h 5 k 12 a shell实现: LZdeMacBook-Pro:~ lz$ sort  -k1,1n -k2,2 1.txt > 2.txt LZdeMacBook-Pro:~ lz$ cat 2.txt 5 k 12 a 12 y 23 d

Shell和Python学习教程总结

博友们好,由于运维相关技术不断发展,个人能力也不断提高,渐渐积累的经验不能及时更新到以往的博文中.因此,为了更好的帮助大家学习运维技术,特地针对Shell和Python脚本语言总结了文档,此文档会不定期修改或增加知识点,为了能让你及时下载最新的文档,请点击下面收藏或请加QQ技术群:323779636(Shell/Python运维开发群),里面有更多的学习资料和定期的分享课,希望我们能一起学习,一起进步,一起走上人生巅峰!哈哈~ <<Shell从入门到精通>>和<<Pyt

shell perl python 剖析

先不用说"无论什么语言都是一种工具".工具是我们身体的一部分,解放军解放台湾靠"小米加***"? "工具无所谓"论可以休矣.对于实际的软件工程工具和平台的选择是很重要的,有时候是致命的1. perl是强大的, perl=shell+awk+sed+一堆命令行工具.   但是反过来也一样shell+awk+sed+一堆命令行工具可以替代perl. 2. shell的简约,可读性比perl好,工具之间通过命令行stdio管道通信,任何一个小部分都可以

老男孩教育每日一题-2017-04-17:使用Shell或Python写一个脚本,CPU使用率超过80%或硬盘超过85%邮件报警

老男孩教育每日一题-2017-04-17: 使用Shell或Python写一个脚本,CPU使用率超过80%或硬盘超过85%邮件报警. 今天是老男孩教育每日一题陪伴大家的第29天.

使用shell调用python中的函数

最近遇到一个需求,需要通过shell调用python中的一个函数,发现其实也挺简单的: python脚本如下: test.py: import ConfigParser config = ConfigParser.ConfigParser() config.read("test.conf") def get_foo(): return config.get("locations", "foo") def get_bar(): return con

shell调用python脚本,并且向python脚本传递参数

1.shell调用python脚本,并且向python脚本传递参数: shell中: python test.py $para1 $para2 python中: import sys def main($canshu1, $canshu2) ..... main(sys.argv[1], sys.argv[2]) 2.使用shell调用python中的函数: python脚本如下: test.py: import ConfigParser config = ConfigParser.Config

练习shell和python的实例手册

# shell实例手册最新下载地址 # python实例手册下载地址: