python——SQL基本使用

  今天要来讲说数据库操做了,这意味着什么?之后不再用从文件里读写数据了,过程实在太复杂了~~~惊不惊喜?html

使用mysql数据库——增python

  插入一条数据mysql

   

  首先,仍是先解释一下如何使用数据库,按照上面的方法就能够链接数据库了。这里要解释两件事情。sql

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

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

  2.cur是什么?并发

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

  批量插入数据线程

  

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

  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的基本操做啦~~~

参考文献:

  http://www.cnblogs.com/wupeiqi/articles/5095821.html

相关文章
相关标签/搜索