您的位置:

Python 3与MySQL的完美结合

一、Python 3与MySQL的简介

Python是一个高级编程语言,它是一种解释性语言,易学易用。Python 3是Python语言的第三个主要版本。

MySQL是一种关系型数据库管理系统,它使用SQL语言来管理数据库。MySQL是开源的,性能强劲且可靠。

Python 3和MySQL之间的无缝集成,使Python能够在任何地方都能够快速和轻松地访问MySQL数据库。

二、通过Python连接MySQL数据库

在Python中连接MySQL数据库需要安装Python的MySQLdb模块。如果没有安装,可以使用以下命令安装:

pip install mysqlclient

安装完成后,可以使用以下代码测试连接:

import MySQLdb

db = MySQLdb.connect(host="localhost",    
                     user="root",         
                     passwd="password",  
                     db="testdb")        

cursor = db.cursor()

cursor.execute("SELECT VERSION()")

data = cursor.fetchone()  

print "Database version : %s " % data

db.close()

代码说明:首先我们需要导入MySQLdb模块,创建一个MySQL连接对象,通过连接对象创建游标对象,使用游标对象执行SQL语句,最后关闭连接。

三、操作MySQL数据库

(一)创建表

import MySQLdb

db = MySQLdb.connect(host="localhost",    
                     user="root",         
                     passwd="password",  
                     db="testdb")        

cursor = db.cursor()

sql = """CREATE TABLE EMPLOYEE (
         FIRST_NAME  CHAR(20) NOT NULL,
         LAST_NAME  CHAR(20),
         AGE INT,  
         SEX CHAR(1),  
         INCOME FLOAT )"""

cursor.execute(sql)

db.close()

代码说明:我们使用CREATE TABLE语句创建了一个名为EMPLOYEE的表,其中包含FIRST_NAME、LAST_NAME、AGE、SEX和INCOME等字段。

(二)插入数据

import MySQLdb

db = MySQLdb.connect(host="localhost",    
                     user="root",         
                     passwd="password",  
                     db="testdb")        

cursor = db.cursor()

sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
         LAST_NAME, AGE, SEX, INCOME)
         VALUES ('John', 'Smith', 20, 'M', 2000)"""

cursor.execute(sql)

db.commit()

db.close()

代码说明:我们使用INSERT INTO语句将一条数据插入到EMPLOYEE表中。

(三)查询数据

import MySQLdb

db = MySQLdb.connect(host="localhost",    
                     user="root",         
                     passwd="password",  
                     db="testdb")        

cursor = db.cursor()

sql = "SELECT * FROM EMPLOYEE \
       WHERE INCOME > '%d'" % (1000)

cursor.execute(sql)

results = cursor.fetchall()

for row in results:
    first_name = row[0]
    last_name = row[1]
    age = row[2]
    sex = row[3]
    income = row[4]

    print "first_name=%s,last_name=%s,age=%d,sex=%s,income=%d" % \
          (first_name, last_name, age, sex, income )

db.close()

代码说明:我们使用SELECT语句查询了EMPLOYEE表中的数据,并通过for循环将每一条数据打印出来。

(四)更新数据

import MySQLdb

db = MySQLdb.connect(host="localhost",    
                     user="root",         
                     passwd="password",  
                     db="testdb")        

cursor = db.cursor()

sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = '%c'" % ('M')

try:
    cursor.execute(sql)
    db.commit()
except:
    db.rollback()

db.close()

代码说明:我们使用UPDATE语句将EMPLOYEE表中性别为“M”的员工年龄加1。

(五)删除数据

import MySQLdb

db = MySQLdb.connect(host="localhost",    
                     user="root",         
                     passwd="password",  
                     db="testdb")        

cursor = db.cursor()

sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (30)

try:
    cursor.execute(sql)
    db.commit()
except:
    db.rollback()

db.close()

代码说明:我们使用DELETE FROM语句删除了EMPLOYEE表中年龄大于30的员工。

结论

在Python 3与MySQL的无缝集成的帮助下,Python可以轻松访问MySQL数据库。本文介绍了如何使用MySQLdb模块在Python中连接、操作MySQL数据库,包括创建表、插入数据、查询数据、更新数据和删除数据。

Python 3与MySQL的完美结合为数据科学家和开发人员提供了一个强大的工具,它能够优化数据分析和应用程序开发。