SQLite in Python: 如何在Python中使用SQLite数据库
2024-09-06 12:22:15
SQLite3 可使用 sqlite3 模块与 Python 进行集成。sqlite3 模块是由 Gerhard Haring 编写的。它提供了一个与 PEP 249 描述的 DB-API 2.0 规范兼容的 SQL 接口。您不需要单独安装该模块,因为 Python 2.5.x 以上版本默认自带了该模块。
使用sqlite tutorial提供的 “chinook” sample database 数据库chinook.db,下载地址:https://www.sqlitetutorial.net/sqlite-sample-database/
同时提供了数据库的ER-Diagram实体关系图, 可以使用数据库提供的11张表进行一些练习。
import sqlite3 conn = sqlite3.connect('chinook.db') cur = conn.cursor() # treat the cursor object cur as an iterator
cur.execute('SELECT * from albums') # call fetchone() method / or fetchall() method
print(cur.fetchone()) # iterating over each rows
for row in cur.execute('SELECT * from albums'):
print(row) cur.execute('SELECT * from customers')
print(cur.fetchone()) # add where clause
ArtistId = ('',) # using ? is more secure than using %s
cur.execute('SELECT * from albums where ArtistId = ?',ArtistId)
print(cur.fetchall()) # using %s
ArtistId = ('',) # using ? is more secure than using %s
cur.execute('SELECT * from albums where ArtistId = %s' % ArtistId)
print(cur.fetchall()) cur.execute('SELECT * from artists')
print(cur.fetchall()) # insert value
cur.execute('INSERT OR REPLACE INTO artists values (276, "Jay Zhou")')
cur.execute('SELECT * from artists')
print(cur.fetchall()) # insert a list of records -- here we use executemany to insert another 3 singers
newArtists = [(278, 'Eason Chan'),
(279, 'Yoga Lin'),
(280, 'Jane Zhang'),] # print(type(newArtists))
cur.executemany('INSERT OR IGNORE INTO artists values (? , ?)' , newArtists)
for row in cur.execute('SELECT * from artists'):
print(row) # using commit() to save those transactions / commiting those transations
conn.commit()
conn.close()
最新文章
- Angularjs学习笔记(二)----模块
- angularjs之browserTrigger
- 关于斐波拉契数列(Fibonacci)
- Eclipse启动提示Failed to load the JNI shared library JVM.dll
- Java 嵌套作用域
- lex&;yacc6 ---error
- 利用CodeIgniter中的Email类发邮件
- HDU---4417Super Mario 树状数组 离线操作
- dij算法为什么不能处理负权,以及dij算法变种
- android studio 怎样正确导入jar
- WordPress搭建Personal Blog【转】
- mongodb 复制(副本集)
- JQuery EasyUI combobox(下拉列表框)
- 一些常用的linux命令(2)
- 跳跳棋[LCA+二分查找]-洛谷1852
- python---文件读写-IO
- 纯css loading动效
- Spring 注解驱动(二)Servlet 3.0 注解驱动在 Spring MVC 中的应用
- cxgrid强大用法
- Java——线程同步
热门文章
- 流程控制&;&;函数
- HAVING方法也是连贯操作之一
- HZOI20190725 B 回家 tarjan
- Android之TableLayout表格布局
- Python学习day09 - Python进阶(3)
- DBUtils(DataSourceUtils提供数据源)
- Quick BI 的模型设计与生成SQL原理剖析
- 深入浅出 Java Concurrency (23): 并发容器 part 8 可阻塞的BlockingQueue (3)[转]
- 深入浅出 Java Concurrency (17): 并发容器 part 2 ConcurrentMap (2)[转]
- jeecms 修改后台访问路径