本文主要介绍了如何使用Python操作MySQL数据库,包括连接数据库、执行SQL语句、获取查询结果等基本操作。通过学习这些内容,读者可以掌握使用Python进行数据库开发的基本技能。
Python操作MySQL数据库简介
Python是一种广泛使用的高级编程语言,具有丰富的库和框架,在Python中,我们可以使用多种方式来操作MySQL数据库,例如使用原生的MySQL Connector/Python库,或者使用第三方库如PyMySQL、SQLAlchemy等,这些库提供了丰富的功能,可以帮助我们轻松地连接、查询、插入、更新和删除数据库中的数据。
二、安装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、更新数据:
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库:
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 数据库时可能用到的一些基本命令和操作。
pip install mysqlconnectorpython
| 连接数据库 | “`python
import mysql.connector
db = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
“` | 创建与MySQL数据库的连接 |
cursor = db.cursor()
| 执行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