PyMySQL是Python3.x版本中用于连接MySQL服务器的一个库,Python2中使用mysqldb。PyMySQL库安装命令:
pip install pymysql
一、pymysql的主要方法
pymysql.connect()参数说明:(连接数据库时需要设置的参数)
host(str): MySQL服务器地址
port(int): MySQL服务器的端口号
user(str): 数据库登录用户名
passwd(str): 数据库登录密码
db(str): 数据库名称
charset(str): 连接编码
connect()对象支持的方法:
cursor() 使用该连接创建并返回游标
commit() 提交当前事务
rollback() 回滚当前事务
close() 关闭连接
cursor对象支持的方法
execute(op) 执行一个数据库的查询命令
fetchone() 取得结果集的下一行
fetchmany(size) 获取结果集的下几行
fetchhall() 获取结果集中的所有行
rowcount() 返回数据条数或影响行数
close() 关闭游标对象
二、数据库基本操作案例# -*- coding:utf-8 -*-"""__project_ = 'p_pymysql'
__file_name__ = 'p_pymysql' __author__ = 'xbxia' __time__ = '2020/3/1 16:30' __product_name = PyCharm # code is far away from bugs with the god animal protecting I love animals. They taste delicious. ┏┓ ┏┓ ┏┛┻━━━┛┻┓ ┃ ┃ ┃ ┳┛ ┗┳ ┃ ┃ ┻ ┃ ┗━┓ ┏━┛ ┃ ┗━━━┓ ┃ 神兽保佑 ┣┓ ┃ 永无BUG! ┏┛ ┗┓┓┏━┳┓┏┛ ┃┫┫ ┃┫┫ ┗┻┛ ┗┻┛ """ import pymysql.cursors # 1、连接数据库 conn = pymysql.connect( host='172.16.22.132', port=63306, user='root', passwd='sa', db='student', charset='utf8' ) #创建一个可以执行SQL语句的光标对象 cursor = conn.cursor() #执行完毕返回的结果集默认以元组显示 #cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) #作为字典返回的游标 # 定义要执行的SQL语句 # 2、建库 # sql_database = """ # create database student; # """ # cursor.execute(sql_database)
# 3、建表 # sql_table_student = """ # create table student( # id int(12) not null PRIMARY key, # name varchar(12), # sex varchar(12), # class_id varchar(12), # school_id varchar(12), # address varchar(12), # create_date datetime, # update_date datetime # )DEFAULT CHARSET=utf8; # """ # cursor.execute(sql_table_student) # sql_table_grade = """ # create table grade( # id int(12) not null PRIMARY key, # grade varchar(12) # )DEFAULT CHARSET=utf8; # """ # cursor.execute(sql_table_grade) # 4、插入数据 # sql_insert_grade = """ # insert into grade(id,grade) values(1,'高一年级'); # """ # cursor.execute(sql_insert_grade) # 一次插入多条数据 # sql_insert_student = """ # insert into student(id,sex,create_date) values(1,'女',SYSDATE()),(2,'男',SYSDATE()); # """ # cursor.execute(sql_insert_student) # 5、修改数据 # sql_update_student = "update student set sex='男/女';" # cursor.execute(sql_update_student) # 修改满足条件的数据记录 # sql_update_student = "update student set sex='女' where id=2;" # cursor.execute(sql_update_student) # 6、删除表里满足条件的数据 # sql_delete_student = "delete from student where sex='男/女';" # cursor.execute(sql_delete_student) # 7、删表 # sql_drop_table = "drop table grade;" # cursor.execute(sql_drop_table) # 8、删库 sql_drop_database = "drop database student;" cursor.execute(sql_drop_database) conn.commit() #提交,不然无法保存插入或修改的数据 cursor.close() #关闭游标 conn.close() #关闭连接