本人小白,下面的内容如有错误,欢迎指正,
简介
SQLite 是一个C语言库,它可以提供一种轻量级的基于磁盘的数据库,这种数据库不需要独立的服务器进程,也允许需要使用一种非标准的 SQL 查询语言来访问它。一些应用程序可以使用 SQLite 作为内部数据存储。可以用它来创建一个应用程序原型,然后再迁移到更大的数据库,比如 PostgreSQL 或 Oracle。
sqlite3模块常用命令
1.连接数据库connect
connect(path|":memory:"[,...])
- 连接一个数据库并创建一个Connection对象,当输入路径数据库不存在时,会创建一个数据库,一般数据库后缀名是db;
- 当参数为
:memory:
时,会在内存中创建一个数据库; - 还有这些timeout, detect_types, isolation_level, check_same_thread, factory, cached_statements, uri参数,不怎么用,具体用的时候百度吧。
2.创建游标cursor
cursor()
- 为Connection对象创建一个Cursor游标对象,主要为了通过游标对象的
execute()
方法来执行sql语句
- 为Connection对象创建一个Cursor游标对象,主要为了通过游标对象的
3.执行sql命令execute
execute('sql'[, parameters])
- 用于数据库执行sql语句,支持参数绑定。
4.重复执行sqlexecutemany
executemany('sql',*seq_of_parameters* )
- 用于重复执行同一条sql语句,但每次参数不同的情况,如插入50个同学的信息,sql语句可以一样,只是学生信息不同。
5.获取单行记录fetchone
fetchone()
- 返回包含查询结果集的下一行的内容的元组,无可用数据时返回
None
- 返回包含查询结果集的下一行的内容的元组,无可用数据时返回
6.获取多行记录fetchmany
fetchmany(size)
- 获取下一个多行查询结果集,返回一个列表。 当没有更多可用行时将返回一个空列表。.
7.获取多行记录fetchall
fetchall()
- 获取一个查询结果的所有(剩余)行,返回一个列表,当没有更多可用行时将返回一个空列表。
8.提交事务commit
commit()
- 提交当前事务,当执行过增、删、改数据操作后,请调用这个方法,否则修改记录不会生效。
9.关闭close
close()
- Cursor对象调用关闭游标,Connection对象调用,关闭数据库。
先写这么多吧,后续用到再写。
举个栗子
import sqlite3
def test():
#连接数据库
conn = sqlite3.connect(r"D:\test\test.db")
#创建游标
cur = conn.cursor()
#数据库里创建一个表
sql_cre = """CREATE TABLE tab1
(name TEXT, sex TEXT, age INTEGER)"""
cur.execute(sql_cre)
#添加一个记录
sql_ins = "INSERT INTO tab1 VALUES(?, ?, ?)"
cur.execute(sql_ins,('张三丰', '男', 2))
#添加多个记录
list1 = [('李寻欢', '男', 20),('佟湘玉', '女', 16),('风清扬', '男', 200), ('东方不败', '?', 40),('黄蓉', '女', 14)]
cur.executemany(sql_ins, list1)
#提交操作记录,不然最后退出时,不会保存数据
conn.commit()
#查询记录
sql_sel="select * from tab1"
cur.execute(sql_sel)
print(cur.fetchone()) #获取一条
print(cur.fetchmany(2)) #获取2条(上面已经获取了1条,所以这里会获取第2-3条)
print(cur.fetchall()) # 这里会获取剩余的所有记录
#关闭游标和数据库
cur.close()
conn.close()
test()
其实sqlite3模块常用的命令很简单,数据库的操作,关键还是在sql语句的学习,下次再写关于sql语句的心得。