开发者社区> 问答> 正文

python怎么打开sql文件格式

python怎么打开sql文件格式

展开
收起
云计算小粉 2018-05-10 20:11:06 3064 0
2 条回答
写回答
取消 提交回答
  • 我啦啦啦啦

    以打开mysql数据库为例来说明:

    !/usr/bin/python

    import MySQLdb

    打开数据库连接

    db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

    打开游标

    cursor = db.cursor()

    执行数据库查询

    cursor.execute("SELECT VERSION()")

    获取结果集的第一行

    data = cursor.fetchone()
    print "Database version : %s " % data

    关闭连接

    db.close()

    2019-07-17 22:25:40
    赞同 展开评论 打赏
  • 使用mysql数据库——增

      插入一条数据

      

      首先,还是先解释一下如何使用数据库,按照上面的方法就可以连接数据库了。这里要解释两件事情。

      1.执行sql语句返回的reCount是什么?

      这个recount不是我们执行sql的时候查出的内容,而是,明白了吧,就是这样,喵~~~

      2.cur是什么?

      这里的cur指的是游标。游标是映射在结果集中一行数据上的位置实体,有了游标,用户就可以访问结果集中的任意一行数据了,将游标放置到某行后,即可对该行数据进行操作。然而这些都是mysql内部的事情了,我们只需要知道要写上这么两句话,在执行sql语句前实例化一个游标对象,并在执行完sql语句提交后,关掉这个游标就好了。

      批量插入数据

      

      对就是这么简单,参数换成列表,方法换成executemany,搞定!需要注意的是那个占位符类似物:%s,要记得list里有几个元素就写几个。

      cur.lastrowid和conn.insert_id():

        cursor.lastrowid:最后一条记录的主键ID

        conn.insert_id():最新插入记录的主键ID

        网上说:结果一般情况下是一样的,最后一条记录肯定就是刚刚插入的记录。但如果是并发插入就不一样了。自己起了多线程,也并没有发现什么。。。如果有小伙伴知道,欢迎指教~~~上面两个方法需要注意的是一定要在conn.commit()之前执行。否则只会返回0。这两个方法也只能返回本次conn连接中插入数据的信息,放在select之后是不好用的哦!

    使用mysql数据库——删、改

      改

      删除操作和修改操作与插入操作唯一的不同就是——sql不同。。。还要怎么简单!!!

    使用mysql数据库——查

      在python的MySQLdb模块中,有三个查找方法,fetchone,fetchmany和fetchall。常用的只有fetchall。需要注意的是,fetch的结果默认返回tuple。((item1,item2,...),(item1,item2,...)),第一层是行,第二层是列(也就是一行中的每一项)。当然可以修改返回值的格式。下面介绍~~~

      fetchone

      

      jiang~就是上面这样,这个时候好像就知道游标是怎么一回事儿了吧?

      fetchmany

      

      为什么说fetchone,fetchonemany并没有什么用呢?我们看上面的方法,其实都是执行了一样的sql,也就是说,我们其实是将所有的数据读到了内存中,再从中选取我们需要的,但是这一步我们在写sql的时候就可以做到了,读到内存里占用了大量的内存空间,绝对得不偿失~~~

      fetchall

      

      在最后补上修改返回结果格式为dict的方法。这就是mysql的基本操作啦~~~

    2019-07-17 22:25:40
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载