Python3 操作sqlite 插入一条数据并返回主键 id的实例
时间: 2024-03-06 13:46:10 浏览: 40
可以使用 Python3 中的 sqlite3 模块来操作 SQLite 数据库,具体实现如下:
```python
import sqlite3
# 连接数据库
conn = sqlite3.connect('example.db')
# 创建数据表
conn.execute('''CREATE TABLE IF NOT EXISTS users
(id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER NOT NULL);''')
# 插入一条数据并返回主键 id
name = 'Tom'
age = 20
cursor = conn.execute("INSERT INTO users (name, age) VALUES (?, ?)", (name, age))
user_id = cursor.lastrowid
# 提交事务并关闭连接
conn.commit()
conn.close()
# 输出主键 id
print(user_id)
```
首先,连接到 SQLite 数据库,并创建一个名为 `users` 的数据表。然后,使用 `conn.execute()` 方法执行插入语句,其中 `?` 表示占位符,后面的元组 `(name, age)` 表示要插入的数据。最后,使用 `cursor.lastrowid` 获取插入的数据的主键 id,并提交事务并关闭连接。
相关问题
python 操作sqlite怎么中间删掉一条数据,使id连续
在Python中使用sqlite3模块操作数据库。可以使用DELETE语句删除指定的数据。
语法:
```python
cursor.execute("DELETE from table_name where id = ?", (id,))
```
其中,cursor是数据库的游标对象,table_name是表名,id是要删除的数据的id。
如果想让id连续,可以在删除数据之后,再执行一条UPDATE语句,将id大于删除数据id的数据的id都减1,即:
```python
cursor.execute("UPDATE table_name SET id = id -1 WHERE id > ?", (id,))
```
请确保在执行上述操作之前,连接数据库并开启事务。
例如:
```python
import sqlite3
connection = sqlite3.connect("mydatabase.db")
cursor = connection.cursor()
id = 3
cursor.execute("DELETE from table_name where id = ?", (id,))
cursor.execute("UPDATE table_name SET id = id -1 WHERE id > ?", (id,))
connection.commit()
connection.close()
```
请注意,这个方法只适用于id字段是整数类型,如果是字符串类型就不能这样操作了。
python中sqlite3如何插入数据
在Python中,可以使用sqlite3模块来连接SQLite数据库并插入数据。以下是插入数据的基本步骤:
1. 导入sqlite3模块。
2. 连接到数据库。
3. 创建一个游标对象。
4. 编写SQL插入语句。
5. 执行SQL插入语句。
6. 提交更改。
7. 关闭游标对象和数据库连接。
举个例子,假设我们要向名为“students”的表中插入一些数据。首先,我们需要连接到数据库:
```python
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
```
接下来,我们可以编写SQL插入语句并执行它:
```python
cursor.execute("INSERT INTO students (name, age) VALUES (?, ?)", ('Tom', 20))
```
在上面的例子中,我们将一个名为“Tom”的学生的姓名和年龄插入到“students”表中。
最后,我们需要提交更改并关闭游标和数据库连接:
```python
conn.commit()
cursor.close()
conn.close()
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)