python从MySQL插入数据
时间: 2024-05-07 16:20:35 浏览: 20
在Python中,可以使用MySQL Connector模块来连接MySQL数据库,并使用SQL语句向数据库中插入数据。下面是一个示例代码:
```python
import mysql.connector
# 连接数据库
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
# 创建游标
mycursor = mydb.cursor()
# 执行SQL语句插入数据
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)
# 提交事务
mydb.commit()
# 输出插入数据的行数
print(mycursor.rowcount, "record inserted.")
```
在上面的示例中,我们连接到本地MySQL数据库,并插入了一个名为John,地址为Highway 21的客户。首先,我们创建了一个MySQL连接对象mydb,并使用此对象创建游标对象mycursor。然后,我们定义了要插入的SQL语句和要插入的值,并使用mycursor执行SQL语句。最后,我们使用mydb.commit()提交事务并输出插入数据的行数。
相关问题
使用python向mysql插入数据
使用Python向MySQL数据库插入数据可以通过以下步骤实现:
1. 安装Python MySQL Connector
首先需要在Python中安装MySQL Connector,可以通过以下命令来安装:
```
pip install mysql-connector-python
```
2. 连接MySQL数据库
在Python中连接MySQL数据库可以使用MySQL Connector提供的connect()方法,需要提供数据库地址、用户名、密码和数据库名等参数,例如:
```
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
```
3. 创建游标对象
在Python中创建游标对象可以使用MySQL Connector提供的cursor()方法,例如:
```
mycursor = mydb.cursor()
```
4. 插入数据
使用游标对象的execute()方法可以执行SQL语句,通过插入语句来向MySQL数据库插入数据,例如:
```
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
```
5. 关闭数据库连接
最后需要关闭数据库连接,例如:
```
mydb.close()
```
python操作mysql插入数据
下面是一个Python操作MySQL插入数据的例子:
```python
import mysql.connector
# 连接MySQL数据库
cnx = mysql.connector.connect(user='username', password='password',
host='localhost',
database='mydatabase')
# 创建游标对象
cursor = cnx.cursor()
# 插入数据
add_data = ("INSERT INTO mytable "
"(id, name, age) "
"VALUES (%s, %s, %s)")
data = (1, 'Tom', 25)
cursor.execute(add_data, data)
# 提交更改
cnx.commit()
# 关闭游标和连接
cursor.close()
cnx.close()
```
在这个例子中,我们使用`mysql.connector`模块来连接MySQL数据库。然后,我们创建一个游标对象,使用`INSERT INTO`语句插入一条数据到`mytable`表中。最后,我们提交更改并关闭游标和连接。