python数据库操作常用功能使用详解(创建表/插入数据/获取数据)_python

实例1、取得MYSQL版本

复制代码 代码如下:

# -*- coding: UTF-8 -*-
#安装MYSQL DB for python
import MySQLdb as mdb
con = None
try:
    #连接mysql的方法:connect('ip','user','password','dbname')
    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、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')

实例4、使用字典cursor取得结果集(可以使用表字段名字访问值)

复制代码 代码如下:

# -*- coding: UTF-8 -*-
# 来源:疯狂的蚂蚁的博客www.server110.com总结整理
import MySQLdb as mdb
import sys
#获得mysql查询的链接对象
con = mdb.connect('localhost', 'root', 'root', 'test')
with con:
    #获取连接上的字典cursor,注意获取的方法,
    #每一个cursor其实都是cursor的子类
    cur = con.cursor(mdb.cursors.DictCursor)
    #执行语句不变
    cur.execute("SELECT * FROM Writers")
    #获取数据方法不变
    rows = cur.fetchall()
    #遍历数据也不变(比上一个更直接一点)
    for row in rows:
        #这里,可以使用键值对的方法,由键名字来获取数据
        print "%s %s" % (row["Id"], row["Name"])

实例5、获取单个表的字段名和信息的方法

复制代码 代码如下:

# -*- coding: UTF-8 -*-
# 来源:疯狂的蚂蚁的博客www.server110.com总结整理
import MySQLdb as mdb
import sys
#获取数据库的链接对象
con = mdb.connect('localhost', 'root', 'root', 'test')
with con:
    #获取普通的查询cursor
    cur = con.cursor()
    cur.execute("SELECT * FROM Writers")
    rows = cur.fetchall()
    #获取连接对象的描述信息
    desc = cur.description
    print 'cur.description:',desc
    #打印表头,就是字段名字
    print "%s %3s" % (desc[0][0], desc[1][0])
    for row in rows:
        #打印结果
        print "%2s %3s" % row

复制代码 代码如下:

运行结果: cur.description: ((‘Id', 3, 1, 11, 11, 0, 0), (‘Name', 253, 17, 25, 25, 0, 1))
Id Name
1 Jack London
2 Honore de Balzac
3 Lion Feuchtwanger
4 Emile Zola
5 Truman Capote

实例6、使用Prepared statements执行查询(更安全方便)

复制代码 代码如下:

# -*- coding: UTF-8 -*-
# 来源:疯狂的蚂蚁的博客www.server110.com总结整理
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

结果:

复制代码 代码如下:

Number of rows updated: 1

时间: 2024-11-05 12:14:21

python数据库操作常用功能使用详解(创建表/插入数据/获取数据)_python的相关文章

Swift HTTP网络操作库Alamofire使用详解1(配置,以及数据请求)

一,Alamofire的说明与配置     1,什么是Alamofire (1)Alamofire 的前身是 AFNetworking.AFNetworking 是 iOS 和 OS X 上很受欢迎的第三方HTTP网络基础库. (2)其实 AFNetwork 的前缀 AF 便是 Alamofire 的缩写. (3)Swift发布后,AFNetworking的作者又用Swift语言写了个相同功能的库,这便是 Alamofire. (4)Alamofire 本质是基于`NSURLSession`,并

Swift HTTP网络操作库SwiftHTTP使用详解1(配置,及数据请求)

一,SwiftHTTP的说明与配置 1,什么是SwiftHTTP SwiftHTTP本质是基于`NSURLSession`,并做了封装.使用SwiftHTTP可以让我们网络请求相关代码(如获取数据,提交数据,上传文件,下载文件等)更加简洁易用.(有点类似于我前面文章介绍的另一个网络库:Alamofire) 2,SwiftHTTP的功能特性: (1)便利的闭包API (2)支持运行队列(NSOperationQueue) (3)支持参数编码 (4)内置JSON请求序列化 (5)上传/下载文件带有进

