python sqlite3的使用

本文详细介绍了如何使用Python的sqlite3模块进行数据库操作,包括安装、连接数据库、创建表、插入、查找、删除和修改记录,以及事务提交和关闭数据库等关键步骤。

1.sqlite3的安装

python2.5 以上版本 默认自带sqlite3模块
python3.6 以上版本 默认自带sqlite3模块

2.链接sqlite3数据库

```
# 导入sqlite3模块
import sqlite3

# 创建链接对象
# 打开一个到 SQLite 数据库文件 db.sqlite3 的链接
# 如果该数据库不存在则会自动创建,可以指定带有文件路径的文件名
conn = sqlite3.connect('db.sqlite3')
```

3.获取游标对象

```
# 获取游标对象用来操作数据库
cursor = conn.cursor()
```

4.操作sqlite数据库

* 创建表
    ```
    # 插入user表
    # id int型 主键自增
    # name varchar型 最大长度20 不能为空
    cursor.execute('''create table user(id integer primary key autoincrement,name varchar(20) not null)''')
    ```
* 插入记录
    ```
    # 插入一条id=1 name='xiaoqiang'的记录
    cursor.execute('''insert into user(id,name) values(1,'xiaoqiang')''')
    ```
* 查找记录
    ```
    # 查找user表中id=1的记录
    cursor.execute('''select * from user where id=1''')
    # 获得结果
    values = cursor.fetchall()
    values
    [(u'1', u'Michael')]
    ```
* 删除记录
    ```
    # 删除id=1的记录
    sursor.excute('''delete from user where id=1''')
    ```
* 修改记录
    ```
    # 修改id=1记录中的name为xiaoming
    sursor.excute('''update user set name='xiaoming' where id=1''')
    ```

5.提交事务关闭数据库

前面的修改只是将数据缓存在内存中并没有正真的写入数据库,需要提交事务才能将数据写入数据库
操作完后要确保打开的Connection对象和Cursor对象都正确地被关闭,否则,资源就会泄露。
```
# 修改id=1记录中的name为xiaoming
sursor.excute('''update user set name='xiaoming' where id=1''')
# 提交事务
conn.commit()
# 关闭链接
conn.close()
```

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值