python 操作数据库的常用SQL命令
这俩天在学习PYTHON操作数据库的知识。其实基本SQL命令是与以前学习的MYSQL命令一致,只是增加了一些PYTHON语句。
1,安装pymysql,并导入。
import pymysql
2,因为用的就python2,所以加上一步。
import sys
reload(sys)
sys.setdefaultencoding('gb18030') 3,因为我已经在本地下载了mysql数据库,并新建了表。
所以这一步,我就直接连接本地的数据库就可以了。
conn=pymysql.connect(host='127.0.0.1',user='root',password='123456',db='caipiao') ###这里我是连接的本地数据库,没有写端口号3306,数据库名称:caipiao,用户是root,
cur=conn.cursor()
###这里就是我们要进行的操作步骤,先空着。####
conn.commit()
cur.close() ##################################################下面来讲一下常用的SQL命令#####################################
1,插入数据:(表名也是:caipiao)
conn=pymysql.connect(host='127.0.0.1',user='root',password='123456',db='caipiao')
cur=conn.cursor()
re=cur.execute("insert into caipiao values(1,'baozi',1,1),(2,'mantou',2,2),(3,'youtiao',3,3)")
conn.commit()
cur.close()
conn.close()
print (re)
现在我们可以访问我们本地的数据库,可以发现我们已经成功插入了三条数据。(id=1,name='baozi',touzhu=1,yingli=1)(*******)(******) 2,查询数据:
conn=pymysql.connect(host='127.0.0.1',user='root',password='123456',db='caipiao')
cur=conn.cursor()
cur.execute("select* from caipiao")
ret1=cur.fetchall() ####把查询到的数据都显示出来。
print (ret1) ret2=cur.fetchmany(3) ###获取表中前3条数据并打印出来
print (ret2) ret3=cur.fetchone() ###获取表中第一行数据并打印出来
print (ret3) conn.commit()
cur.close()
conn.close() 3,删除数据
conn=pymysql.connect(host='127.0.0.1',user='root',password='123456',db='caipiao')
cur=conn.cursor()
cur.execute("delete from caipiao where id=1")
conn.commit()
cur.close()
conn.close() 4,更改数据
conn=pymysql.connect(host='127.0.0.1',user='root',password='123456',db='caipiao')
cur=conn.cursor()
cur.execute("update caipiao set name='doujiang' where id=2")
conn.commit()
cur.close()
conn.close() 5,fetch数据类型 (关于默认获取的数据是元祖类型,如果想要字典类型的数据)
conn=pymysql.connect(host='127.0.0.1',user='root',password='123456',db='caipiao')
cur=conn.cursor(cursor=pymysql.cursors.DictCursor)
cur.execute("select* from caipiao")
re=cur.fetchall()
print (re)
打印出来就是:###
[{u'touzhu': '10', u'caizhong': 'chongqingshishicai', u'yingli': '10', u'id': 3, u'name': 'baozi'}, {u'touzhu': '10', u'caizhong': 'chongqingxingyun', u'yingli': '20', u'id': 4, u'name': 'youtiao'}, {u'touzhu': '10', u'caizhong': 'xinjiangshishicai', u'yingli': '30', u'id': 5, u'name': 'mayuan'}, {u'touzhu': '10', u'caizhong': 'dafashishicai', u'yingli': '40', u'id': 6, u'name': 'mianbao'}, {u'touzhu': '10', u'caizhong': 'jilinkuaisan', u'yingli': '50', u'id': 7, u'name': 'changfen'}, {u'touzhu': '10', u'caizhong': 'anhuikuaisan', u'yingli': '60', u'id': 8, u'name': 'bingan'}, {u'touzhu': '10', u'caizhong': 'dafashishicai', u'yingli': '50', u'id': 9, u'name': 'mianbao'}, {u'touzhu': '10', u'caizhong': 'beijingsaiche', u'yingli': '20', u'id': 2, u'name': 'baozi'}, {u'touzhu': '11', u'caizhong': 'chongqingshishicai', u'yingli': '11', u'id': 7, u'name': 'yiyi'}, {u'touzhu': '12', u'caizhong': 'dafakuaisan', u'yingli': '12', u'id': 8, u'name': 'xiha'}, {u'touzhu': '11', u'caizhong': 'dafa1', u'yingli': '12', u'id': 8, u'name': 'man1'}, {u'touzhu': '12', u'caizhong': 'dafa2', u'yingli': '13', u'id': 9, u'name': 'man2'}, {u'touzhu': '11', u'caizhong': 'dafa1', u'yingli': '12', u'id': 8, u'name': 'man1'}, {u'touzhu': '12', u'caizhong': 'dafa2', u'yingli': '13', u'id': 9, u'name': 'man2'}, {u'touzhu': '11', u'caizhong': 'dafa1', u'yingli': '12', u'id': 8, u'name': 'man1'}, {u'touzhu': '12', u'caizhong': 'dafa2', u'yingli': '13', u'id': 9, u'name': 'man2'}, {u'touzhu': '11', u'caizhong': 'dafa1', u'yingli': '12', u'id': 8, u'name': 'man1'}, {u'touzhu': '12', u'caizhong': 'dafa2', u'yingli': '13', u'id': 9, u'name': 'man2'}, {u'touzhu': '11', u'caizhong': 'dafa1', u'yingli': '12', u'id': 8, u'name': 'man1'}, {u'touzhu': '12', u'caizhong': 'dafa2', u'yingli': '13', u'id': 9, u'name': 'man2'}]
######
conn.commit()
cur.close()
conn.close()
python 操作数据库的常用SQL命令的更多相关文章
- Python操作数据库之 MySQL
Python操作数据库之MySQL 一.安装Python-MySQLdb模块 Python-MySQLdb是一个操作数据库的模块,Python 通过它对 mysql 数据实现各种操作. 如果要源码安装 ...
- Python学习笔记 - day11 - Python操作数据库
MySQL的事务 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关,MySQL的两种引擎如下: 1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID ...
- python操作数据库
一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的l ...
- 零基础学Python--------第11章 使用Python操作数据库
第11章 使用Python操作数据库 11.1 数据库编程接口 在项目开发中,数据库应用必不可少.虽然数据库的种类有很多,如SQLite.MySQL.Oracle等,但是它们的功能基本都是一样的,为了 ...
- Python接口测试实战3(上)- Python操作数据库
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- 孤荷凌寒自学python第四十四天Python操作 数据库之准备工作
孤荷凌寒自学python第四十四天Python操作数据库之准备工作 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天非常激动地开始接触Python的数据库操作的学习了,数据库是系统化设计 ...
- Python操作数据库及hashlib模块
一.hashlib模块 hashlib模块,主要用于加密相关的操作,在python3的版本里,代替了md5和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA51 ...
- python操作数据库PostgreSQL
1.简述 python可以操作多种数据库,诸如SQLite.MySql.PostgreSQL等,这里不对所有的数据库操作方法进行赘述,只针对目前项目中用到的PostgreSQL做一下简单介绍,主要包括 ...
- shell编程系列23--shell操作数据库实战之mysql命令参数详解
shell编程系列23--shell操作数据库实战之mysql命令参数详解 mysql命令参数详解 -u 用户名 -p 用户密码 -h 服务器ip地址 -D 连接的数据库 -N 不输出列信息 -B 使 ...
随机推荐
- Sqlachemy的警告SAWarning: The IN-predicate on "sns_object.BIZ_ID" was invoked with an empty sequence. This results in a contradiction, which nonetheless can be expensive to evaluate.
我在使用db_session.query,查询的时候idlist是个空值时候,执行下面的语句就会出现警告.其中后面delete(synchronize_session=False)是删除前面的一堆查询 ...
- 记.net3.5离线安装问题
dism.exe /online /enable-feature /featurename:netfx3 /Source: X:\sourse\sxs pause 相关文件要相同版本的ISO中提取,否 ...
- php读取excel(支持03,07)
需要用到PHPExcel这个类 附上代码 //phpExcel读取excel内容 header("Content-Type:textml;charset=utf-8"); //引用 ...
- VMware虚拟机重新挂载共享目录
经常遇到设置的共享目录在重启虚拟机后找不到的情况,于是写了个脚本:mount-shared-folders. 前提是你的虚拟机中已经安装了VMware的相关工具(一般装完虚拟机都会自动安装上的) #! ...
- Cocos2d-x之数据的处理
| 版权声明:本文为博主原创文章,未经博主允许不得转载. FileUtils 在游戏中,用户要保存自己的偏好设置和玩家的信息,都需要涉及到游戏数据的处理.首先要想处理数据,则要找到文件,创建文件, ...
- struct和class的相同点与不同点
struct是c语言中常用来定义结构体时使用的 class是c++中用来定义类时所使用的 相同 struct(结构体)和class(类)内均可有不同个数.不同类型的数据 定义时 都必须在前面加上str ...
- SpringBoot连接Oracle
pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...
- 3年Java,鏖战腾讯
作者:codegoose https://segmentfault.com/a/1190000017864721 经过半年的沉淀,加上对MySQL,redis和分布式这块的补齐,终于重拾面试信心,再次 ...
- inno setup静默安装
[Code] //关键代码静默安装 procedure InitializeWizard(); begin //不显示边框,这样就能达到不会闪两下了 WizardForm.BorderStyl ...
- 华为要卖5G技术,虽然我和华为没有一点关系,但是我也很呵呵
http://www.sohu.com/a/340555529_166680 老任头,竟然说出了这样的话,要卖5G技术给西方,然后塑造对手. 按照老任头的脾气,老任头应该不至于胡说八道这样的话,但是呢 ...