python——SQL基本使用
终于学到数据库操作了,这意味着什么?以后再也不用从文件里读写数据了,过程实在太复杂了~~~为了纪念这个激动人心的时刻,一定要写一篇博客!
使用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的基本操作啦~~~
参考文献:
http://www.cnblogs.com/wupeiqi/articles/5095821.html
python——SQL基本使用的更多相关文章
- [Spark][Hive][Python][SQL]Spark 读取Hive表的小例子
[Spark][Hive][Python][SQL]Spark 读取Hive表的小例子$ cat customers.txt 1 Ali us 2 Bsb ca 3 Carls mx $ hive h ...
- Python SQL相关操作
环境 Anaconda3 Python 3.6, Window 64bit 目的 从MySQL数据库读取数据,进行数据查询.关联 代码 # -*- coding: utf-8 -*- "&q ...
- python sql语句封装连接mysql
进行了代码优化,欢迎评审 #!/usr/bin/python # -*- coding:utf-8 -*- import logging logging.basicConfig(level=loggi ...
- 2019-03-28 Python SQL 的注释
SQL Server 多行注释 : ctrl + k + c SQL Server 单行注释: -- Python 单行注释:# Python多行注释:''' '''
- Python SQL execute加参数的原理
在Python中,当用pymysql库,或者MySQLdb库进行数据库查询时,为了防止sql注入,可以在execute的时候,把参数单独带进去,例如: def execute_v1(): config ...
- Python sql数据的增删改查简单操作
1.insert import mysql.connector import os import codecs #设置数据库用户名和密码 user='root';#用户名 pwd='root';#密码 ...
- Python——SQL——将查询的数据列表化
sql = 'select paihao from yang1.cailiaopai' data = datebase.shujuku.sj_select(sql) #将获得的数据进行列表化 data ...
- Python sql注入 过滤字符串的非法字符
#coding:utf8 #在开发过程中,要对前端传过来的数据进行验证,防止sql注入攻击,其中的一个方案就是过滤用户传过来的非法的字符 def sql_filter(sql, max_length= ...
- python SQL注入测试脚本(更新中)
import requests import json import warnings warnings.filterwarnings("ignore") url = 'https ...
随机推荐
- .NET 动态脚本语言Script.NET 入门指南 Quick Start
Script.NET是一种动态的脚本语言,它使得程序可扩展,可定制,和维护性好.和Office系列的VB Script相似,可以在应用中嵌入大量的代码块,以便在运行时才执行这些代码. Script.N ...
- 不可错过的炒鸡棒的js迷你库
小而美被实践是最好用的,这里收藏了一些很好用的js库,他们都功能单一且非常小. COOKIE.JS https://github.com/js-coder/cookie.js 如果你操作过cooki ...
- Linux_常用命令1
来自:http://www.weixuehao.com/archives/25 Linux简介及Ubuntu安装 Linux,免费开源,多用户多任务系统.基于Linux有多个版本的衍生.RedHat. ...
- Spring+SpringMVC+MyBatis+LogBack+C3P0+Maven+Git小结(转)
摘要 出于兴趣,想要搭建一个自己的小站点,目前正在积极的准备环境,利用Spring+SpringMVC+MyBatis+LogBack+C3P0+Maven+Git,这里总结下最近遇到的一些问题及解决 ...
- python :开关,开灯关灯
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- lnmp搭建
一,安装php1,列出php php-fpm是否存在yum list php php-fpm2,安装yum -y install php php-fpm3,启动php-fpm:/etc/init.d/ ...
- 关于eclipse删除servers之后,不能新建其所对应版本的Servers
无法从以下方式,添加Tomcat服务器. 其中ServerName是被置为灰色的,无法编辑. 如何解决 1. 关闭Eclipse 2. 打开WorkSpace所在的位置. {workspa ...
- Reportng报告替代testng
1,工程导入jar包
- 调用discuz编辑器发布帖子显示html代码的解决办法
<!--{echo htmlspecialchars_decode(discuzcode($post[message], , , , , , , , , , ));}--> 在discuz ...
- 关于editor网页编辑器ueditor.config.js 配置图片上传
最近公司项目在做一个门户网站,其中新闻和简介等部分使用到了ueditor编辑器,但是上级明确指示需要图片上传这个功能,这时却发现图片上传功能不能正常使用,上传时一直报错,网上收了好几个处理办法,都说的 ...