python调用本地mysql数据库

Python是一种优秀的编程语言,可以轻松和各种数据库进行交互,MySQL也不例外。本文将讲解如何使用Python调用本地的MySQL数据库,并介绍如何自己封装数据库操作库。

以下是本文的内容大纲:

1. MySQL数据库介绍

2. Python操作MySQL所需引入的库

3. 本地MySQL数据库的创建和连接

4. 在Python中创建表和增、删、改、查操作

5. 自己封装MySQL操作库

MySQL数据库介绍

MySQL是一个关系型数据库管理系统,是一个开源软件,由瑞典MySQL AB公司开发。最初是为WEB应用程序提供的,随着MySQL的持续发展,也逐渐成为支持大型企业级应用程序的数据库。

Python操作MySQL所需引入的库

在Python中,可以使用MySQLdb、PyMySQL等库来操作MySQL数据库。这里我们选择PyMySQL库,因为它使用纯Python语言编写,不需要任何额外的本地库,支持Python3.x版本。

我们需要使用pip进行安装,命令如下:

```

pip install PyMySQL

```

本地MySQL数据库的创建和连接

首先,我们需要安装MySQL数据库。可以从官网上下载安装包进行安装。此外,可以使用XAMPP等软件包来管理MySQL服务,也可以使用MySQL Workbench等图形界面工具来管理数据库。

接下来,我们需要使用Python连接MySQL数据库。在PyMySQL库中,可以使用connect()方法连接数据库。

```python

import pymysql

conn = pymysql.connect(

host='localhost', # 主机名

user='username', # 用户名

password='password', # 密码

database='test_db', # 数据库名称

charset='utf8' # 编码方式

)

```

可以看到,我们需要提供数据库连接所需要的参数,包括主机名、用户名、密码、数据库名称和编码方式等。连接成功后,我们可以使用cursor()方法创建一个游标对象。游标对象用于执行SQL语句,并从数据库中提取数据。

```python

cursor = conn.cursor()

```

在Python中创建表和增、删、改、查操作

在连接数据库成功之后,我们可以执行SQL语句。例如,我们可以创建一个名为student的表,其中包含id、name、age和sex字段。

```python

cursor.execute('''

CREATE TABLE student (

id int(10) NOT NULL AUTO_INCREMENT,

name varchar(20) NOT NULL,

age int(3) NOT NULL,

sex varchar(2),

PRIMARY KEY (id)

)

''')

conn.commit()

```

可以看到,在执行完SQL语句之后,我们需要使用commit()方法提交事务。执行SQL语句时,我们可以使用execute()方法,例如增加一条学生记录:

```python

sql = "INSERT INTO student (name, age, sex) \

VALUES ('小明', 20, '男')"

cursor.execute(sql)

conn.commit()

```

删除一条学生记录:

```python

sql = "DELETE FROM student WHERE id = %s" % (1)

cursor.execute(sql)

conn.commit()

```

修改一条学生记录:

```python

sql = "UPDATE student SET name = '%s' WHERE id = %s" % ('小刚', 2)

cursor.execute(sql)

conn.commit()

```

查询学生记录:

```python

sql = "SELECT * FROM student"

cursor.execute(sql)

results = cursor.fetchall()

for result in results:

print(result)

```

自己封装MySQL操作库

在上面的示例中,我们直接调用了PyMySQL库进行MySQL数据库操作。但是,在一个大型项目中,可能会涉及到多个数据库操作,如果每次都重复编写相同的代码,就会非常繁琐。因此,我们可以自己封装一个MySQL操作库。

我们可以先创建一个Database类,并在其中添加连接数据库、增、删、改、查数据的方法。

```python

class Database:

def __init__(self):

self.conn = pymysql.connect(

host='localhost', # 主机名

user='root', # 用户名

password='123456', # 密码

database='test_db', # 数据库名称

charset='utf8' # 编码方式

)

self.cursor = self.conn.cursor()

def query(self, query, params=None):

self.cursor.execute(query, params)

results = self.cursor.fetchall()

return results

def execute(self, query, params=None):

self.cursor.execute(query, params)

self.conn.commit()

return self.cursor.lastrowid

```

在上面的代码中,我们首先创建一个连接,然后在执行查询和执行SQL语句时,都使用了响应的方法。这些方法都返回相应的结果,例如查询操作会返回结果集。

使用封装好的操作库时,我们只需要先创建一个Database对象,然后调用相应的方法即可。

```python

db = Database()

db.execute('''

CREATE TABLE person (

id int(10) NOT NULL AUTO_INCREMENT,

name varchar(20) NOT NULL,

age int(3) NOT NULL,

PRIMARY KEY (id)

)

''')

db.execute("INSERT INTO person (name, age) VALUES ('小红', 18)")

result = db.query("SELECT * FROM person")

for r in result:

print(r)

```

总结

本文介绍了如何使用Python操作本地MySQL数据库,并展示了如何自己封装MySQL操作库。在实际开发中,我们可以根据自己的需求和团队的规范来进行选择和封装,提高代码的复用性和可读性。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(22) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部