• 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()
  • 相关阅读:
    一个先进的App框架:使用Ionic创建一个简单的APP
    Hexo NexT 博客本地搭建指南
    Spring Boot 2.0 入门指南
    1. 初识 Lucene
    Spring Framework 简介
    电脑软件推荐安装列表
    PHP 环境搭建篇
    C++ STL 容器之栈的使用
    0x02 译文:Windows桌面应用Win32第一个程序
    反射?切面?怎样对公共参数及行为进行封装
  • 原文地址:https://www.cnblogs.com/lizhaoyao/p/13717381.html
Copyright © 2020-2023  润新知