python sqlite 判断是否有一张user表,如果没有就创建的代码
时间: 2023-02-09 11:48:52 浏览: 94
```python
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
cursor.execute("""
SELECT name FROM sqlite_master WHERE type='table' AND name='user'
""")
if not cursor.fetchone():
cursor.execute("""
CREATE TABLE user (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER
)
""")
conn.commit()
conn.close()
```
首先,使用 `sqlite3` 模块连接到数据库 `example.db`。然后使用 `cursor()` 函数创建一个游标对象。
然后,使用 `execute()` 方法执行 SQL 查询,检查是否存在名为 'user' 的表。如果 `fetchone()` 返回 `None`,说明表不存在。
在这种情况下,我们使用另一个 `execute()` 方法来创建 'user' 表。最后调用 `commit()` 方法提交事务,并关闭数据库连接。
相关问题
python 使用sqlite 查询user表中id值为123的用户 如果没有就添加该用户
可以使用 Python 中的 sqlite3 模块来完成该操作。首先连接到 SQLite 数据库,然后执行一条 SELECT 查询语句,如果查询结果为空,则执行一条 INSERT 语句来添加用户。
以下是示例代码:
```python
import sqlite3
# 连接到 SQLite 数据库
conn = sqlite3.connect('example.db')
# 创建用户表
conn.execute('''CREATE TABLE IF NOT EXISTS user
(id INT PRIMARY KEY NOT NULL,
name TEXT NOT NULL);''')
# 查询用户
user = conn.execute("SELECT * FROM user WHERE id=123").fetchone()
# 如果用户不存在,则添加用户
if not user:
conn.execute("INSERT INTO user (id, name) VALUES (123, 'John')")
conn.commit()
print("用户已添加")
else:
print("用户已存在")
# 关闭数据库连接
conn.close()
```
注意,在实际应用中,需要根据具体场景对代码进行适当的修改。例如,可以将数据库连接信息设置为配置文件中的参数,以便在不同环境下使用不同的数据库。
python 查询sqlite ,user表id字段 如果不存在则继续执行
你可以使用以下代码来查询 SQLite 数据库中的 user 表,并检查是否存在 id 字段:
```python
import sqlite3
# 连接到 SQLite 数据库
conn = sqlite3.connect('database.db')
# 获取数据库游标
cursor = conn.cursor()
# 查询 user 表是否存在 id 字段
cursor.execute("PRAGMA table_info(user)")
columns = [column[1] for column in cursor.fetchall()]
if 'id' in columns:
# 如果 id 字段存在,则继续执行其他操作
pass
else:
# 如果 id 字段不存在,则打印错误信息并退出程序
print("Error: id column not found in user table")
exit()
# 关闭数据库连接
conn.close()
```
注意,在上面的代码中,我们使用了 PRAGMA table_info(user) 命令来获取 user 表的列名列表,然后检查 id 是否在其中。如果 id 存在,则继续执行其他操作;否则,打印错误信息并退出程序。