首页 > 数据库技术 > 详细

pymysql的使用

时间:2020-01-06 11:29:06      阅读:85      评论:0      收藏:0      [点我收藏+]

什么是 PyMySQL?

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。

PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。

PyMySQL的安装

pip3 install pymysql
#pymysql模块,同属于套接字模块。

PyMySQL的基本使用

使用PyMySQL模块固定不变的执行顺序

  1. 建立连接
  2. 拿到游标
  3. 执行SQL语句
  4. 关闭(游标、连接)

2.连接到数据库

先来查看一下数据库里有哪些数据

技术分享图片

使用pymysql 下的connect方法来连接数据库,先来看下需要哪些参数

进入源码可以看到需要的参数

(      host=None, user=None, password="",
        database=None, port=0, unix_socket=None,
        charset=‘‘, sql_mode=None,
        read_default_file=None, conv=None, use_unicode=None,
        client_flag=0, cursorclass=Cursor, init_command=None,
        connect_timeout=10, ssl=None, read_default_group=None,
        compress=None, named_pipe=None,
        autocommit=False, db=None, passwd=None, local_infile=False,
        max_allowed_packet=16*1024*1024, defer_connect=False,
        auth_plugin_map=None, read_timeout=None, write_timeout=None,
        bind_address=None, binary_prefix=False, program_name=None,
        server_public_key=None
)

别怕,最常用的参数也就是那几个,直接看代码

import pymysql

# 创建连接,test1为数据库
conn = pymysql.connect(
    host = 127.0.0.1,
    user = root,
    password="123456",
    database=test1,
    port=3306,
    charset=utf8,
)
# 创建游标
cursor = conn.cursor()

# 执行sql语句
row=cursor.execute(select * from student)
print(row)

# 关闭连接,游标和连接都要关闭
cursor.close()
conn.close()

执行结果为:4

 

3.查询

pymysql里查询分为查询一条,查询多条和查询全部

查询一条

import pymysql

# 创建连接
conn = pymysql.connect(
    host=127.0.0.1,
    user=root,
    password="123456",
    database=test1,
    port=3306,
    charset=utf8,
)
# 创建游标
cursor = conn.cursor()

# 执行sql语句
row = cursor.execute("select * from student")

# 取一条数据
print(cursor.fetchone())

# 在取一条数据
print(cursor.fetchone())

执行结果:
(1, 李六, 23)
(2, 王五, 23)

查询多条

import pymysql

# 创建连接
conn = pymysql.connect(
    host=127.0.0.1,
    user=root,
    password="123456",
    database=test1,
    port=3306,
    charset=utf8,
)
# 创建游标
cursor = conn.cursor()

# 执行sql语句
row = cursor.execute("select * from student")

#参数是需要查询几条
print(cursor.fetchmany(2))
执行结果:

((1, 李六, 23), (2, 王五, 23))

查询所有

import pymysql

# 创建连接
conn = pymysql.connect(
    host=127.0.0.1,
    user=root,
    password="123456",
    database=test1,
    port=3306,
    charset=utf8,
)
# 创建游标
cursor = conn.cursor()

# 执行sql语句
row = cursor.execute("select * from student")

# 查询所有
print(cursor.fetchall())

执行结果:((1, 李六, 23), (2, 王五, 23), (4, 李四, 54), (11, 张三, 33))

通过上面的查询,发现返回的都是元组,pymysql提供了返回字典的格式,只需要在创建游标的时候加上cursor=pymysql.cursors.DictCursor就可以里

然后再来执行上面的代码

import pymysql

# 创建连接
conn = pymysql.connect(
    host=127.0.0.1,
    user=root,
    password="123456",
    database=test1,
    port=3306,
    charset=utf8,
)
# 创建游标
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

# 执行sql语句
row = cursor.execute("select * from student")

# 查询所有
print(cursor.fetchall())

执行结果:[{id: 1, name: 李六, age: 23}, {id: 2, name: 王五, age: 23}, {id: 4, name: 李四, age: 54}, {id: 11, name: 张三, age: 33}]

 

3.插入数据

import pymysql

# 创建连接
conn = pymysql.connect(
    host=127.0.0.1,
    user=root,
    password="123456",
    database=test1,
    port=3306,
    charset=utf8,
)
# 创建游标
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

# 插入一条数据
cursor.execute("insert into student(name,age) values(‘haohao‘,26)")

data = [
    (M1, 26),
    (M2, 22),
    (M3, 30)
]

# 一次性插入多条数据
cursor.executemany("insert into student(name,age)  values(%s,%s)", data)

# 插入 删除 更新 一定要commit()
conn.commit()

cursor.close()
conn.close()

 

 

 

 

--

pymysql的使用

原文:https://www.cnblogs.com/Ph-one/p/12155050.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!