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

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

  1. python调用shell, shell 引用python

    python 调用 shell get_line_num="wc -l as_uniq_info | awk '{print $1}'" ###get the lines of & ...

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

    1.shell调用python脚本,并且向python脚本传递参数: shell中: python test.py $para1 $para2 python中: import sys def main ...

  3. shell和python之间的参数传递

        我们在使用shell调用其他语言的程序的时候,希望能够便捷的从shell中输入参数,然后由目标程序接收参数并运行,这样就省去了每次需要在原程序进行修改带来的麻烦,这里介绍一下如何从shell中 ...

  4. 使用shell调用python中的函数

    最近遇到一个需求,需要通过shell调用python中的一个函数,发现其实也挺简单的: python脚本如下: test.py: import ConfigParser config = Config ...

  5. shell与python判断文件是否存在

    日常运维中,我们会存在每日备份的现象,针对这一种情况可能会要求监控文件是否存在.比较笨拙的方法就是登录上服务器到某个路径下查看文件是否存在,除此之外,我们可以利用shell或者python来编写监控文 ...

  6. 启动python解释器的命令(python manage.py shell和python的区别)

    如果你曾经使用过Python,你一定好奇,为什么我们运行python manage.py shell而不是python.这两个命令都会启动交互解释器,但是manage.py shell命令有一个重要的 ...

  7. 基于ssh,shell,python,iptables,fabric,supervisor和模板文件的多服务器配置管理

     前言:略 新服务器:NS   主服务器:OS 一:OS上新建模板目录例如 mkdir bright 用于导入一些不方便在远程修改的配置文件.redis.conf等,到需要配置的步骤时用远程cp命令覆 ...

  8. shell执行Python并传参

    shell: python test.py a1 222 test.py import sys print(sys.argv[1], type(sys.argv[1])) # a1 str print ...

  9. Windows正向绑定shell和反向反弹shell的Python代码

    Windows下的shell原理 经过查阅资料,使用os.dup2(nfd, ofd)的方式重定向socket的输入输出到windows系统的cmd是无法做到的,属于系统原因,不能直接复制Linux下 ...

随机推荐

  1. asp.net中过滤器的两种写法

    1.写在一个单独的类库中在web.config中进行配置 <httpModules> <add name="" type="类的全名称,程序集的名称&q ...

  2. sql plus 和 pl/sql无法连接远程oracle数据库

    前言:安装完oracle客户端后,可能会出现sql plus 和 pl/sql无法连接远程oracle数据库的情况,可能是以下原因: 针对sql plus连接不上: 1 可能原因:之前安装过oracl ...

  3. windows 8.1 administrator相关设置

    一.windows 8.1 开启administrator用户 windows8.1中文版,由于默认不开启administrator用户,所以需要自己手动开启 启用administrator:在cmd ...

  4. 【转】 iOS如何实现表格的折叠效果?

    原文 :  http://blog.csdn.net/youcanping2008/article/details/9202167 一.实现原理:就是在点击表格组头视图的时候,如果该表格视图的组展开了 ...

  5. 简单总结焦点事件、Event事件对象、冒泡事件

    每学习一些新的东西,要学会复习,总结和记录. 今天来简单总结一下学到的几个事件:焦点事件.Event事件对象.冒泡事件 其实这几个事件应该往深的说是挺难的,但今天主要是以一个小菜的角度去尝试理解一些基 ...

  6. POJ3185 The Water Bowls(反转法or dfs 爆搜)

    POJ3185 The Water Bowls 题目大意: 奶牛有20只碗摆成一排,用鼻子顶某只碗的话,包括左右两只在内的一共三只碗会反向,现在给出碗的初始状态,问至少要用鼻子顶多少次才能使所有碗都朝 ...

  7. 基于GBT28181:SIP协议组件开发-----------第一篇环境搭建

    原创文章,引用请保证原文完整性,尊重作者劳动,原文地址http://www.cnblogs.com/qq1269122125/p/3930018.html,qq:1269122125. SIP协议在安 ...

  8. .NET,你真的 知道了吗

    搞清自己是干什么的 有人问你是做什么的,回答是:"我是做,NET开发的",有的人也会问:"那.NER.是什么?"刚开始我认为是一个开打工具,后认为是一个平台,一 ...

  9. hibernate的get、load的方法的区别,IllegalArgument异常

    关于hibernate中的load,get,以及延迟加载问题 今天在使用hibernate时,发现一异常: could not initialize proxy - no Session 查询资料之后 ...

  10. 9个最新的手机/移动设备jQuery插件

    随着互联网的流行,移动网站开始急速增加,在2014年手机网站将会出现很多,所以手机网站是必须要学会制作的.手机网站不像桌面平台一样制作,否则会影响显示效果,目前大部分手机网站使用响应式设计技术,而且也 ...