python sqlite3

本文介绍了一个使用Python和SQLite3进行数据库操作的例子。通过创建一个包含食品信息的数据表,并从文本文件中读取数据填充该表,最后查询并打印所有记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

尝试了 python sqlite3 操作,不多解释,直接粘测试代码

<pre name="code" class="python"># Python test 2016-10-31

import sqlite3

# function to get per value in one sentence
def convert( value ):
    if value.startswith('~'):
        return value.strip('~')
    if not value:
        value = 0
    return float(value)

# build the database
conn = sqlite3.connect('food.db')
cur  = conn.cursor()
cur.execute('''
CREATE TABLE food (
    id       TEXT    PRIMARY KEY,
    desc     TEXT,
    water    FLOAT,
    kcal     FLOAT,
    protein  FLOAT,
    fat      FLOAT,
    ash      FLOAT,
    carbs    FLOAT,
    fiber    FLOAT,
    sugar    FLOAT
   )
    ''')

sqlquery = 'INSERT INTO food VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'

for line in open('/Users/apple/Downloads/ABBREV.txt'):
    fields = line.split('^')
    fields_count = 10
    values = [convert(f) for f in fields[0:fields_count]]
    cur.execute(sqlquery, values)

conn.commit()
conn.close()



执行和查询DB内容如下:

python XX/dbtest.py
<pre name="code" class="python">values = cur.execute('select * from food')
for val in values:
    print ("id = %s", val[0])
    print ("name = %s", val[1])

完成数据库的写入和读出



### Python SQLite3 使用教程 #### 安装SQLite3模块 对于大多数现代版本的PythonSQLite3库已经作为标准库的一部分被包含进来。因此通常不需要单独安装SQLite3插件[^1]。 #### 创建连接并打开数据库文件 要操作SQLite数据库,首先要建立到该数据库的连接。这可以通过调用`sqlite3.connect()`函数来完成: ```python import sqlite3 conn = sqlite3.connect(&#39;example.db&#39;) # 如果文件不存在,则会自动创建新文件 ``` 此命令将会尝试打开名为`example.db`的数据库文件;如果文件不存在则会被创建[^2]。 #### 执行SQL语句 通过获取游标对象执行具体的SQL查询和其他指令。下面是一个简单的例子展示如何创建表以及插入数据: ```python c = conn.cursor() # 创建表格 c.execute(&#39;&#39;&#39;CREATE TABLE stocks (date text, trans text, symbol text, qty real, price real)&#39;&#39;&#39;) # 插入一条记录 c.execute("INSERT INTO stocks VALUES (&#39;2006-01-05&#39;,&#39;BUY&#39;,&#39;RHAT&#39;,100,35.14)") ``` 为了提高效率,在处理大量数据时推荐使用批量插入方法如`executemany()`: ```python purchases = [(&#39;2006-03-28&#39;, &#39;BUY&#39;, &#39;IBM&#39;, 1000, 45.0), (&#39;2006-04-05&#39;, &#39;BUY&#39;, &#39;MSFT&#39;, 1000, 72.0)] c.executemany(&#39;INSERT INTO stocks VALUES (?,?,?,?,?)&#39;, purchases) ``` 上述代码片段展示了怎样一次性向stocks表中添加多条记录[^5]。 #### 提交更改与关闭连接 当所有的事务完成后记得提交这些改变,并断开同数据库之间的链接: ```python conn.commit() # 将所有未保存的操作写入磁盘 conn.close() # 关闭连接释放资源 ``` 以上就是关于Python配合SQLite3进行基本CRUD(Create/Read/Update/Delete)操作的一个简介。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值