zoukankan      html  css  js  c++  java
  • 数据库-python操作mysql(pymsql)

    pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同

    一:安装pymysql

    pip3 install pymysql

    二:使用pytmysql

    # -*- coding:utf-8 -*-
    __author__ = 'shisanjun'
    
    import pymysql
    
    #创建连接
    conn=pymysql.connect(host="192.168.0.121",port=3306,user="admin",password="admin",db="test2")
    
    #创建游标
    cursor=conn.cursor()
    
    #执行sql,并还回影响的行数
    effct_row=cursor.execute("update student set name='shi' where name='shisanjun'")
    print(effct_row)
    
    #执行sql,并返回影响行数,多条记录执行
    effct_row=cursor.executemany("insert into student (name,age,sex) value (%s, %s, %s)",[("tianshi",23,"F"),("xiatian",24,"F")])
    
    conn.commit()
    
    #获取最新自增ID
    print(cursor.lastrowid)
    
    cursor.execute("select * from student")
    
    # 获取第一行数据
    print(cursor.fetchone())
    
    #获取前n行数据
    print(cursor.fetchmany(3))
    
    # 获取所有数据
    print(cursor.fetchall())
    
    conn.commit()
    cursor.close()
    conn.close()
    4
    9
    (1, 'shi', 23, 'M')
    ((2, 'shisanjun2', 23, 'M'), (4, 'shisanjun3', 24, 'F'), (5, 'shisanjun3', 25, 'F'))
    ((6, 'shi', 25, 'F'), (7, 'shi', 26, 'F'), (8, 'shi', 26, 'F'), (9, 'tianshi', 23, 'F'), (10, 'xiatian', 24, 'F'))

    注:在fetch数据时按照顺序进行,可以使用cursor.scroll(num,mode)来移动游标位置,如:

    • cursor.scroll(1,mode='relative')  # 相对当前位置移动
    • cursor.scroll(2,mode='absolute') # 相对绝对位置移动

    三:fetch数据类型

    关于默认获取的数据是元祖类型,如果想要或者字典类型的数据

    # -*- coding:utf-8 -*-
    __author__ = 'shisanjun'
    import pymysql
    
    #创建连接
    conn=pymysql.connect(host="192.168.0.121",port=3306,user="admin",password="admin",db="test2")
    
    #创建游标
    cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)
    
    r=cursor.execute("select * from student")
    result=cursor.fetchall()
    print(r)
    print(result)
    
    conn.commit()
    cursor.close()
    conn.close()
    
    
    9
    [{'stu_id': 1, 'name': 'shi', 'age': 23, 'sex': 'M'}, {'stu_id': 2, 'name': 'shisanjun2', 'age': 23, 'sex': 'M'}, {'stu_id': 4, 'name': 'shisanjun3', 'age': 24, 'sex': 'F'}, {'stu_id': 5, 'name': 'shisanjun3', 'age': 25, 'sex': 'F'}, {'stu_id': 6, 'name': 'shi', 'age': 25, 'sex': 'F'}, {'stu_id': 7, 'name': 'shi', 'age': 26, 'sex': 'F'}, {'stu_id': 8, 'name': 'shi', 'age': 26, 'sex': 'F'}, {'stu_id': 9, 'name': 'tianshi', 'age': 23, 'sex': 'F'}, {'stu_id': 10, 'name': 'xiatian', 'age': 24, 'sex': 'F'}]
  • 相关阅读:
    向量、矩阵常用范数
    关于HP M451网络连接的资料
    pyqt程序最小化到系统托盘(未测试)
    博客园美化大集合2020最新!不用担心失效问题!
    添加QQ聊天
    关于加密
    python抓取谷歌学术关键词下文章题目
    如何确定网站可否可爬取
    灵狐浏览器
    利用beautifulsoup进行对标签的二次查找-以打印网易云歌单内容为例
  • 原文地址:https://www.cnblogs.com/lixiang1013/p/7294730.html
Copyright © 2011-2022 走看看