Python操作SQLite数据库过程解析

yipeiwu_com6年前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设计】。

相关文章

tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法

如下所示: # u [32,30,200] # u_logits [400,32,30] q_j_400 = [] for j in range(400): q_j_400.ap...

python 操作hive pyhs2方式

使用kerberos时 import pyhs2 class HiveClient: # 初始化 def __init__(self, db_host, user, pas...

Python日期时间对象转换为字符串的实例

1、标准转换格式符号说明 %a 本地星期的短名称 如:Sun, Mon, ..., Sat (en_US); So, Mo, ..., Sa (de_DE) %A 本地星期全名称 如...

python如何求解两数的最大公约数

题目: 给定两个自然数,求这两个数的最大公约数。 分析: 单看题目的话,非常简单,我们可以循环遍历自然数,如果能够整除两个自然数,就把这个数记下来,在这些记录中找到最大的一个。 但...

python re模块的高级用法详解

python re模块的高级用法详解

总结 以上所述是小编给大家介绍的python re模块的高级用法详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于P...