python和sqlite
来源:互联网 发布:php自动刷新网页代码 编辑:程序博客网 时间:2024/06/03 14:23
python和sqlite
今天我们来说一说python和sqlite的那些事儿。
说起sqlite蜗牛还是很熟悉的,毕竟蜗牛大学之中做过的为数不多的几个项中基本上都用到了sqlite。
首先,sqlite很小,小到基本连一首歌的空间的没有。主要用于嵌入式平台,在安卓手机里面用的尤其常见。
小呢,就丧失了很多的功能,比如不可能用sqlite存储庞大的数据,你也不可能对它进行很并发的读取。
怎么看,如果单纯的就是为一个小的应用创建数据库,那sqlite是很合适的。当初蜗牛做了一个智能家居,每十秒七个数据量,数据量之间关系简单,用着十分简答。
只要安装了python2.6以上的版本,sqlite应该就是自带的。蜗牛用的是windows10,另外在树莓派的系统(一种简单的linux)上面也可以很方便的永。如果没有,那就easy_install或者pip都很简单。
另外:此片笔记有借鉴廖雪峰博客内容,在此鸣谢。
最后交代一下环境,蜗牛用的是notepad编辑python的。
创建数据库
创建数据库首先要明白,数据库存放表,而表里面有数据。表之间可以有复杂的关系。
连接分三步:
连接到数据库,一个数据库连接称为Connection。
连接到数据库后,需要打开游标,称之为Cursor。
- 通过Cursor执行SQL语句,然后,获得执行结果。
举个不恰当的栗子,你把数据库创建或是打开,都是搬到了锅里。而Cursor就是你操作数据库的炊具,比如铲子……
举个栗子:
import sqlite3conn = sqlite3.connect('woniu.db')cursor = conn.cursor()# 执行一条SQL语句,创建user表:cursor.execute('create table user (id varchar(20) primary key, name varchar(20))')cursor.close()# 提交事务:conn.commit()# 关闭Connection:conn.close()
首先要引入sqlite3模块。
利用connect连接数据库,如果没有的话会自动创建。
创建在哪里呢?这取决于你用的哪个编译器。
如果用的notepad,那当前编辑的这个.py文件在哪里,这个数据库就在哪里。
如果是交互式环境,那在你安装python的环境下找找,蜗牛的是C:\Python27。
获取了游标cursor之后,调用函数execute()执行sql语句。
execute()里面放一个string参数,这个string是一个完整的sql语句。
create table user (id varchar(20) primary key, name varchar(20))
create table user是创建user表,这个表里面有id和name两个属性(列,column),其中id是varchar(20)类型的(一种在数据库中常用的数据类型,可变字符。),并且是primary key(主键),name属性是varchar(20)。
这样一张表就建立好了。
一定要注意
cursor.close()# 提交事务:conn.commit()# 关闭Connection:conn.close()
这三行是很重要的。如果没有这三行,很可能造成资源泄露,并且刚才的操作也很可能没有成功,比如像下面的,没有关闭游标和数据库,那你的insert操作很可能是没有成功。
当然利用命令行去查看数据库里面的内容完全可以,如果你看不下去那种小黑窗,给你一个可视化的工具:sqlite developer。
这个的用法简直傻瓜式,蜗牛也不细讲,自己点吧点吧就会了。
窗口:
可以看到我们刚才定义的表和其中的描述。
我们往数据库插入数据:
import sqlite3conn = sqlite3.connect('woniu.db')cursor = conn.cursor()# 执行一条SQL语句,创建user表:cursor.execute('insert into user (id, name) values (\'1\', \'Simon\')')cursor.close()# 提交事务:conn.commit()# 关闭Connection:conn.close()
注意其中的sql语句,后边values中的值要用 \’……\’ 转义。
上图:注意点击后面的数据就能看到插入的数据。
关于sql语言,童鞋们可以自己先学一下,蜗牛也去复习一下这个很不好记的语言。另外,数据库真的是门很高深的学问。
- python和sqlite
- Python创建和连接SqLite数据库
- Python初接触:SQLite和Excel操作
- python使用sqlite的tips和bugs
- python sqlite
- python + Sqlite
- Python SQLite
- 使用 Python 的 SQLite JSON1 和 FTS5 扩展
- python中SQLite 和PySQLite的安装使用
- 用python访问sqlite
- python 访问 sqlite 数据库
- python 访问 sqlite 数据库
- Using Python in Sqlite !
- python sqlite多线程编程
- Python sqlite模块
- Python 初步试用sqlite
- python 之 sqlite
- python SQlite数据库操作
- mongodb 3.2.8安装
- Maven学习(一)搭建Maven环境
- Android JSBridge的原理与实现
- Gym 101138E Bravebeart【水题】
- VTK的详细安装步骤
- python和sqlite
- bzoj2038: [2009国家集训队]小Z的袜子(hose) 莫队
- 安装Cocoapods 报错ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/fuzzy
- MySQL安装
- cocos2d坐标系
- [译]开发安卓Apps,我所努力学习到的三十多条宝贵经验
- 调用encodeURI来解决乱码问题的原因
- android shape的使用及虚线的具体示例
- Kth Smallest Element in a BST