Linux系统Shell命令常用功能使用详解

  Linux系统中Shell不仅仅是一个命令,而且是其他命令的解释器.可以调试其他命令,从而完成编译.那么Linux系统中Shell命令应该怎么使用呢? 其实作为命令语言互动式地解释和执行用户输入的命令只是Shell功能的一个方面,Shell还可以用来进行程序设计,它提供了定义变量和参数的手段以及丰富的程序控制结构.使用Shell编程类似于DOS中的批处理文件,称为Shell script,又叫Shell程序或Shell命令文件. Shell基本语法 像高级程序设计语言一样,Shell也提供说

Win10斯巴达浏览器常用功能图文详解

  该版本浏览器内置在Win10预览版10009中,其名称被叫做Project Spartan.很显然,这仅仅是该浏览器的内部开发代号,正式名称仍尚未确定.它采用全新Edge渲染引擎,而非IE11的Trident,性能提升显著.或与现有的IE浏览器共存,以减少兼容性问题. 功能上,斯巴达浏览器将支持扩展程序.全新的简洁风界面UI.阅读模式.内置小娜Cortana.标注收藏等诸多功能(扩展程序.小娜Cortana功能目前尚未启用),更能够与Win10手机版上的斯巴达浏览器同步协作,多平台融合统一为

python 线程的暂停, 恢复, 退出详解及实例_python

python 线程 暂停, 恢复, 退出 我们都知道python中可以是threading模块实现多线程, 但是模块并没有提供暂停, 恢复和停止线程的方法, 一旦线程对象调用start方法后, 只能等到对应的方法函数运行完毕. 也就是说一旦start后, 线程就属于失控状态. 不过, 我们可以自己实现这些. 一般的方法就是循环地判断一个标志位, 一旦标志位到达到预定的值, 就退出循环. 这样就能做到退出线程了. 但暂停和恢复线程就有点难了, 我一直也不清除有什么好的方法, 直到我看到thread

Python 中的with关键字使用详解_python

在 Python 2.5 中, with 关键字被加入.它将常用的 try ... except ... finally ... 模式很方便的被复用.看一个最经典的例子: with open('file.txt') as f: content = f.read() 在这段代码中,无论 with 中的代码块在执行的过程中发生任何情况,文件最终都会被关闭.如果代码块在执行的过程中发生了一个异常,那么在这个异常被抛出前,程序会先将被打开的文件关闭. 再看另外一个例子. 在发起一个数据库事务请求的时候,

Python中的zipfile模块使用详解

  这篇文章主要介绍了Python中的zipfile模块使用详解,zipfile模块是用来操作zip文件,需要的朋友可以参考下 zip文件格式是通用的文档压缩标准,在ziplib模块中,使用ZipFile类来操作zip文件,下面具体介绍一下: class zipfile.ZipFile(file[, mode[, compression[, allowZip64]]]) 创建一个ZipFile对象,表示一个zip文件.参数file表示文件的路径或类文件对象(file-like object);参

SQL Server 2016 Alwayson新增功能图文详解

概述 SQLServer2016发布版本到现在已有一年多的时间了,目前最新的稳定版本是SP1版本.接下来就开看看2016在Alwyson上做了哪些改进,记得之前我在写2014Alwayson的时候提到过几个需要改进的问题在2016上已经做了改进. 一.自动故障转移副本数量 在2016之前的版本自动故障转移副本最多只能配置2个副本,在2016上变成了3个. 说明:自动故障转移增加到三个副本影响并不是很大不是非常的重要,多增加一个故障转移副本也意味着你的作业也需要多维护一个副本.重要程度(一般).

Android实现有道辞典查询功能实例详解_Android

本文实例讲述了Android实现有道辞典查询功能的方法.分享给大家供大家参考,具体如下: 这是我做的一个简单的有道Android的DEMO,只是简单的雏形.界面设计也有点丑陋呵呵~ 看看下面的效果图: 第一步:思路解析 从界面看一共用了三个控件EditText,Button,WebView.其实是四个,是当我们查询内容为空的时候用来提示的Toast控件. 我们在EditText输入查询内容,这里包括中文,英文.然后通过参数的形式,从http://dict.youdao.com/m取出数据把结果