pyhton 与 mysql 交互

Python中访问mysql的步骤

安装pymysql模块

python3中安装: pip3 install pymysql python2中模块名不一样使用命令: pip install MySQLdb

创建Connection 对象:用于建立与数据库的连接

# 创建连接对象 Connection 对象
# host:数据库主机地址
# user:数据库账户
# password :数据库密码
# database : 需要连接的数据库的名称
# port: mysql的端口号
# charset: 通信采用编码格式

from pymysql import *  # 导入pymysql模块
# 创建连接对象 Connection对象
# host:数据库主机地址
# user:数据库账号
# password:数据库密码
# database : 需要连接的数据库的名称
# port: mysql的端口号
# charset: 通信采用编码格式

conn = connect(host='127.0.0.1', user='root', password='mysql',
               database='python', port=3306, charset='utf8')

Connection 连接对象拥有的方法

# close 关闭连接,连接数据库跟打开文件一样,操作完成之后需要关闭,否则会占用连接。
# commit()提交,pymysql 默认开启事物,所以每次更新数据库都要提交
# rollback()回滚,事物回滚
# cursor()返回Cursor对象,用于执行sql语句并获得结果

获取cursor对象,操作数据库

cur = conn.cursor()  # cursor对象用于执行sql语句

cursor对象拥有的方法

# close()关闭cursor对象
# execute(operation [, parameters ]) 执行语句,返回受影响的行数,可以执行所有语句
# fetchone()获取查询结果集的第一个行数据,返回一个元组
# fetchall()执行查询时,获取结果集的所有行,一行构成一个元组,再将这些元组装入一个元组返回

查询数据

cur.execute('select * from students;')  # 执行sql语句,select * from students;
res = cur.fetchone()  # 获取结果集的第一条数据
res1 = cur.fetchall()  # 获取结果及的所有数据
print(res)  # 将获取的查询结果打印
print(res1)

插入数据

res = cur.execute('insert into students VALUES (0,"白里守约",0,"广州",2,18);')
print(res)  # 查看受影响的行数
conn.commit()  # 提交事物
from pymysql import *  # 导入pymysql模块
# 创建连接对象 Connection对象
# host:数据库主机地址
# user:数据库账号
# password:数据库密码
# database : 需要连接的数据库的名称
# port: mysql的端口号
# charset: 通信采用编码格式

conn = connect(host='127.0.0.1', user='root', password='mysql',
               database='python', port=3306, charset='utf8')

# 获取cursor对象
cur = conn.cursor()  # cursor对象 用于执行sql语句
#cursor对象拥有的方法:
# close()关闭cursor对象
# execute(operation [, parameters ]) 执行语句,返回受影响的行数,可以执行所有语句
# fetchone()获取查询结果集的第一个行数据,返回一个元组
# fetchall()执行查询时,获取结果集的所有行,一行构成一个元组,再将这些元组装入一个元组返回
cur.execute('select * from students;')  # 执行sql语句,select * from students;
res = cur.fetchone()  # 获取结果集的第一条数据
res1 = cur.fetchall()  # 获取结果及的所有数据
print(res)  # 将获取的查询结果打印
print(res1)

# 插入数据

res = cur.execute('insert into students VALUES (0,"白里守约",0,"广州",2,18);')
print(res)  # 查看受影响的行数
conn.commit()  # 提交事物
数据库基础 all right reserved,powered by Gitbook文件修订时间: 2018-04-18 11:23:52