Python 连接 MySQL 数据库
连接数据库
我们有这样的数据库:
- HOST:
localhost - PORT:
3306 - USERNAME:
root - PASSWORD:
password - DATABASE:
my_db
表结构:
my_table,Primary: id
| column_name | data_type | is_nullable | column_default |
|---|---|---|---|
| id | INT | NO | AUTO_INCREMENT |
| username | VARCHAR(255) | NO | EMPTY |
| password | VARCHAR(255) | NO | EMPTY |
表数据:
| id | username | password |
|---|---|---|
| 1 | user1 | password1 |
| 2 | user2 | password2 |
-
安装连接库
pip install mysql-connector-python -
查询
import mysql.connector try: connection = mysql.connector.connect( host='localhost', port=3306, user='root', password='password', database='my_db' ) if connection.is_connected(): cursor = connection.cursor() print("成功连接到数据库") # 进行一次查询 query = "SELECT * FROM my_table" cursor.execute(query) results = cursor.fetchall() # 打印查询结果 for row in results: print(row) except mysql.connector.Error as e: print("连接数据库失败:", e) finally: # 关闭游标 if 'cursor' in locals() and cursor: cursor.close() # 关闭数据库连接 if 'connection' in locals() and connection.is_connected(): connection.close() print("数据库连接已关闭")成功连接到数据库 (1, 'user1', 'password1') (2, 'user2', 'password2') 数据库连接已关闭
执行 SQL 语句
执行 SQL 语句要用到的函数只有四个:
# 获取游标
cursor = connection.cursor()
# 执行 SQL 语句
cursor.execute(query, values)
# 获取结果
results = cursor.fetchall()
# 提交事务
connection.commit()
插入数据
cursor = connection.cursor()
# 定义插入数据的 SQL 语句
query = """
INSERT INTO my_table (username, password)
VALUES (%s, %s)
"""
# 数据值
values = ('user3', 'password3')
# 执行插入操作
cursor.execute(query, values)
# 提交事务
connection.commit()
print("数据插入成功")

浙公网安备 33010602011771号