用Python操作MySQL数据库:pymysql库教程 MySQL是一种流行的关系型数据库管理系统,它可以存储结构化数据,并允许用户使用SQL语言进行操作。在Python中,我们可以使用pymysql库来连接和操作MySQL数据库。本文将介绍如何使用pymysql库来进行MySQL数据库的基本操作。 安装pymysql库 在使用pymysql库之前,我们需要先安装它。可以通过pip命令来安装: pip install pymysql 连接MySQL数据库 在Python中,我们可以使用pymysql库的connect方法来连接MySQL数据库。下面是连接MySQL数据库的代码示例: import pymysql # 打开数据库连接 db = pymysql.connect("localhost", "username", "password", "database") # 关闭数据库连接 db.close() 在上面的代码示例中,我们需要传入4个参数来连接MySQL数据库。分别是:MySQL服务器的主机名(localhost),用户名(username),密码(password)和要连接的数据库名(database) 如果一切顺利,当我们运行上面的代码示例时,就会成功连接MySQL数据库。 创建数据库表 在MySQL数据库中,我们可以使用CREATE TABLE语句来创建一个表。下面是创建一个名为“students”的表的代码示例: import pymysql # 打开数据库连接 db = pymysql.connect("localhost", "username", "password", "database") # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 使用 execute() 方法执行 SQL,如果表存在则删除 cursor.execute("DROP TABLE IF EXISTS students") # 使用 execute() 方法执行 SQL,创建数据表 students sql = """CREATE TABLE students ( ID INT NOT NULL AUTO_INCREMENT, NAME VARCHAR(20) NOT NULL, AGE INT NOT NULL, SEX CHAR(1), PRIMARY KEY (ID))""" cursor.execute(sql) # 关闭数据库连接 db.close() 在上面的代码示例中,我们首先使用cursor()方法创建了一个游标对象,然后使用execute()方法执行了一个DROP TABLE语句,以保证students表不存在。接着,我们定义了一个SQL语句,使用execute()方法执行了一个CREATE TABLE语句,创建了一个名为“students”的数据表。 向数据库表中插入数据 在MySQL数据库中,我们可以使用INSERT语句向表中插入数据。下面是向“students”表中插入数据的代码示例: import pymysql # 打开数据库连接 db = pymysql.connect("localhost", "username", "password", "database") # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # SQL 插入语句 sql = "INSERT INTO students(NAME, AGE, SEX) \ VALUES ('Tom', 20, 'M')" try: # 执行sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except: # 如果发生错误则回滚 db.rollback() # 关闭数据库连接 db.close() 在上面的代码示例中,我们首先定义了一个SQL语句,使用execute()方法执行了一个INSERT语句,向“students”表中插入了一条记录。然后使用commit()方法提交到数据库中,如果在执行INSERT语句时出错,则使用rollback()方法回滚事务。 查询数据库表中的数据 在MySQL数据库中,我们可以使用SELECT语句来查询表中的数据。下面是查询“students”表中所有数据的代码示例: import pymysql # 打开数据库连接 db = pymysql.connect("localhost", "username", "password", "database") # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # SQL 查询语句 sql = "SELECT * FROM students \ WHERE AGE > '%d'" % (18) try: # 执行SQL语句 cursor.execute(sql) # 获取所有记录列表 results = cursor.fetchall() for row in results: id = row[0] name = row[1] age = row[2] sex = row[3] # 打印结果 print("id=%d,name=%s,age=%d,sex=%s" % (id, name, age, sex)) except: print("Error: unable to fetch data") # 关闭数据库连接 db.close() 在上面的代码示例中,我们首先定义了一个SQL语句,使用execute()方法执行了一个SELECT语句,查询了“students”表中所有年龄大于18岁的记录。然后使用fetchall()方法获取查询结果,并使用for循环依次输出每一条记录的id、name、age和sex。 修改数据库表中的数据 在MySQL数据库中,我们可以使用UPDATE语句来更新表中的数据。下面是修改“students”表中一条记录的代码示例: import pymysql # 打开数据库连接 db = pymysql.connect("localhost", "username", "password", "database") # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # SQL 查询语句 sql = "UPDATE students SET AGE = AGE + 1 WHERE SEX = 'M'" try: # 执行SQL语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except: # 如果发生错误则回滚 db.rollback() # 关闭数据库连接 db.close() 在上面的代码示例中,我们先定义了一个SQL语句,使用execute()方法执行了一个UPDATE语句,将“students”表中所有性别为男性的记录的年龄加1。然后使用commit()方法提交到数据库中,如果在执行UPDATE语句时出错,则使用rollback()方法回滚事务。 删除数据库表中的数据 在MySQL数据库中,我们可以使用DELETE语句来删除表中的数据。下面是删除“students”表中一条记录的代码示例: import pymysql # 打开数据库连接 db = pymysql.connect("localhost", "username", "password", "database") # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # SQL 查询语句 sql = "DELETE FROM students WHERE ID = '%d'" % (1) try: # 执行SQL语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except: # 如果发生错误则回滚 db.rollback() # 关闭数据库连接 db.close() 在上面的代码示例中,我们先定义了一个SQL语句,使用execute()方法执行了一个DELETE语句,删除了“students”表中ID为1的记录。然后使用commit()方法提交到数据库中,如果在执行DELETE语句时出错,则使用rollback()方法回滚事务。 总结 在本文中,我们介绍了如何使用pymysql库来连接和操作MySQL数据库。我们学习了如何创建数据库表、向表中插入数据、查询表中的数据、修改表中的数据和删除表中的数据。以上是pymysql库的基本操作,希望本文对您的学习有所帮助。