目录
- 一、python对mysql的数据操作
- 1、前期准备
- 2、连接mysql
- 3、创建表
- 5、插入表
- 4、查询表
一、python对mysql的数据操作
1、前期准备
- 使用python对mysql进行相关操作前,需要安装pymysql。
- 执行pip install pymysql命令即可
- 如果具体不知道如何操作,可以查看这篇文章 第六点:安装第三方python包
2、连接mysql
from pymysql import Connection
#获取mysql数据库的连接对象
conn = Connection(
host="localhost", #主机名(或者IP地址)
user="root", #用户名
password="123456", #密码
database="test" #数据库名
)
#打印mysql数据库软件信息
print(conn.get_server_info()) #结果为打印出mysql的版本内容
#关闭到数据库的连接
conn.close()
结果为:
8.3.0
3、创建表
from pymysql import Connection
#获取mysql数据库的连接对象
conn = Connection(
host="localhost", #主机名(或者IP地址)
user="root", #用户名
password="123456", #密码
database="test" #数据库名
)
#获取游标对象
cursor = conn.cursor()
#选择数据库
conn.select_db("test")
#使用游标对象执行sql语句
cursor.execute("create table test_mysql(id int,name VARCHAR(255))")
#关闭到数据库的连接
conn.close()
会在test数据库中生成一张表
5、插入表
- 方法一:插入表时需要commit()才会生效
from pymysql import Connection
#获取mysql数据库的连接对象
conn = Connection(
host="localhost", #主机名(或者IP地址)
user="root", #用户名
password="123456", #密码
database="test" #数据库名
)
#获取游标对象
cursor = conn.cursor()
#选择数据库
conn.select_db("test")
#使用游标对象执行sql语句
cursor.execute("INSERT INTO test_mysql (`id`, `name`) VALUES (1, '张三');")
cursor.execute("INSERT INTO test_mysql (`id`, `name`) VALUES (2, '李四');")
#提交到数据库执行
conn.commit()
#关闭到数据库的连接
conn.close()
- 方法二:连接对象时设置自动提交
from pymysql import Connection
#获取mysql数据库的连接对象
conn = Connection(
host="localhost", #主机名(或者IP地址)
user="root", #用户名
password="123456", #密码
database="test", #数据库名
autocommit=True #设置自动提交
)
#获取游标对象
cursor = conn.cursor()
#选择数据库
conn.select_db("test")
#使用游标对象执行sql语句
cursor.execute("INSERT INTO test_mysql (`id`, `name`) VALUES (1, '张三');")
cursor.execute("INSERT INTO test_mysql (`id`, `name`) VALUES (2, '李四');")
#关闭到数据库的连接
conn.close()
4、查询表
表test_mysql中已存在两条记录
from pymysql import Connection
#获取mysql数据库的连接对象
conn = Connection(
host="localhost", #主机名(或者IP地址)
user="root", #用户名
password="123456", #密码
database="test" #数据库名
)
#获取游标对象
cursor = conn.cursor()
#选择数据库
conn.select_db("test")
#使用游标对象执行sql语句
cursor.execute("select * from test_mysql;")
#获取查询结果
result: tuple = cursor.fetchall()
for row in result:
print(row)
#关闭到数据库的连接
conn.close()
结果会输出test_mysql表中的所有记录
结果为:
(1, '张三')
(2, '李四')