python操作sqlite的小例子

照着菜鸟教程 学习python操作sqlite

ubuntu 安装 

 sudo apte-get install sqlite3 

找到了 

sqlite3/bionic-updates,bionic-security,now 3.22.0-1ubuntu0.4 amd64 [installed]
Command line interface for SQLite 3

然后安装 sqlitebrowser

 sudo apt search sqlitebrowser 

找到这个

sqlitebrowser/bionic,now 3.10.1-1.1 amd64 [installed]
GUI editor for SQLite databases

之后就是python 脚本了

获取结果集按字典索引获取 我找了找资料 才处理好 row['NAME'] 不然就得用索引数组了

定义 dict_factory 来替换 conn.row_factory

复制代码
#!/usr/bin/python

import sqlite3
def dict_factory(cursor, row): 
  d = {} 
  for idx, col in enumerate(cursor.description): 
    d[col[0]] = row[idx] 
  return d 

conn = sqlite3.connect('test.db')
conn.row_factory = dict_factory
print "Opened database successfully"
c = conn.cursor()
c.execute('''CREATE TABLE if not exists COMPANY
       (ID INTEGER PRIMARY KEY AUTOINCREMENT    NOT NULL,
       NAME           TEXT    NOT NULL,
       AGE            INT     NOT NULL,
       ADDRESS        CHAR(50),
       SALARY         REAL);''')
print "Table created successfully"

c.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
      VALUES (NULL, 'Paul', 32, 'California', 20000.00 )")

c.execute("UPDATE COMPANY SET NAME='Mark_update' WHERE ID = 4")

cursor = conn.execute("DELETE from COMPANY WHERE ID = 4")

conn.commit()
print "Records created successfully"


cursor = c.execute("SELECT name,age,address from COMPANY")
for row in cursor.fetchall():
  print row['NAME']

conn.close()
复制代码

 

posted @   李照耀  阅读(537)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示