Python 与 MySQL:数据库连接、创建与 CRUD 操作实战指南
Python 与 MySQL:数据库连接、创建与 CRUD 操作实战指南
在当今数据驱动的世界,Python 开发者常需与关系型数据库交互。MySQL 作为开源 RDBMS,凭借稳健性、社区支持和易用性仍是热门选择。本指南带你完成每一步——从安装 MySQL 及其 Python 连接器到创建数据库、表和执行基本 CRUD 操作——同时强调最佳实践和整洁代码。
什么是 MySQL?
MySQL 是领先的开源关系型数据库管理系统(RDBMS)。联合创始人 Michael Widenius 以女儿名字命名,1995 年构建 MySQL。其基于 SQL 的接口、强劲性能和跨平台支持使其成为 Web 应用、数据分析等的首选。
在 Linux/Unix 上安装 MySQL
从 MySQL Downloads 下载官方 RPM 包。打开终端运行:
rpm -i
例如:
rpm -i MySQL-5.0.9.0.i386.rpm
验证安装:
mysql --version
在 Windows 上安装 MySQL
从同一 MySQL 网站下载 Windows 安装程序并按向导操作。分步视觉指南见 官方教程。
安装 Python MySQL 连接器
用 pip 安装连接器库。Python 2 和 3 命令略有不同:
pip install mysql-connector
pip3 install mysql-connector
测试 MySQL 连接
安装连接器后,创建简单连接对象测试连通性。将 hostname、username、password 替换为你的凭据。
import mysql.connector
conn = mysql.connector.connect(
host="hostname",
user="username",
passwd="password"
)
print(conn)
成功输出类似:
<mysql.connector.connection.MySQLConnection object at 0x000002338A4C6B00>
通过 Python 创建数据库
通过游标对象执行 CREATE DATABASE 语句:
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="root",
passwd="root"
)
cursor = conn.cursor()
cursor.execute("CREATE DATABASE my_first_db")
cursor.execute("SHOW DATABASES")
for db in cursor:
print(db)
输出:
("my_first_db",)
创建表
简单表
创建两列的 student 表:
cursor.execute("CREATE TABLE student (id INT, name VARCHAR(255))")
cursor.execute("SHOW TABLES")
for tbl in cursor:
print(tbl)
输出:
("student",)
带主键的表
定义含自增主键的 employee 表:
cursor.execute("CREATE TABLE employee (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))")
cursor.execute("SHOW TABLES")
for tbl in cursor:
print(tbl)
输出:
("employee",) ("student",)
修改表
修改现有列为主键:
cursor.execute("ALTER TABLE student MODIFY id INT PRIMARY KEY")
可通过描述表或手动检查模式验证。
插入数据
向两表插入行:
student_sql = "INSERT INTO student(id, name) VALUES (1, 'John')" employee_sql = "INSERT INTO employee(id, name, salary) VALUES (1, 'John', 10000)" cursor.execute(student_sql) cursor.execute(employee_sql) conn.commit() print(cursor.rowcount, "Record Inserted")
输出:
2 Record Inserted
后续步骤
接下来可探索更新、删除和更高级查询。完成后别忘关闭连接:
conn.close()
编码愉快!
Python
- Python print() 函数完全指南:基础用法、空行打印与自定义结束符
- Python strip() 方法完全指南:去除首尾空白与自定义字符实战
- Python str.count() 完全指南:统计字符与子串出现次数实战
- Python format() 字符串格式化完全指南:占位符、格式化规范、类与字典应用
- Python 字符串 find() 方法完全指南:语法、参数、替代方案与计数技巧
- 精通 Python Lambda 函数:实用示例与最佳实践
- Python round() 函数详解与实战示例
- 精通 Python map() 函数:语法、示例与最佳实践
- Python timeit():精准测量代码执行时间与实战示例
- Python collections.Counter:高效计数、更新与算术运算
- 理解 Python type() 与 isinstance():实战示例详解
- Python 列表完全指南:增删改查、排序、推导式实战