使用PyMySQL操作sql数据库

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() #关闭连接

猜你喜欢

转载自www.cnblogs.com/relustarry/p/12388832.html