python 学习笔记6(数据库 sqlite)

时间:2024-10-15 23:07:33

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') # 两种写法等价