8、Python操作MySQL基础使用
8.1 安装pymysql
pip install pymysql
8.2 测试连接
测试代码
from pymysql import Connection
# 获取到MySQL数据库的链接对象
conn = Connection(
# 主机名
host='localhost',
# 端口号,默认3306
port=3306,
# 账户名
user='root',
# 密码
password='3535'
)
# 打印MySQL数据库软件信息
print(conn.get_server_info())
# 关闭数据库连接
conn.close()
测试结果
链接成功。
8.3 创建表
from pymysql import Connection
# 获取到MySQL数据库的链接对象
conn = Connection(
# 主机名
host='localhost',
# 端口号,默认3306
port=3306,
# 账户名
user='root',
# 密码
password='3535'
)
# 获取游标对象
cursor = conn.cursor()
# 选择数据库
conn.select_db("mysql_learning")
# 使用游标对象,执行sql语句,创建student表
cursor.execute("CREATE TABLE student(id INT, name VARCHAR(255), age INT)")
# 关闭数据库链接
conn.close()
创建结果
8.4 查询表
查询代码
from pymysql import Connection
# 获取到MySQL数据库的链接对象
conn = Connection(
# 主机名
host='localhost',
# 端口号,默认3306
port=3306,
# 账户名
user='root',
# 密码
password='3535'
)
# 获取游标对象
cursor = conn.cursor()
# 选择数据库
conn.select_db("mysql_learning")
cursor.execute("SELECT * FROM student")
results: tuple = cursor.fetchall()
for r in results:
print(r)
查询结果
8.5 插入数据
插入代码
from pymysql import Connection
# 获取到MySQL数据库的链接对象
conn = Connection(
# 主机名
host='localhost',
# 端口号,默认3306
port=3306,
# 账户名
user='root',
# 密码
password='3535'
)
# 获取游标对象
cursor = conn.cursor()
# 选择数据库
conn.select_db("mysql_learning")
cursor.execute("INSERT INTO student VALUES (3, '周杰伦', 18)")
conn.commit()
conn.close()
注意,这里不同与之前的操作的是,添加数据必须进行提交,conn.commit
,否则执行代码之后,数据是没有插入到数据库的。
如果不想手动commit
确认,可以在构建链接对象的时候,设置自动commit
属性。
# 获取到MySQL数据库的链接对象
conn = Connection(
# 主机名
host='localhost',
# 端口号,默认3306
port=3306,
# 账户名
user='root',
# 密码
password='3535',
autocommit=True
)