python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
实例1、取得MYSQL版本
# -*- coding: UTF-8 -*- #安装MYSQL DB for python import MySQLdb as mdb con = None try:#连接mysql的方法:connect(host
=
'localhost'
,user
=
'root'
,passwd
=
'root'
,db
=
'test'
,port
=
3306
)con = mdb.connect('localhost', 'root','root', 'test');#所有的查询,都在连接con的一个模块cursor上面运行的cur = con.cursor()#执行一个查询cur.execute("SELECT VERSION()")#取得上个查询的结果,是单个结果data = cur.fetchone()print "Database version : %s " % data finally:if con:#无论如何,连接记得关闭con.close()
执行结果:
Database version : 5.5.25
实例2、创建一个表并且插入数据
# -*- coding: UTF-8 -*- import MySQLdb as mdb import sys #将con设定为全局连接 con = mdb.connect('localhost', 'root', 'root', 'test'); with con:#获取连接的cursor,只有获取了cursor,我们才能进行各种操作cur = con.cursor()#创建一个数据表 writers(id,name)cur.execute("CREATE TABLE IF NOT EXISTS \Writers(Id INT PRIMARY KEY AUTO_INCREMENT, Name VARCHAR(25))")#以下插入了5条数据cur.execute("INSERT INTO Writers(Name) VALUES('Jack London')")cur.execute("INSERT INTO Writers(Name) VALUES('Honore de Balzac')")cur.execute("INSERT INTO Writers(Name) VALUES('Lion Feuchtwanger')")cur.execute("INSERT INTO Writers(Name) VALUES('Emile Zola')")cur.execute("INSERT INTO Writers(Name) VALUES('Truman Capote')")
实例3、拼接插入SQL数据
![](/assets/blank.gif)
![](/assets/blank.gif)
1 import MySQLdb 2 conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='123456',db='test2',) 3 cur = conn.cursor() 4 sql = "insert into admin (name,addres) values (%s,%s)" 5 params = ('zhang','san') 6 #sql = "insert into table(key1,key2,key3) values (%s,%s,%s)"%(value1,value2,value3) 7 temp=cur.execute(sql,params) 8 conn.commit() 9 recount = cur.execute('select *from admin') 10 rows = cur.fetchall() 11 12 cur.close() 13 conn.close() 14 for time in rows: 15 #print temp #查看影响条目 16 #print rows #查看数据库表内容 17 print time
View Code
结果:
(1L, 'hejin', 'USA')
(2L, 'jctang', 'usa')
(5L, 'zhang', 'san')
实例4、python使用slect获取mysql的数据并遍历
# -*- coding: UTF-8 -*- import MySQLdb as mdb import sys #连接mysql,获取连接的对象 con = mdb.connect('localhost', 'root', 'root', 'test'); with con:#仍然是,第一步要获取连接的cursor对象,用于执行查询cur = con.cursor()#类似于其他语言的query函数,execute是python中的执行查询函数cur.execute("SELECT * FROM Writers")#使用fetchall函数,将结果集(多维元组)存入rows里面rows = cur.fetchall()#依次遍历结果集,发现每个元素,就是表中的一条记录,用一个元组来显示for row in rows:print row
(1L, ‘Jack London')
(2L, ‘Honore de Balzac')
(3L, ‘Lion Feuchtwanger')
(4L, ‘Emile Zola')
(5L, ‘Truman Capote')
实例5、使用字典cursor取得结果集(可以使用表字段名字访问值)
![](/assets/blank.gif)
![](/assets/blank.gif)
import MySQLdb as mdb import sys #获得mysql查询的链接对象 con = mdb.connect('localhost', 'root', '123456', 'test2') with con: #获取连接上的字典cursor,注意获取的方法, #每一个cursor其实都是cursor的子类 cur = con.cursor(mdb.cursors.DictCursor) #执行语句不变 cur.execute("select *from admin") #获取数据方法不变 rows = cur.fetchall() #遍历数据也不变(比上一个更直接一点) for row in rows: #这里,可以使用键值对的方法,由键名字来获取数据print '%s %s %s' %(row['id'],row['name'],row['addres'])
View Code
结果:
10 zhang san
11 zhang san
12 zhang san
13 zhang san
14 zhang san
15 zhang san
实例6、获取单个表的字段名和信息的方法
# -*- coding: UTF-8 -*- import MySQLdb as mdb import sys #获取数据库的链接对象 con = mdb.connect('localhost', 'root', 'root', 'test') with con:#获取普通的查询cursorcur = con.cursor()cur.execute("SELECT * FROM Writers")rows = cur.fetchall()#获取连接对象的描述信息desc = cur.descriptionprint 'cur.description:',desc#打印表头,就是字段名字print "%s %3s" % (desc[0][0], desc[1][0])for row in rows:#打印结果print "%2s %3s" % row
Id Name
1 Jack London
2 Honore de Balzac
3 Lion Feuchtwanger
4 Emile Zola
5 Truman Capote
实例7、使用Prepared statements执行查询(更安全方便)
# -*- coding: UTF-8 -*- import MySQLdb as mdb import sys con = mdb.connect('localhost', 'root', 'root', 'test') with con:cur = con.cursor()#我们看到,这里可以通过写一个可以组装的sql语句来进行cur.execute("UPDATE Writers SET Name = %s WHERE Id = %s",("Guy de Maupasant", "4"))#使用cur.rowcount获取影响了多少行print "Number of rows updated: %d" % cur.rowcount
结果:
![](/assets/blank.gif)
![](/assets/blank.gif)
import MySQLdb conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='123456',db='test2',) cur = conn.cursor() sql = "delete from admin where id=%s" params = ('2') cur.execute(sql,params) conn.commit() cur.close() conn.close()
View Code
转载于:https://www.cnblogs.com/name/p/4914515.html
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)相关推荐
- python画简单的图形的代码-Python实现画图软件功能方法详解
概述 虽然Python的强项在人工智能,数据处理方面,但是对于日常简单的应用,Python也提供了非常友好的支持(如:Tkinter),本文主要一个简单的画图小软件,简述Python在GUI(图形用户 ...
- python画图代码大全-Python实现画图软件功能方法详解
概述 虽然Python的强项在人工智能,数据处理方面,但是对于日常简单的应用,Python也提供了非常友好的支持(如:Tkinter),本文主要一个简单的画图小软件,简述Python在GUI(图形用户 ...
- python数据库文件读写(超详解)
目录 一:文件读写流程 二:函数open()中参数mode最常见的6种模式 三:读取文件三大方法的区别 四:超大文件高效处理 思维导图: 1.文件读写流程: (1):第 ...
- stream操作常用API 示例详解
简介 从JDK8开始,增加了一新特性Stream流式操作,Stream中提供了非常多的API供大家使用,灵活的使用这些API,可以非常的方便且优美的实现我们的代码逻辑. 流式操作主要用来处理数据(比如 ...
- vue 读取ajax数据,详解vue 中使用 AJAX获取数据的方法
在VUE开发时,数据可以使用jquery和vue-resource来获取数据.在获取数据时,一定需要给一个数据初始值. 看下例: new Vue({ el:'#app', data:{data:&qu ...
- python实现文本编辑器_Python实现文本编辑器功能实例详解
这篇文章主要介绍了Python实现的文本编辑器功能,结合实例形式详细分析了基于wxpython实现文本编辑器所需的功能及相关实现技巧,需要的朋友可以参考下 本文实例讲述了Python实现的文本编辑器功 ...
- python画图软件是哪个_Python实现画图软件功能方法详解
Python实现画图软件功能方法详解,按钮,事件,绑定,快捷键,直线 Python实现画图软件功能方法详解 易采站长站,站长之家为您整理了Python实现画图软件功能方法详解的相关内容. 概述 虽然P ...
- python/数据库操作补充—模板—Session
python/数据库操作补充-模板-Session 一.创建一个app目录 在models.py只能类进行进行创建表 1 class Foo: 2 xx= 字段(数据库数据类型) 3 字段类型 4 字 ...
- android收藏功能demo,Android使用Realm数据库实现App中的收藏功能(代码详解)
前 言 App数据持久化功能是每个App必不可少的功能,而Android最常用的数据持久化方式主要有以下的五种方式: 使用SharedPreferences存储数据: 文件存储数据: SQLite数据 ...
最新文章
- Python CRC32 文件校验
- 8种方法用Python实现线性回归,为你解析最高效选择
- 网站核心关键词一定要控制在五个之内更方便集中优化
- pythons_pythons是什么
- 话里话外:装备制造业企业迫切需要实现信息化综合集成
- jvm的client与server工作模式
- JobTracker和TaskTracker
- 今日计划:修改Plog,为期2天
- mysql中外键总结_mysql外键的一些总结
- python字符串函数_python字符串函数
- xml转对象 jdom_JDOM从对象编写XML文件示例
- java二维数组冷知识
- Oracle10g卸载
- 前端学习(六)——HTML5中通过CSS设置超链接及鼠标形状
- 流量清洗是什么意思?
- matlab对数组进行赋值的三种方法(常用于生成坐标轴)
- 网页外挂技术浅谈(入门篇)
- 写给三维建模入门小白的建议
- storm32云台说明书_俄版SimpleBGC、Storm32开源三轴云台软硬件以及调参软件说明书-V1.02...
- 数学漫游 - 向量投影和最小二乘法
热门文章
- 阿里架构师教你处理高并发:2种方法,解决Redis和Mysql一致性
- FineReport层式报表解决大数据集展示问题攻略
- html几个数据包,报文和数据包的区别
- 重新打包mysql数据库文件_服务器每天早上备份一次 MySQL 数据库并自动打包,同时删除 5 天前的备份文件...
- vdcode C语言不能弹出运行窗口_C语言编程常见问题分析,以及错误解决办法!
- grub4dos linux live,grub4dos硬盘引导fedora12 livecd失败
- PL-SLAM Real-time monocular visual SLAM with points and lines
- 人脸关键点:DAN-Deep Alignment Network: A convolutional neural network for robust face alignment
- (C语言)字符串大小写无关查找替换
- MobileNetV3论文译读笔记