为什么使用SQLite数据库?

对于非常简单的应用而言,使用文件作为持久化存储通常就足够了,但是大多数复杂的数据驱动的应用需要全功能的关系型数据库。SQLite的目标则是介于两者之间的中小系统。它有以下特点:

  • 轻量级
  • 速度快
  • 无需部署
  • 没有服务器
  • 很少或不需要进行管理

SQLite正在迅速流行起来,并且它还适用于不同的平台。Python 2.5中引入了SQLite数据库适配器作为sqlite3模块,这是Python首次将数据库适配器纳入到标准库中。

SQLite被打包到Python的标准库中,并不是因为它比其他数据库和适配器更加流行,而是因为它足够简单,像DBM模块一样使用文件(或内存)作为其后端存储,不需要服务器,也没有许可证的问题。它是Python中其他类似的持久化存储解决方案的一个替代品,不过除此以外,它还拥有SQL接口。

在标准库中拥有该模块,可以使你在Python中使用SQLite开发更加快速,并且使你在有需要的时候,能够更加容易地移植到更加强大的RDBMS(比如MySQL、PostgreSQL、Oracle或SQL Server)中。如果你不需要那些强大的数据库,那么sqlite3已经是很好的选择了。

我们接下来演示几个常用操作:

  • 创建数据库
  • 创建表
  • 在表中插入行
  • 更新表中的行
  • 删除表中的行
  • 删除表

代码结构如下:

(笔者提示:如果你也用的是Windows平台,可以安装一个工具叫DB Browser for SQLite,可以查看数据库文件里面的表结构和数据,非常方便)

SQLite3的使用,sqlite3_create.py的代码如下:

 #!/usr/bin/python
import sqlite3 conn = sqlite3.connect('test.sqlite') print "opened database successfully"
conn.execute("drop table COMPANY") conn.execute('''CREATE TABLE COMPANY
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL);''') print "Table created successfully" conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (1, 'Paul', 32, 'California', 20000.00 )") conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (2, 'Allen', 25, 'Texas', 15000.00 )") conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (3, 'Teddy', 23, 'Norway', 20000.00 )") conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 )") conn.commit()
conn.close()

从已有的的test.sqlite 文件中,读取数据,sqlite3_select.py的代码如下:

 #!/usr/bin/python
# -*- coding: utf-8 -*-
import sqlite3 conn = sqlite3.connect('test.sqlite') print "opened database successfully" cur = conn.cursor() cur.execute("SELECT id,name,age FROM COMPANY;") for item in cur.fetchall():
print item conn.commit()
conn.close()

《Python操作SQLite3数据库》快速上手教程的更多相关文章

  1. Python操作MySQL数据库(步骤教程)

    我们经常需要将大量数据保存起来以备后续使用,数据库是一个很好的解决方案.在众多数据库中,MySQL数据库算是入门比较简单.语法比较简单,同时也比较实用的一个.在这篇博客中,将以MySQL数据库为例,介 ...

  2. Airtest 快速上手教程

    一.Airtest 简介: AirtestIDE 是一个跨平台的UI自动化测试编辑器,适用于游戏和App. 自动化脚本录制.一键回放.报告查看,轻而易举实现自动化测试流程 支持基于图像识别的 Airt ...

  3. 【转】python操作mysql数据库

    python操作mysql数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库 ...

  4. Python操作sqlite数据库小节

    学习了Python操作sqlite数据库,做一个小结,以备后用. import sqlite3import os# 进行数据库操作时,主要是参数如何传输try:# 链接数据库conn=sqlite3. ...

  5. Python 操作MySQL 数据库

    Python 操作 MySQL 数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的 ...

  6. Python操作SQLite数据库的方法详解

    Python操作SQLite数据库的方法详解 本文实例讲述了Python操作SQLite数据库的方法.分享给大家供大家参考,具体如下: SQLite简单介绍 SQLite数据库是一款非常小巧的嵌入式开 ...

  7. python操作mysql数据库的相关操作实例

    python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...

  8. Python操作Access数据库

    我们在这篇文章中公分了五个步骤详细分析了Python操作Access数据库的相关方法,希望可以给又需要的朋友们带来一些帮助. AD: Python编 程语言的出现,带给开发人员非常大的好处.我们可以利 ...

  9. 新浪SAE快速上手教程

     新浪SAE快速上手教程[1]如何免费开通新浪云 2014-07-18 > 新浪SAE快速上手教程[2]如何创建.删除应用 2014-07-24 > 新浪SAE快速上手教程[3]如何上传应 ...

随机推荐

  1. 高端大气上档次的fullPage.js

    简介 4月15日,网易邮箱升级到6.0版本,并发布了介绍页面,页面采用了时下非常流行的"全屏"效果,文字.图片再加上 CSS3 动画,让用户非常直观.清晰的了解6.0版本的功能及特 ...

  2. eclipse自动补全的设置

    eclipse自动补全的设置   如果你用过Visual Studio的自动补全功能后,再来用eclipse的自动补全功能,相信大家会有些许失望. 但是eclipse其实是非常强大的,eclipse的 ...

  3. Nginx设置线程数为整机内核数的俩倍!

    Nginx设置线程数为整机内核数的俩倍!

  4. Code Snippets 代码片段

    Code Snippets 代码片段       1.Title : 代码片段的标题 2.Summary : 代码片段的描述文字 3.Platform : 可以使用代码片段的平台,有IOS/OS X/ ...

  5. Python 登录系统

    ---------------------------------------------------------------------------------------- 该程序主要实现了以下3 ...

  6. 盘点8种CSS实现垂直居中水平居中的绝对定位居中技术

    Ⅰ.绝对定位居中(Absolute Centering)技术 我们经常用margin:0 auto来实现水平居中,而一直认为margin:auto不能实现垂直居中--实际上,实现垂直居中仅需要声明元素 ...

  7. 金字塔Lucas-Kanande光流算法实现

    // Lucas-Kanade method Optical Flow in OpenCV // BJTShang, 2016-12-13 #include <cv.h> #include ...

  8. 如何在centos下部署Node环境

    从今年开始,养车之家的PC 和 M端 的站点 ,服务器从tomcat全部改成了Node,无论在测试环境.准生产.正式环境,我们都需要在服务器进行Node的部署,在这里我给大家详细说明下Node在lin ...

  9. maven 配置问题

    ① 错误 Cannot load JDBC driver class 'oracle.jdbc.driver.OracleDriver' 原因:pom.xml文件下载ojdbc14-10.2.0.3. ...

  10. git服务器搭建总结

    1.软件选择 服务端软件:由于我对linux还不熟悉,而且公司用的都是windows,于是找到了bonobo,这是一个基于.net framework 4.5和.net mvc4的开源软件,iis7. ...