亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> Python

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

  1. Python print() 函数完全指南:基础用法、空行打印与自定义结束符
  2. Python strip() 方法完全指南:去除首尾空白与自定义字符实战
  3. Python str.count() 完全指南:统计字符与子串出现次数实战
  4. Python format() 字符串格式化完全指南:占位符、格式化规范、类与字典应用
  5. Python 字符串 find() 方法完全指南:语法、参数、替代方案与计数技巧
  6. 精通 Python Lambda 函数:实用示例与最佳实践
  7. Python round() 函数详解与实战示例
  8. 精通 Python map() 函数:语法、示例与最佳实践
  9. Python timeit():精准测量代码执行时间与实战示例
  10. Python collections.Counter:高效计数、更新与算术运算
  11. 理解 Python type() 与 isinstance():实战示例详解
  12. Python 列表完全指南:增删改查、排序、推导式实战