用pymysql插入mysql数据库
时间: 2023-09-14 14:04:42 浏览: 59
好的,以下是使用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注入攻击。
相关问题
用pymysql向mysql数据库中插入数据
要使用 `pymysql` 库向 MySQL 数据库插入数据,需要安装该库并进行连接设置。以下是一个示例代码:
首先,确保已经安装了 `pymysql`,可以使用以下命令进行安装:
```
pip install pymysql
```
然后,使用以下代码连接到 MySQL 数据库,并执行插入数据的操作:
```python
import pymysql
# 建立数据库连接
conn = pymysql.connect(host='your_host', port=3306, user='your_username', password='your_password', db='your_database')
# 创建一个游标对象
cursor = conn.cursor()
# 定义插入数据的 SQL 语句
insert_stmt = "INSERT INTO your_table (column1, column2, ...) VALUES (%s, %s, ...)"
# 定义要插入的数据
data = ('value1', 'value2', ...)
# 执行插入操作
cursor.execute(insert_stmt, data)
# 提交事务
conn.commit()
# 关闭游标和数据库连接
cursor.close()
conn.close()
```
在上述代码中,你需要将 `'your_host'`、`'your_username'`、`'your_password'`、`'your_database'` 替换为实际的数据库连接信息,将 `'your_table'` 替换为要插入数据的表名,将 `'column1'`、`'column2'` 替换为要插入数据的列名,将 `'value1'`、`'value2'` 替换为要插入的具体值。
注意,在执行插入操作后,需要调用 `commit()` 方法提交事务,否则数据将不会被真正写入数据库。
以上是使用 `pymysql` 的示例,你也可以根据实际情况进行适当的调整。
python用PyMySQL操作mysql数据库
PyMySQL是Python下的一个MySQL驱动程序,实现了Python DB API v2.0 规范,并且支持Python3。下面是使用PyMySQL操作MySQL数据库的示例代码:
1. 安装PyMySQL
在终端中输入以下命令安装PyMySQL:
```
pip install pymysql
```
2. 连接数据库
```python
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="password", database="test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 关闭数据库连接
db.close()
```
3. 创建表
```python
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="password", database="test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 创建表
sql = """CREATE TABLE `employee` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
`age` int(11) NOT NULL,
`sex` varchar(10) NOT NULL,
`income` float NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8"""
cursor.execute(sql)
# 关闭数据库连接
db.close()
```
4. 插入数据
```python
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="password", database="test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 插入数据
sql = "INSERT INTO `employee`(`name`, `age`, `sex`, `income`) VALUES ('Tom', 25, 'Male', 5000.0)"
cursor.execute(sql)
# 提交事务
db.commit()
# 关闭数据库连接
db.close()
```
5. 查询数据
```python
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="password", database="test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 查询数据
sql = "SELECT * FROM `employee` WHERE `age` > 20"
cursor.execute(sql)
# 获取查询结果
results = cursor.fetchall()
for row in results:
id = row[0]
name = row[1]
age = row[2]
sex = row[3]
income = row[4]
print("id=%d,name=%s,age=%d,sex=%s,income=%.2f" % (id, name, age, sex, income))
# 关闭数据库连接
db.close()
```
6. 更新数据
```python
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="password", database="test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 更新数据
sql = "UPDATE `employee` SET `income` = `income` * 1.1 WHERE `age` > 20"
cursor.execute(sql)
# 提交事务
db.commit()
# 关闭数据库连接
db.close()
```
7. 删除数据
```python
import pymysql
# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="password", database="test")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 删除数据
sql = "DELETE FROM `employee` WHERE `age` > 25"
cursor.execute(sql)
# 提交事务
db.commit()
# 关闭数据库连接
db.close()
```
以上就是使用PyMySQL操作MySQL数据库的示例代码。其中,db.commit()用于提交事务,如果不提交,则数据操作不会生效。如果有异常,则可以使用db.rollback()回滚事务。