• 8.1 使用Python操作SQLite数据库


      SQLite是内嵌在Python中的轻量级、基于磁盘文件袋额数据库管理系统,不需要安装和配置服务,支持使用SQL语句来访问数据库。该数据库使用C语言开发,支持大多数SQL91标准,支持原子的、一致的、独立的和持久的事务,不支持外键限制;通过数据库级的独占性和共享性锁定来实现独立事务,当多个线程同时访问同一个数据库并试图写入数据时,每一时刻只有一个线程可以写入数据。

      SQLite支持最大140TB大小的单个数据库,每个数据库完全存储在单个磁盘文件中,以B+树数据结构的形式存储,一个数据库就是一个文件,通过直接复制数据库文件就可以实现数据库的备份。如果需要使用可视化管理工具,可以下载并使用SQLiteManager、SQLite Database Browser 或其他类似工具。

      访问和操作SQLite数据时,首先导入sqlite3模块,然后创建一个与数据库关联的Connection对象,例如:

     1 import sqlite3   #导入模块
     2 
     3 #conn = sqlite3.connect('example.db') #连接数据库
     4 # connect()方法,可以判断一个数据库文件是否存在,如果不存在就自动创建一个,如果存在的话,就打开那个数据库。
     5 
     6 #再创建一个Cusor对象,并且调用Cursor对象的execute()方法来执行SQL语句创建数据表以及查询、插入、修改或删除数据库中的数据,例如:
     7 #c = conn.cursor()
     8 
     9 #创建表
    10 #c.execute('''CREATE TABLE stocks(date text,trans text,symbol text,gty real,price real)''')
    11 
    12 #向表中插入一条数据
    13 #c.execute('''insert into stocks values('2016-01-05','BUY','RHAT',100,35.14)''')
    14 
    15 #提交当前事务,保存数据
    16 #conn.commit()
    17 
    18 #关闭数据库连接
    19 #conn.close()
    20 
    21 
    22 
    23 #查询刚才插入的数据
    24 #由于刚才已经关闭了数据库连接,需要重新创建Connection对象和Cursor对象
    25 conn = sqlite3.connect('example.db')
    26 c = conn.execute('''select * from stocks''')
    27 print(c)   #<sqlite3.Cursor object at 0x00000000007E25E0>
    28 
    29 print(list(c))   #[('2016-01-05', 'BUY', 'RHAT', 100.0, 35.14)]
    30 
    31 #数据成功提取出来了

      还可以用如下方法查询数据:

    1 conn = sqlite3.connect('example.db')
    2 c = conn.cursor()
    3 a = c.execute('select * from stocks')
    4 print(c)   #<sqlite3.Cursor object at 0x00000000007E25E0>
    5 
    6 for i in a:
    7     print(i)    #('2016-01-05', 'BUY', 'RHAT', 100.0, 35.14)
  • 相关阅读:
    Mybatis 接口绑定
    Spring AOP
    Spring 基础使用
    Java 类的生命周期
    Mybatis 测试延迟加载
    Mybatis
    eclipse 常用jar包总结
    Web 过滤器参数设置问题
    Web 单元测试
    zabbix监控-自定义监控与报警(二)
  • 原文地址:https://www.cnblogs.com/avention/p/8955130.html
Copyright © 2020-2023  润新知