python进阶1--数据库支持
数据库支持
1.连接和游标
1)connect函数,该函数有多个参数,而具体使用那个参数取决于数据库。--连接数据库
常用参数:
dsn:数据源名称
user:用户名
password:用户密码
host:主机名
database:数据库名
2)connect函数返回连接对象,这个对象表示目前和数据库的会话。
连接对象方法:
close() 关闭连接后,连接对象和它的游标均不可用
commit() 如果支持的话就提交挂起的事务,否则不做任何事
cursor() 返回对象的游标对象
3)通过cursor()方法可以引入另外一个主题:游标对象。通过游标对象执行SQL查询并检查结果。
游标对象方法:
close() 关闭游标之后,游标不可用
execute(oper[,params] 执行sql操作,可能使用参数
fetchone() 把查询的结果集中的下一行保存为序列,或者为None
fetchall() 将所有(剩余)的行作为序列的序列
4.python连接sql server数据库
A.使用pymssql模块来实现(简单MSSQL Python扩展模块,自由软件)。
下载地址:http://code.google.com/p/pymssql/downloads/list
具体实践:
import pymssql
conn=pymssql.connect(host="**",user="sa",password="123",database="###",charset="UTF8") #返回连接对象
cur=conn.cursor() #创建游标对象
cur.execute("select * from tCity") #执行查询操作
cur.fetchall() #返回查询结果所有行
cur.close() #关闭游标
conn.close() #关闭连接
具体数据库详细编程可参考实例:
http://www.cnblogs.com/qianlifeng/archive/2012/02/06/2340367.html
B.使用PyODBC访问sql server
一、Windows下配置Python访问Sqlserver
环境:Windows 7 + Sqlserver 2008
1、下载并安装pyodbc
下载地址:http://code.google.com/p/pyodbc/downloads/list
2、访问SqlServer
>>> import pyodbc
>>>cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=192.168.1.100\\sql;DATABASE=testDB;UID=sa;PWD=myPassword')
>>>cursor = cnxn.cursor()
>>>cursor.execute("select * from Tb")
二、Linux下配置Python访问SqlServer
环境:CentOS 6.2 + Sqlserver 2008
1、安装freetds:
yum install freetds*
2、安装pyodbc:
yum install pyodbc
修改odbc配置:
vi /etc/odbcinst.ini
添加FreeTDS驱动:
[SQL Server]
Description = FreeTDS ODBC driver for MSSQL
Driver = /usr/lib/libtdsodbc.so
Setup = /usr/lib/libtdsS.so
FileUsage = 1
3、测试
#python
>>> import pyodbc
>>>cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=192.168.1.100\\sql;DATABASE=testDB;UID=sa;PWD=myPassword')
>>>cursor = cnxn.cursor()
>>>cursor.execute("select * from Tb")
python进阶1--数据库支持的更多相关文章
- Python进阶----数据库引擎(InnoDB),表的创建,mysql的数据类型,mysql表的约束
Python进阶----数据库引擎(InnoDB),表的创建,mysql的数据类型,mysql表的约束 一丶MySQL的存储引擎 什么是存储引擎: MySQL中的数据用各种不同的技术存储在文件( ...
- Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)
day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库: 简称:DataBase ---->DB 数据库即存放数据的仓库, ...
- 【循序渐进学Python】14.数据库的支持
纯文本只能够实现一些简单有限的功能.如果想要实现自动序列化,也可以使用 shelve 模块和 pickle 模块来实现.但是,如果想要自动的实现数据并发访问,以及更标准,更通用的数据库(databas ...
- <<Python基础课程>>学习笔记 | 文章13章 | 数据库支持
备注:本章介绍了比较简单,只是比较使用样品,主要假设是把握连接,利用数据库.和SQLite做演示样本 ------ Python数据库API 为了解决Python中各种数据库模块间的兼容问题,如今已经 ...
- python进阶10 MySQL补充 编码、别名、视图、数据库修改
python进阶10 MySQL补充 编码.别名.视图.数据库修改 一.编码问题 #MySQL级别编码 #修改位置: /etc/mysql/mysql.conf.d/mysqld.cnf def ...
- Python进阶----pymysql的安装与使用,mysql数据库的备份和恢复,mysql的事务和锁
Python进阶----pymysql的安装与使用,mysql数据库的备份和恢复,mysql的事务和锁 一丶安装 pip install PyMySQL 二丶pymysql连接数据库 ### 语法: ...
- Python使用MySQL数据库的方法以及一个实例
使用环境:Windows+python3.4+MySQL5.5+Navicat 一.创建连接 1.准备工作,想要使用Python操作MySQL,首先需要安装MySQL-Python的包,在Python ...
- 使用python将mysql数据库的数据转换为json数据
由于产品运营部需要采用第三方个推平台,来推送消息.如果手动一个个键入字段和字段值,容易出错,且非常繁琐,需要将mysql的数据转换为json数据,直接复制即可. 本文将涉及到如何使用Python访问M ...
- Python进阶 - 对象,名字以及绑定
Python进阶 - 对象,名字以及绑定 1.一切皆对象 Python哲学: Python中一切皆对象 1.1 数据模型-对象,值以及类型 对象是Python对数据的抽象.Python程序中所有的数据 ...
随机推荐
- InterviewProblems
package com.xiaoysec; /** * 下面是面试趣医网技术面的时候出现的一个简单的题目 题目的要求是将一个数组中的奇数和偶数进行分离 以奇数在前一部分为例进行解题 * 算法的主要思想 ...
- OpenCV学习(2)--基本数据结构
OpenCV的基本数据结构 CvPoint:表示图像中的点 CvPoint2D32f:二维空间中的点 CvPoint3D32f:三维空间中的点 这些都是结构体,并不是C++语言中的类,所以他们的构造函 ...
- OC语法7——内存管理之@property参数
@property的参数: 我们已经知道为了给开发者提供便捷,OC提供了@porperty关键字,它可以自动生成属性的set和get方法. 但是我们又知道,在OC中还面临者对象内存管理的问题,而且我们 ...
- html5的自定义data-*属性与jquery的data()方法的使用
人们总喜欢往HTML标签上添加自定义属性来存储和操作数据.但这样做的问题是,你不知道将来会不会有其它脚本把你的自定义属性给重置掉,此外,你这样做也会导致html语法上不符合Html规范,以及一些其它副 ...
- IE的事件与w3c事件的区别
14. offsetWidth, scrollLeft, scrollHeight? scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollHeig ...
- vb mid 函数使用说明
Mid就是从一个字符串中取子字符串,比如a="aabbcc",我们想取出"bb"就可以用Mid("aabbcc",3,2)Mid有3个参数, ...
- OpenNMS Log Correlator
- [原]CAS和Shiro在spring中集成
shiro是权限管理框架,现在已经会利用它如何控制权限.为了能够为多个系统提供统一认证入口,又研究了单点登录框架cas.因为二者都会涉及到对session的管理,所以需要进行集成. Shiro在1.2 ...
- ajax、form提交乱码
ajax 传参乱码:encodeURI(encodeURI(username)) form 传参乱码:request.setCharacterEncoding("UTF-8"); ...
- javascript第一课javascript:void(0);
在一些需要使用<a href="#"></a>的地方,把#号换成javascript:void(0); 可以防止在链接跳转到新页面,void(0)放里面的参 ...