26. SQLite 轻量级的关系型数据库
SQLite是python自带的数据库,可以搭配python存储数据,开发网站等。
标准库中的 sqlite3 提供该数据库的接口。
1. 基本语法如下
conn = sqlite3.connect("test.db")
c = conn.cursor()
c.execute("SQL 语句")
conn.commit()
conn.close()
1)使用connect()连接数据库;
2)定位指针 cursor()
3) execute() 执行SQL # 创建,插入,删除,更新和一般sql一样
4)commit() 保存changes
5)close() 关闭数据库连接
2. executemany() 可以一次插入多条记录。插入对象是一个list,存储多条记录。
c.executemany('INSERT INTO book VALUES (?, ?, ?, ?, ?)', books)
books = [(1, 1, 'Cook Recipe', 3.12, 1),
(2, 3, 'Python Intro', 17.5, 2),
(3, 2, 'OS Intro', 13.6, 2)
]
? 作为替代符号,并在后面的参数中给出具体值。
3. 查询结果将保存在一个循环器。包含多条记录
1) 可以循环读取:
for row in c.execute('SELECT *from book'):
print(row)
2) 可以调用sqlite3的 fetchone()和fetchall() 方法
c.execute('SELECT *from book')
print(c.fetchone())
print(c.fetchone()) # fetchone() 一次返回一条记录
c.execute('SELECT *from book')
print(c.fetchall()) # fetchall() 返回全部记录,存储到list里
3) 删除和更新语句直接用execute()即可
c.execute('UPDATE book SET price=? WHERE id=?',(1000, 1))
c.execute('UPDATE book SET price=1000 WHERE id=1') # 两种写法等价