知识点一:安装pymysql模块
在Python中使用pymysql模块连接MySQL数据库,首先需要安装pymysql模块。可以通过pip命令直接进行安装,使用命令如下:
pip install pymysql
知识点二:使用pymysql模块连接MySQL数据库
安装好pymysql模块后,接下来就是通过pymysql模块连接到MySQL数据库。下面是一个简单的示例代码:
```python
from pymysql import connect
conn = connect(
host='***.*.*.*',
port=3306,
user='root',
password='123456',
database='itcast',
charset='utf8'
)
```
上述代码中,`connect`方法用于创建一个新的数据库连接。参数包括数据库的ip地址(host)、端口号(port)、用户名(user)、密码(password)、选择的数据库(database)以及字符集(charset)。
知识点三:执行数据查询语句
通过pymysql连接到MySQL数据库后,接下来就可以执行SQL查询语句了。这里有两种方式,一种是查询单条数据,另一种是查询多条数据。
查询单条数据使用`fetchone()`方法:
```python
c = conn.cursor() # 创建游标
c.execute("select * from student") # 执行SQL语句
result = c.fetchone() # 查询一条数据
print(result)
c.close() # 关闭游标
conn.close() # 关闭数据库连接
```
查询多条数据使用`fetchall()`方法:
```python
c = conn.cursor() # 创建游标
c.execute("select * from student") # 执行SQL语句
result = c.fetchall() # 查询多条数据
for item in result:
print(item)
c.close() # 关闭游标
conn.close() # 关闭数据库连接
```
知识点四:更改游标的默认设置
默认情况下,使用pymysql模块执行SQL语句后,游标返回的是一个元组。如果需要返回字典格式,可以在创建游标时使用`cursors.DictCursor`:
```python
c = conn.cursor(cursors.DictCursor) # 创建字典类型的游标
c.execute("select * from student") # 执行SQL语句
result = c.fetchall() # 查询多条数据
for item in result:
print(item)
c.close() # 关闭游标
conn.close() # 关闭数据库连接
```
知识点五:执行数据操作语句
除了查询操作外,我们还可以使用pymysql模块执行数据的增加、删除、更新等操作。这里以插入数据为例:
```python
from pymysql import *
conn = connect(
host='***.*.*.*',
port=3306,
user='root',
password='123456',
database='itcast',
charset='utf8'
)
c = conn.cursor() # 创建游标
c.execute("insert into student(name,age,sex) values(%s,%s,%s)",("小二",28,1)) # 执行插入语句
***mit() # 提交事务,否则操作无效
c.close() # 关闭游标
conn.close() # 关闭数据库连接
```
注意,在执行插入、删除、更新等操作时,必须使用`commit()`提交事务,否则操作是无效的。
知识点六:编写数据库连接类
为了方便重用和管理,通常我们会编写一个数据库连接类。下面是一个简单的数据库连接类示例:
```python
from pymysql import connect, cursors
class MysqlHelper:
def __init__(self,
host="***.*.*.*",
user="root",
password="123456",
database="itcast",
charset='utf8',
port=3306):
self.host = host
self.port = port
self.user = user
self.password = password
self.database = database
self.charset = charset
def connect(self):
return connect(
host=self.host,
port=self.port,
user=self.user,
password=self.password,
database=self.database,
charset=self.charset
)
```
通过上述方法,我们创建了一个`MysqlHelper`类,其中包含了数据库连接的初始化信息,通过`connect`方法就可以创建一个数据库连接实例。
以上是使用Python连接MySQL数据库之pymysql模块的使用知识点。通过这些知识点的学习,我们可以灵活地使用pymysql模块在Python中进行数据库操作。