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. Mysql查看执行计划

    EXPLAIN(小写explain)显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. EXPLAIN + sql语句可以查看mysql的执行 ...

  2. FckEditor组件的使用(新闻浏览发布页面)

    FckEditor组件的使用 准备工作: 1)将FckEditor目录拷贝到网站根目录内. 2)在Web.config的AppSetting分支中添加如下的代码,并修改FckEditor的目录和上传文 ...

  3. asp.net操作cookie类

    using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary ...

  4. android handler机制简单介绍

    我们需要了解4个类: handler:处理者,用于发送和接收信息 massage:消息.里面可以存储消息的许多信息 looper:循环泵,用于循环取出消息队列中的消息 MessageQueue(一般不 ...

  5. C#部分方法定义

    C#部分方法定义 部分类也可以定义部分方法.部分方法在部分类中定义,但没有方法体,在另一个部分类中执行.在这两个部分类中,都要使用partial关键字. public partial class My ...

  6. CSS注释代码

    就像在Html的注释一样,在CSS中也有注释语句:用/*注释语句*/来标明(Html中使用<!--注释语句-->).就像下面代码: 示例: <!DOCTYPE HTML> &l ...

  7. AFN发送请求失败

    发送请求出现这个错误 Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Coc ...

  8. uva 1378 A Funny Stone Game (博弈-SG)

    题目链接:http://vjudge.net/problem/viewProblem.action?id=41555 把第i堆的每个石子看出一堆个数为n-i的石子,转换为组合游戏 #include & ...

  9. Ubuntu16.04下编译vim with python support失败的原因

    - youcompleteme原话:On Ubuntu 16.04, Python support was not working due to enabling both Python2 and P ...

  10. Scut:SocketListener 的解析

    大致浏览了一遍,Scut 的网络模型采用的是 SAEA 模型, 它是 .NET Framework 3.5 开始支持的一种支持高性能 Socket 通信的实现. 通过分析 Scut 的套接字监听控制, ...