• 第二章实战补充:Python操作Mysql


    ( 一) 导入pymysql

    基础铺垫:pymysql与MySQLdb

    • pymysql–支持py2、py3;
    • MySQLdb–支持python3;
    • django内部默认为MySQLdb,用Python3需修改

    代码:

    import pymysql

    ( 二) 创建连接

    基础铺垫:

    代码:

    conn = pymysql.connect(host='127.*.*.*', port=3306, user='root', passwd='****', db='t1')
    • 如果报错,可以在db=’t1’后加,charset=’utf8’

    ( 三) 创建游标

    基础铺垫:游标是什么意思?

    • 类比说明:把数据库比作成一个仓库,数据操作的过程就相当于人去仓库拿东西,到仓库门口第一步是把仓库门打开,相当于创建了数据库连接,第二步就是到仓库里去拿东西(数据),游标就相当于伸手去拿东西,按照顺序从柜子上一层一层的拿东西。所以要去数据库里拿东西,创建连接与创建游标都要创建好。

    代码(创建手):

    cursor=conn.cursor()

    代码(用手去拿东西):

    cursor.execute('此处需替换为相应的SQL语句#@数据分析-jacky')
    • excute - 执行

    • SQL语句的基本操作:增、删、改、查;除了“查”以外,均需对创建游标这个过程给予确认,因为python认为它是重要操作。

    代码(确认执行的SQL语句-提交):

    conn.commit()
    • 数据的增删改都是重要操作,需要确认的代码,查就不用确认commit代码了

    ( 四) 关闭游标、关闭连接

    cursor.close()
    conn.close()

    ( 五) 具体实操-Python 查询 mysql 数据

    import pymysql
    
    conn = pymysql.connect(host='127.*.*.*', port=3306, user='root', passwd='****', db='t1')
    
    cursor=conn.cursor()
    
    r=cursor.execute('select * from jacky的表')
    
    #print(r)-- 显示的是受影响的行数,那么如何显示出数据呢?
    
    result=cursor.fetchall()
    
    print(result) #显示的是个元组:(1,‘男’,‘李明’),(2,‘女’,‘Lucy’)
    
    • fetchall() 取全部
    • fetchone() 取第一行
    • fetchmany(3) 取前三行

      • fetch()相当于文件中的指针(绝对定位、相对定位)
      • fetchmany()一般来说用不到
  • 相关阅读:
    我的访问量咋才3万了
    Khronos发布WebGL标准规范 1.0
    X3Dom V1.2发布
    解决Linux(Fedora Ubuntu)笔记本的待机休眠
    多用户虚拟Web3D环境Deep MatrixIP9 1.04发布
    网络科技公司Web开发团队管理的小结
    XamlReader 动态加载XAML
    Excel Data Reader开源的.NET excel读取库
    .net Sql server 事务的两种用法
    通过使用客户端证书调用 Web 服务进行身份验证{转}
  • 原文地址:https://www.cnblogs.com/shujufenxi/p/7786598.html
Copyright © 2020-2023  润新知