用Python简单操作MySQL!轻松实现数据读写
PyMySQL是Python编程语言中的一个第三方模块,它可以让Python程序连接到MySQL数据库并进行数据操作。它的使用非常简单,只需要安装PyMySQL模块,然后按照一定的步骤连接到MySQL数据库即 可。本文将介绍PyMySQL的安装、连接MySQL数据库、创建表、插入数据、查询数据、更新数据和删除数据等基本操作。
一、安装PyMySQL
在使用PyMySQL之前,我们需要先安装PyMySQL模块。可以使用pip命令进行安装
如下所示:
pip install PyMySQL
安装完成后,我们就可以在Python程序中使用PyMySQL模块了。
二、连接MySQL数据库
在使用PyMySQL进行数据库操作之前,我们需要先连接到MySQL数据库。连接MySQL数据库需要指定 数据库的主机名、用户名、密码和数据库名等信息。可以使用PyMySQL中的connect()函数来连接 MySQL数据库
如下所示:
import pymysql # 打开数据库连接 db = pymysql.connect("localhost", "root", "123456", "test") # 关闭数据库连接 db.close()
其中,第一个参数是数据库的主机名,如果数据库在本地,则可以使用localhost或127.0.0.1;第二个参数是数据库的用户名,一般为root;第三个参数是数据库的密码;第四个参数是要连接的数据库名。
连接成功后,我们可以使用cursor()方法获取操作游标,如下所示:
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
三、创建表
在创建表之前,我们需要先选择要操作的数据库。可以使用select_db()方法选择要操作的数据库,如下 所示:
# 选择要操作的数据库 db.select_db("test") 选择数据库后,我们可以使用execute()方法执行SQL语句来创建表。 创建表的SQL语句如下所示: CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `age` int(11) NOT NULL, `gender` varchar(10) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
其中, user 是表名, id 、name 、age 和 gender 是表的列名, AUTO_INCREMENT 表示自动递增, NOT NULL 表示不能为空, PRIMARY KEY 表示主键。
执行创建表的SQL语句的代码如下所示:
# 创建表 sql = """ CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `age` int(11) NOT NULL, `gender` varchar(10) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; """ cursor.execute(sql)
执行完毕后,我们可以使用show_tables()方法查看数据库中的表,如下所示:
# 查看数据库中的表 cursor.execute("show tables") tables = cursor.fetchall() for table in tables: print(table)
四、插入数据
在插入数据之前,我们需要先准备好要插入的数据。插入数据可以使用execute()方法执行SQL语句,如下所示:
# 插入数据 sql = "INSERT INTO `user`(`name`, `age`, `gender`) VALUES (%s, %s, %s)" values = ("张三", 18, "男") cursor.execute(sql, values)
其中, %s 表示占位符,后面的values是要插入的数据。执行完毕后,我们可以使用commit()方法提交事务,如下所示:
# 提交事务
db.commit()
五、查询数据
在查询数据之前,我们需要先准备好要查询的条件。查询数据可以使用execute()方法执行SQL语句,如 下所示:
# 查询数据 sql = "SELECT * FROM `user` WHERE `name`=%s" values = ("张三",) cursor.execute(sql, values) result = cursor.fetchall() forrow in result: print(row)
其中, SELECT * FROM user WHERE name =%s 表示查询 user 表中名字为 张三 的记录, %s 是占位符, 后面的values是查询条件。执行完毕后,我们可以使用fetchall()方法获取查询结果。
六、更新数据
在更新数据之前,我们需要先准备好要更新的数据和更新条件。更新数据可以使用execute()方法执行 SQL语句,如下所示:
# 更新数据 sql = "UPDATE `user` SET `age`=%s WHERE `name`=%s" values = (20, "张三") cursor.execute(sql, values)
其中, UPDATE user SET age =%s WHERE name =%s 表示将 user 表中名字为 张三 的记录的年龄更新为 20, %s 是占位符,后面的values是更新数据和更新条件。执行完毕后,我们可以使用commit()方法提交事务。
七、删除数据
在删除数据之前,我们需要先准备好要删除的数据和删除条件。删除数据可以使用execute()方法执行 SQL语句,如下所示:
# 删除数据 sql = "DELETE FROM `user` WHERE `name`=%s" values = ("张三",) cursor.execute(sql, values)
其中, DELETE FROM user WHERE name =%s 表示删除 user 表中名字为 张三 的记录, %s 是占位符,后 面的values是删除条件。执行完毕后,我们可以使用commit()方法提交事务。
八、总结
本文介绍了PyMySQL的安装、连接MySQL数据库、创建表、插入数据、查询数据、更新数据和删除数据 等基本操作。通过学习本文,读者可以掌握使用PyMySQL进行MySQL数据库操作的基本方法。