Python操作SQLite数据库过程解析

yipeiwu_com7年前Python基础

SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统。

不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。

Python标准库包含一个SQLite包装器:使用模块sqlite3实现的PySQLite。

下面是一个操作SQLite数据库的例子:创建表、插入记录、查询记录。

import sqlite3
#创建直接到数据库文件的连接,如果文件不存在则自动创建
conn = sqlite3.connect('testdb.db')
#创建一个游标向服务器发送命令及接收结果
cursor = conn.cursor()
#创建表user
sql = '''
create table user(
id integer primary key,
name text,
sex text
)
'''
#执行
cursor.execute(sql)
#插入一条数据
sql = 'insert into user(name,sex) values("小明","男")'
cursor.execute(sql)
#插入多条数据
sql = 'insert into user(name,sex) values(?,?)'
vals = (('小李','男'),('小红','女'))
cursor.executemany(sql,vals)
#有增删改的话需要提交
conn.commit()
sql = 'select * from user'
cursor.execute(sql)
#游标有3个方法可以请求结果
#cursor.fetchone 获取一行结果
#cursor.fetmany 获取指定的任意行结果
#cursor.fetchall 获取所有结果
for row in cursor.fetchall():
  print(row)
#关闭游标和连接
cursor.close()
conn.close()

运行结果:

(1, '小明', '男')
(2, '小李', '男')
(3, '小红', '女')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中getpass模块无回显输入源码解析

本文主要讨论了python中getpass模块的相关内容,具体如下。 getpass模块 昨天跟学弟吹牛b安利Python标准库官方文档的时候偶然发现了这个模块。仔细一看内容挺少的,只有...

pycharm打开命令行或Terminal的方法

pycharm打开命令行或Terminal的方法

见图---pycharm左下角点击,就会发现 以上这篇pycharm打开命令行或Terminal的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-...

Python分治法定义与应用实例详解

本文实例讲述了Python分治法定义与应用。分享给大家供大家参考,具体如下: 分治法所能解决的问题一般具有以下几个特征: 1) 该问题的规模缩小到一定的程度就可以容易地解决 2) 该问题...

python 实时得到cpu和内存的使用情况方法

python 实时得到cpu和内存的使用情况方法

如下所示: #先下载psutil库:pip install psutil import psutil import os,datetime,time def getMemCpu()...

浅析python 中__name__ = '__main__' 的作用

很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__na...