达永编程网

程序员技术分享与交流平台

Python数据库编程教程:第 1 章 数据库基础与 Python 连接入门

1.1 数据库的核心概念

在开始 Python 数据库编程之前,我们需要先理解几个核心概念。数据库(Database) 是按照数据结构来组织、存储和管理数据的仓库,它就像一个电子化的文件柜,能让我们高效地查询、插入和修改数据。

生活中常见的数据库场景无处不在:电商平台的商品库存表、社交软件的用户信息库、银行的交易记录系统等。这些系统之所以能快速响应用户操作,正是因为数据库提供了结构化的数据存储方式。

数据库可分为关系型数据库非关系型数据库两大类:

  • 关系型数据库(如 MySQL、PostgreSQL):数据以表格形式存储,表与表之间通过关联字段建立联系,类似 Excel 中的多表联动。
  • 非关系型数据库(如 MongoDB、Redis):数据存储格式灵活,可是键值对、文档或图形结构,适合处理海量非结构化数据。

本教程将以MySQL(最流行的关系型数据库之一)为例展开讲解,其知识点可迁移到其他关系型数据库。

1.2 Python 操作数据库的原理

Python 本身并不直接处理数据库,而是通过数据库驱动(一种编程语言模块)与数据库建立通信。想象一下:Python 是用户,数据库是仓库管理员,驱动就是两者之间的翻译官 —— 用户用 Python 语法下达指令,驱动将其转换为数据库能理解的语言(如 SQL),再将执行结果翻译回 Python 可处理的格式(如列表、字典)。

常用的 Python 数据库驱动有:

  • mysql-connector-python:MySQL 官方提供的驱动
  • pymysql:第三方开发的轻量级驱动,兼容性强
  • psycopg2:用于连接 PostgreSQL 的驱动

本章将重点演示mysql-connector-python的使用方法。

1.3 环境搭建实战

1.3.1 安装 MySQL 数据库

  1. 下载地址:MySQL 官方网站
  1. 安装步骤:
    • 选择对应操作系统的安装包
    • 按照向导完成安装,记住设置的 root 密码
    • 验证安装:在命令行输入mysql -u root -p,输入密码后若能进入 MySQL 交互界面则安装成功

1.3.2 安装 Python 数据库驱动

打开命令行,输入以下命令安装mysql-connector-python:

pip install mysql-connector-python

安装成功后,可在 Python 交互环境中验证:

import mysql.connector  # 无报错则安装成功

1.4 第一个 Python 数据库程序

功能描述

创建一个 Python 脚本,实现与 MySQL 数据库的连接,并输出数据库版本信息。

示例代码

import mysql.connector

from mysql.connector import Error

def connect_to_mysql():

connection = None

try:

# 连接数据库

connection = mysql.connector.connect(

host='localhost', # 数据库主机地址

database='', # 初始不指定数据库

user='root', # 数据库用户名

password='your_password' # 替换为你的数据库密码

)

if connection.is_connected():

db_info = connection.get_server_info()

print(f"成功连接到MySQL服务器,版本:{db_info}")

# 获取当前连接的游标

cursor = connection.cursor()

cursor.execute("select database();")

record = cursor.fetchone()

print(f"当前连接的数据库:{record}")

except Error as e:

print(f"连接出错:{e}")

finally:

# 关闭数据库连接

if connection.is_connected():

cursor.close()

connection.close()

print("MySQL连接已关闭")

if __name__ == "__main__":

connect_to_mysql()

代码解析

  1. 导入模块:mysql.connector用于连接 MySQL,Error用于捕获连接异常
  1. 连接参数:host指定数据库地址(本地数据库用localhost),user和password为登录凭证
  1. 连接验证:is_connected()方法检查连接状态,get_server_info()获取数据库版本
  1. 资源释放:finally块中确保游标和连接被关闭,避免资源泄露

运行结果

若配置正确,将输出类似以下内容:

成功连接到MySQL服务器,版本:8.0.31

当前连接的数据库:None

MySQL连接已关闭

(None表示未指定具体数据库,后续章节会讲解数据库创建)

1.5 常见错误及解决方法

  1. Access denied for user 'root'@'localhost'
    • 原因:用户名或密码错误
    • 解决:检查user和password参数是否与 MySQL 配置一致
  1. Can't connect to MySQL server on 'localhost'
    • 原因:MySQL 服务未启动
    • 解决:在系统服务中启动 MySQL 服务(Windows 可在服务管理器中操作,Linux 用systemctl start mysql)
  1. ModuleNotFoundError: No module named 'mysql.connector'
    • 原因:驱动未安装或安装失败
    • 解决:重新执行pip install mysql-connector-python,检查网络连接

1.6 本章小结

本章我们掌握了:

  • 数据库的基本分类及 MySQL 的特点
  • Python 与数据库交互的工作原理
  • 开发环境的搭建(MySQL 安装 + 驱动安装)
  • 编写简单的数据库连接程序

下一章将学习如何使用 Python 创建数据库和数据表,掌握 SQL 的基本操作语法。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言