Python 操作 MySQL 数据库_Mysql数据库

本文主要介绍了如何使用Python操作MySQL数据库,包括连接数据库、执行SQL语句、获取查询结果等基本操作。通过学习这些内容,读者可以掌握使用Python进行数据库开发的基本技能。

Python操作MySQL数据库简介

Python是一种广泛使用的高级编程语言,具有丰富的库和框架,在Python中,我们可以使用多种方式来操作MySQL数据库,例如使用原生的MySQL Connector/Python库,或者使用第三方库如PyMySQL、SQLAlchemy等,这些库提供了丰富的功能,可以帮助我们轻松地连接、查询、插入、更新和删除数据库中的数据。

Python 操作 MySQL 数据库_Mysql数据库插图1

二、安装MySQL Connector/Python库

在使用Python操作MySQL数据库之前,我们需要先安装MySQL Connector/Python库,可以通过以下命令进行安装:

pip install mysqlconnectorpython

连接MySQL数据库

安装好MySQL Connector/Python库后,我们可以使用以下代码连接到MySQL数据库:

import mysql.connector
创建连接对象
cnx = mysql.connector.connect(user='用户名', password='密码', host='主机地址', database='数据库名')
创建游标对象
cursor = cnx.cursor()

执行SQL语句

在连接成功后,我们可以使用游标对象执行SQL语句,以下是一些常用的SQL语句示例:

1、查询数据:

sql = "SELECT * FROM table_name"
cursor.execute(sql)
result = cursor.fetchall()
for row in result:
    print(row)

2、插入数据:

sql = "INSERT INTO table_name (column1, column2) VALUES (%s, %s)"
values = ('value1', 'value2')
cursor.execute(sql, values)
cnx.commit()

3、更新数据:

Python 操作 MySQL 数据库_Mysql数据库插图3

sql = "UPDATE table_name SET column1 = %s, column2 = %s WHERE condition"
values = ('new_value1', 'new_value2')
cursor.execute(sql, values)
cnx.commit()

4、删除数据:

sql = "DELETE FROM table_name WHERE condition"
cursor.execute(sql)
cnx.commit()

关闭连接和游标

在完成数据库操作后,我们需要关闭游标和连接,释放资源,可以使用以下代码:

cursor.close()
cnx.close()

使用PyMySQL库操作MySQL数据库

除了使用MySQL Connector/Python库外,我们还可以使用PyMySQL库来操作MySQL数据库,首先需要安装PyMySQL库:

pip install pymysql

然后可以使用以下代码连接到MySQL数据库:

import pymysql
创建连接对象
cnx = pymysql.connect(host='主机地址', user='用户名', password='密码', database='数据库名')

我们可以使用游标对象执行SQL语句,以及关闭连接和游标,与MySQL Connector/Python库类似,这里不再赘述。

七、使用SQLAlchemy库操作MySQL数据库

SQLAlchemy是一个功能强大的Python ORM(对象关系映射)库,可以帮助我们更方便地操作数据库,首先需要安装SQLAlchemy库:

Python 操作 MySQL 数据库_Mysql数据库插图5

pip install sqlalchemy

然后可以使用以下代码连接到MySQL数据库:

from sqlalchemy import create_engine, Table, MetaData, select, update, delete, insert, text, func, and_, or_, not_, exists, nullsfirst, nullslast, asc, desc, bindparam, String, Integer, Float, Date, Time, datetime, DateTime, SmallInteger, LargeBinary, Text, Blob, Numeric, UnicodeText, Unicode, NoneType, boolean, true, false, NoneType.instance, cast, case, when, otherwise, between, union_all, union_distinct, intersect_all, intersect_distinct, except_all, except_distinct, like_all, like_distinct, any_true, any_false, array_agg, array_join, array_slice, array_sort, array_reverse, json_array_agg, json_array_elements_text, json_array_elements_binary, json_array_elements_objectid, json_array_elements_int64, json_array_elements_float64, json_array_elements_datetime64tzinfo, json_array_elements_bool64, json_array_elements_string64, json_array_elements_unicode64, json_array_elements_any64, json_array_elements_numeric64, json_array_elements_date64tzinfo, json_array_elements_time64tzinfo, json_array_elements_datetime64tzinfo2dtype(), jsonpath(), coalesce(), greatest(), least(), stringify(), typecast(), length(), collate(), nullif(), current_timestamp(), current_date(), current_time(), now(), interval(), extract(), year(), month(), day(), hour(), minute(), second(), quarter(), weekday(), isocalendar().create_engine('mysql+pymysql://用户名:密码@主机地址:端口号/数据库名?charset=utf8mb4') # 注意添加charset参数以支持中文字符集,否则可能会出现乱码问题。

下面是一个简单的介绍,展示了使用 Python 操作 MySQL 数据库时可能用到的一些基本命令和操作。

操作类型 Python 代码示例 描述 安装MySQL驱动 pip install mysqlconnectorpython 安装MySQL连接器

| 连接数据库 | “`python

import mysql.connector

db = mysql.connector.connect(

host="localhost",

user="yourusername",

password="yourpassword",

database="mydatabase"

“` | 创建与MySQL数据库的连接 |

创建游标对象 cursor = db.cursor() 游标用于执行SQL命令

| 执行SQL查询 | “`python

cursor.execute("SELECT * FROM yourtable")

“` | 在数据库上执行SQL查询 |

| 获取查询结果 | “`python

results = cursor.fetchall()

for row in results:

print(row)

“` | 获取查询结果,并遍历输出 |

| 插入数据 | “`python

sql = "INSERT INTO yourtable (name, age) VALUES (%s, %s)"

val = ("John", 21)

cursor.execute(sql, val)

db.commit()

“` | 向表中插入数据,并提交 |

| 更新数据 | “`python

sql = "UPDATE yourtable SET age = %s WHERE name = %s"

val = (22, "John")

cursor.execute(sql, val)

db.commit()

“` | 更新表中数据,并提交 |

| 删除数据 | “`python

sql = "DELETE FROM yourtable WHERE name = %s"

name = ("John’,)

cursor.execute(sql, name)

db.commit()

“` | 从表中删除数据,并提交 |

| 查询预处理 | “`python

sql = "SELECT * FROM yourtable WHERE age = %s"

age = (21,)

cursor.execute(sql, age)

“` | 使用预处理语句进行查询 |

| 错误处理 | “`python

try:

# 数据库操作

except mysql.connector.Error as e:

print("Error:", e)

“` | 捕获并处理可能出现的错误 |

关闭游标 cursor.close() 关闭游标对象 断开连接 db.close() 关闭数据库连接

请注意,这些示例代码是根据一般场景提供的,实际使用时你可能需要根据你的具体需求和环境进行适当的修改,特别是在处理数据库连接和执行SQL命令时,要确保你的代码是安全的,避免SQL注入等安全风险。

本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/8846.html

至强防御至强防御
上一篇 2024年6月15日 16:32
下一篇 2024年6月15日 16:32