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()

最新文章

  1. Angularjs学习笔记(二)----模块
  2. angularjs之browserTrigger
  3. 关于斐波拉契数列(Fibonacci)
  4. Eclipse启动提示Failed to load the JNI shared library JVM.dll
  5. Java 嵌套作用域
  6. lex&yacc6 ---error
  7. 利用CodeIgniter中的Email类发邮件
  8. HDU---4417Super Mario 树状数组 离线操作
  9. dij算法为什么不能处理负权,以及dij算法变种
  10. android studio 怎样正确导入jar
  11. WordPress搭建Personal Blog【转】
  12. mongodb 复制(副本集)
  13. JQuery EasyUI combobox(下拉列表框)
  14. 一些常用的linux命令(2)
  15. 跳跳棋[LCA+二分查找]-洛谷1852
  16. python---文件读写-IO
  17. 纯css loading动效
  18. Spring 注解驱动(二)Servlet 3.0 注解驱动在 Spring MVC 中的应用
  19. cxgrid强大用法
  20. Java——线程同步

热门文章

  1. 流程控制&&函数
  2. HAVING方法也是连贯操作之一
  3. HZOI20190725 B 回家 tarjan
  4. Android之TableLayout表格布局
  5. Python学习day09 - Python进阶(3)
  6. DBUtils(DataSourceUtils提供数据源)
  7. Quick BI 的模型设计与生成SQL原理剖析
  8. 深入浅出 Java Concurrency (23): 并发容器 part 8 可阻塞的BlockingQueue (3)[转]
  9. 深入浅出 Java Concurrency (17): 并发容器 part 2 ConcurrentMap (2)[转]
  10. jeecms 修改后台访问路径