在Python 3中,连接和操作MySQL数据库是常见的任务,特别是在数据处理和自动化脚本中。本篇文章将详细讲解如何使用Python的pymysql库来实现数据的插入操作,并给出查询数据库的基本流程。
要使用pymysql库,你需要确保它已经安装在你的环境中。在命令行中输入`pip3 install pymysql`可以安装这个库。如果安装成功,你可以在Python环境中导入pymysql模块,如下所示:
```python
import pymysql
```
要连接到MySQL数据库,你需要提供数据库的相关信息,如主机地址(host)、用户名(user)、密码(password)以及数据库名(db)。以下是一个连接示例:
```python
conn = pymysql.connect(
host='localhost',
user='root',
password='root1234',
db='test1',
port=3306
)
```
连接建立后,你可以通过调用`connect()`方法的返回对象创建一个游标(cursor),它用于执行SQL命令:
```python
cur = conn.cursor()
```
在Python中插入数据到MySQL通常涉及到两个步骤:编写SQL插入语句,然后通过游标执行这个语句。例如,以下代码展示了如何插入一条记录到名为'score'的表中:
```python
sql = """
insert into score (sno, cno, degree)
values ('999', '0-000', '99')
"""
cur.execute(sql)
```
执行完SQL命令后,为了确保数据被持久化到数据库,需要调用`commit()`方法提交事务:
```python
conn.commit()
```
关闭游标和数据库连接以释放资源:
```python
cur.close()
conn.close()
```
上述代码完成了插入操作。如果你想查询数据库,过程类似。以下是一个简单的查询示例,从'new'表中获取所有数据:
```python
def query_data():
conn = pymysql.connect(
host='localhost',
port=3306,
user='root',
passwd='1366',
db='sys'
)
cur = conn.cursor()
cur.execute("select * from new")
result = cur.fetchall()
print(result)
conn.commit()
cur.close()
conn.close()
```
`execute()`方法执行SQL查询,`fetchall()`则获取所有查询结果。注意,对于只读操作,你可能不需要调用`commit()`,因为默认情况下,MySQL连接是自动提交的。
对于插入操作,例如向'new'表中添加新记录,可以使用以下代码:
```python
def insert_data():
conn = pymysql.connect(
host='localhost',
port=3306,
user='root',
passwd='1366',
db='sys'
)
cur = conn.cursor()
cur.execute("insert into new(idnew, name, xuexiao) VALUES (5, 'xiezhiming', '655')")
conn.commit()
cur.close()
conn.close()
```
总结来说,Python 3通过pymysql库为开发者提供了方便的方式来与MySQL数据库交互,无论是插入数据还是查询数据。只要遵循正确的连接、执行、提交和关闭步骤,就能有效地操作MySQL数据库。