zoukankan      html  css  js  c++  java
  • Python pymysql对数据库的基础操作

    示例数据库名demo,表名info
    select * from info; 查看该表数据

    +----+-------+--------+-----+---------------------+---------------------+
    | id | name  | gender | age | createTime          | updateTime          |
    +----+-------+--------+-----+---------------------+---------------------+
    |  1 | Miles | Male   |  21 | 2019-12-24 10:10:41 | 2019-12-24 10:11:02 |
    |  2 | Mary  | Female |  15 | 2019-12-24 19:26:24 | 2019-12-24 19:26:24 |
    |  3 | Marx  | Male   |  35 | 2019-12-24 19:39:19 | 2019-12-24 19:39:19 |
    |  4 | Fox   | Female |   8 | 2019-12-24 19:39:19 | 2019-12-24 19:39:19 |
    +----+-------+--------+-----+---------------------+---------------------+
    
    

    查询数据

    获取查询结果的三种方法:

    • fetchone() 获取查询结果中最早的一行数据,返回结果为一个元组,对应查询的字段,如果查询结果为空则返回None
    • fetchall() 获取所有的查询结果,返回结果为一个大元组,大元组中每个元素为小元组,小元组就是每一行的数据,对应查询的字段,如果查询结果为空则返回一个空元组
    • fetchmany() 和fetchall()类似,只不过要传入一个整数表示要获取多少行数据,从最早开始算,如果传入参数大于结果条数则获取所有结果,如果查询结果为空则返回空元组
    import pymysql
    
    # 连接数据库服务器,参数:IP地址,用户名,密码,要使用的数据库名称,编码格式
    conn = pymysql.connect('服务器ip地址', 'mysql用户名', 'mysql密码', '数据库名', charset='utf8')
    
    # 获得一个游标对象来操作数据库
    cur = conn.cursor()
    
    # 编写sql
    sql = 'select name, gender, age from info;'
    
    # 传入sql并执行
    cur.execute(sql)
    
    # 使用fetchone,fetchmany,fetchall三种方法之一获得查询的结果
    result = cur.fetchall()
    
    # 关闭游标和数据库连接
    cur.close()
    conn.close()
    
    # 打印结果
    print(result)
    

    输出结果:

    # fetchone()
    ('Miles', 'Male', 21)
    
    # fetchall()
    (('Miles', 'Male', 21), ('Mary', 'Female', 15), ('Marx', 'Male', 35), ('Fox', 'Female', 8))
    
    # fetchmany(2)
    (('Miles', 'Male', 21), ('Mary', 'Female', 15))
    

    增删改

    增删改操作不需要获得结果,但是要commit提交操作

    import pymysql
    
    # 连接数据库服务器,参数:IP地址,用户名,密码,要使用的数据库名称,编码格式
    conn = pymysql.connect('服务器ip地址', 'mysql用户名', 'mysql密码', '数据库名', charset='utf8')
    
    # 获得一个游标对象来操作数据库
    cur = conn.cursor()
    
    # 编写sql
    sql = 'insert into info(name, gender, age) values("Demo", "Male", 10);'     # 新增数据
    # sql = 'delete from info where name="Miles";'                              # 删除数据
    # sql = 'update info set name="Mark" where name="Marx";'                    # 修改数据
    
    # 传入sql并执行
    cur.execute(sql)
    
    # 提交修改
    conn.commit()
    
    # 关闭游标和数据库连接
    cur.close()
    conn.close()
    
  • 相关阅读:
    Gym 100818F Irrational Roots (数学)
    学习总结 for循环--冒泡排序
    学习总结 for循环语句的应用
    学习总结 条件语句的应用
    学习总结 运算符了解与应用
    学习记录 彻底搞清 C#中a++与++a的区别
    学习总结 数据类型的应用与转换
    学习总结 数据类型
    学习总结 二进制转换与应用
    学习总结 vs软件简单了解
  • 原文地址:https://www.cnblogs.com/milesma/p/12093345.html
Copyright © 2011-2022 走看看