pymysql 插入姓名为张三的信息,如果已经存在该信息,则提示已经存在张三的信息
时间: 2024-05-05 14:22:49 浏览: 6
可以使用以下代码实现:
```python
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', user='root', password='password', database='test')
# 创建游标对象
cursor = conn.cursor()
# 查询是否已经存在姓名为张三的信息
sql = "SELECT * FROM info WHERE name='张三'"
cursor.execute(sql)
result = cursor.fetchone()
if result:
print('已经存在张三的信息')
else:
# 插入姓名为张三的信息
sql = "INSERT INTO info(name, age, gender) VALUES ('张三', 18, '男')"
cursor.execute(sql)
conn.commit()
print('成功插入张三的信息')
# 关闭游标和连接
cursor.close()
conn.close()
```
其中,`info` 表的结构为 `(name VARCHAR(50), age INT, gender VARCHAR(10))`。如果已经存在姓名为张三的信息,则会提示已经存在;否则会插入新的信息并提示成功。
相关问题
pymysql判断查询内容是否为空,为空则将数据插入到表中
可以使用pymysql的fetchone()方法判断查询结果是否为空,如果为空则插入数据。具体代码如下:
```python
import pymysql
# 连接数据库
db = pymysql.connect(host='localhost', user='root', password='123456', database='mydb', charset='utf8')
# 获取游标
cursor = db.cursor()
# 查询语句
sql = "SELECT * FROM mytable WHERE name='张三'"
# 执行查询
cursor.execute(sql)
# 获取查询结果
result = cursor.fetchone()
# 判断查询结果是否为空
if not result:
# 如果结果为空,插入数据
insert_sql = "INSERT INTO mytable(name, age, sex) VALUES('张三', 18, '男')"
cursor.execute(insert_sql)
db.commit()
# 关闭数据库连接
db.close()
```
在上述代码中,我们首先连接到数据库并获取游标对象,然后执行查询语句并获取查询结果,使用not操作符判断查询结果是否为空,如果为空则执行插入数据的SQL语句,并通过commit()方法提交事务,最后关闭数据库连接。
用pymysql插入mysql数据库
好的,以下是使用pymysql插入mysql数据库的示例代码:
```python
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', port=3306, user='root', password='password', db='testdb', charset='utf8mb4')
cursor = conn.cursor()
# 插入数据
sql = "INSERT INTO user (name, age) VALUES (%s, %s)"
name = '张三'
age = 25
cursor.execute(sql, (name, age))
conn.commit()
# 关闭连接
cursor.close()
conn.close()
```
上面的示例代码中,我们首先使用pymysql库连接到数据库,然后使用cursor对象执行插入数据的操作,并且使用commit()方法提交事务。最后,我们关闭了数据库连接。请注意,我们在执行插入操作时使用了参数化查询,这是一种安全的方式,可以防止SQL注入攻击。