【MySQL连接器(Python)指南】05-通过连接器操作MySQL数据库


前言

在这里插入图片描述
MySQL连接器(Python),用于让Python程序能够访问MySQL数据库。要想让Python应用程序正确高效地使用MySQL数据,就需要深入了解MySQL连接器的特性和使用方法。

上篇文章👉《【MySQL连接器(Python)指南】04-通过连接器连接 MySQL》 介绍了如何通过连接器连接MySQL Server,这篇接着介绍通过连接器操作MySQL数据库的方法。


通过连接器创建表

所有的DDL(数据定义语言)语句的执行,都是基于游标句柄结构。以下示例展示了如何创建员工示例数据库的表。

在MySQL服务器中,表是长期存在的对象,通常可以被基于不同语言实现的多个应用程序访问。你通常应该使用已经创建好的表,而不是在自己的应用程序中创建它们。因为创建和删除表是一种成本很高的操作,所以应该避免反复创建和删除表。有一种例外,那就是临时表,它专门用于临时存储数据,可以在应用程序中快速地创建和删除临时表。

from __future__ import print_function
import mysql.connector
from mysql.connector import errorcode
DB_NAME = 'employees'
TABLES = {
   }

TABLES['employees'] = (
 "CREATE TABLE `employees` ("
 " `emp_no` int(11) NOT NULL AUTO_INCREMENT,"
 " `birth_date` date NOT NULL,"
 " `first_name` varchar(14) NOT NULL,"
 " `last_name` varchar(16) NOT NULL,"
 " `gender` enum('M','F') NOT NULL,"
 " `hire_date` date NOT NULL,"
 " PRIMARY KEY (`emp_no`)"
 ") ENGINE=InnoDB")
 
TABLES['departments'] = (
 "CREATE TABLE `departments` ("
 " `dept_no` char(4) NOT NULL,"
 " `dept_name` varchar(40) NOT NULL,"
 " PRIMARY KEY (`dept_no`), UNIQUE KEY `dept_name` (`dept_name`)"
 ") ENGINE=InnoDB")
 
TABLES['salaries'] = (
 "CREATE TABLE `salaries` ("
 " `emp_no` int(11) NOT NULL,"
 " `salary` int(11) NOT NULL,"
 " `from_date` date NOT NULL,"
 " `to_date` date NOT NULL,"
 " PRIMARY KEY (`emp_no`,`from_date`), KEY `emp_no` (`emp_no`),"
 " CONSTRAINT `salaries_ibfk_1` FOREIGN KEY (`emp_no`) "
 " REFERENCES `employees` (`emp_no`) ON DELETE CASCADE"
 ") ENGINE=InnoDB")
 
TABLES['dept_emp'] = (
 "CREATE TABLE `dept_emp` ("
 " `emp_no` int(11) NOT NULL,"
 " `dept_no` char(4) NOT NULL,"
 " `from_date` date NOT NULL,"
 " `to_date` date NOT NULL,"
 " PRIMARY KEY (`emp_no`,`dept_no`), KEY `emp_no` (`emp_no`),"
 " KEY `dept_no` (`dept_no`),"
 " CONSTRAINT `dept_emp_ibfk_1` FOREIGN KEY (`emp_no`) "
 " REFERENCES `employees` (`emp_no`) ON DELETE CASCADE,"
 " CONSTRAINT `dept_emp_ibfk_2` FOREIGN KEY (`dept_no`) "
 " REFERENCES `departments` (`dept_no`) ON DELETE CASCADE"
 
  • 30
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我可以为您讲解如何使用 Python 编写一个通讯录程序,并使用 MySQL 数据库进行数据存储和管理。 首先,您需要安装 MySQL 数据库,并创建一个名为“address_book”的数据库。在该数据库中,创建一个名为“contacts”的表,该表包含以下字段:id、name、phone_number、email。 接下来,您需要安装 PythonMySQL 连接器,可以使用以下命令进行安装: ``` pip install mysql-connector-python ``` 然后,您可以使用以下代码连接到 MySQL 数据库: ```python import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="address_book" ) mycursor = mydb.cursor() ``` 接下来,您可以编写代码来添加、编辑、删除和查找联系人。以下是一个简单的添加联系人函数示例: ```python def add_contact(name, phone_number, email): sql = "INSERT INTO contacts (name, phone_number, email) VALUES (%s, %s, %s)" val = (name, phone_number, email) mycursor.execute(sql, val) mydb.commit() print(mycursor.rowcount, "record inserted.") ``` 该函数将姓名、电话号码和电子邮件作为参数,并将其插入到“contacts”表中。 您还可以编写其他函数,例如编辑联系人、删除联系人和查找联系人。以下是一个简单的查找联系人函数示例: ```python def find_contact(name): sql = "SELECT * FROM contacts WHERE name = %s" val = (name,) mycursor.execute(sql, val) result = mycursor.fetchall() if len(result) == 0: print("No contacts found.") else: for contact in result: print(contact) ``` 该函数将姓名作为参数,并在“contacts”表中查找该姓名的联系人。如果找不到联系人,则显示“未找到联系人”消息。否则,将显示与该姓名匹配的所有联系人的详细信息。 希望这些信息对您有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

架构师昌哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值