• pymssql和pyodbc模块都是常用的用于SQL Server、MySQL等数据库连接及操作的模块,当然一些其他的模块也可以进行相应的操作,类似adodbapi、mssql、mxODBC等,我们在实际用的时候选择其中一个模块就好,对于每一个...

    模块说明

    pymssql和pyodbc模块都是常用的用于SQL Server、MySQL等数据库的连接及操作的模块,当然一些其他的模块也可以进行相应的操作,类似adodbapi、mssql、mxODBC等,我们在实际用的时候选择其中一个模块就好,对于每一个模块都有相应的支持版本和支持平台,大家可以自行查阅文档https://wiki.python.org/moin/SQL%20Server

    模块安装 

    pip install pymssql

    模块使用

      我们利用python来进行数据库的操作,那么第一步就应该是连接数据库,这里我们用pymssql模块中的connect方法连连接,在pyodbc模块中同样也是利用connect方法。

    使用connect创建连接对象

    connect.cursor创建游标对象,SQL语句的执行基本都在游标上进行

    cursor.executeXXX方法执行SQL语句,cursor.fetchXXX获取查询结果等

    调用close方法关闭游标cursor和数据库连接

    pymssql模块连接

    pyodbc模块连接

    import pyodbc

        conn = pyodbc.connect(r'DRIVER={SQL Server Native Client 11.0};SERVER=test;DATABASE=test;UID=user;PWD=password')

     不同的SQL server版本对应的DRIVER字段不同。对应关系如下:

    {SQL Server} - released with SQL Server 2000

    {SQL Native Client} - released with SQL Server 2005 (also known as version 9.0)

    {SQL Server Native Client 10.0} - released with SQL Server 2008

    {SQL Server Native Client 11.0} - released with SQL Server 2012

    使用pyodbc需要安装微软官方的Native Client(没有安装会报错IM002),安装SQL server management studio会自动附带安装(控制面板里可以看到安装的版本)。如果没有安装过需要在https://msdn.microsoft.com/en-us/data/ff658533.aspx下载安装(sqlncli.msi)。建议选择与远程数据库版本相对应的Native Client。如果本地安装的Native Client是高版本,则DRIVER={SQL Server Native Client 11.0}需要填写的是本地的高版本。

    获取数据库内容

    这里涉及到游标的使用


    fetchone() :返回单个的元组,也就是一条记录(row),如果没有结果 则返回 None

    fetchall() :返回多个元组,即返回多个记录(rows),如果没有结果 则返回 ()

    由于execute返回的是cursor本身,所以如果你需要一次直接获取所有内容可以直接使用cursor本身来获取

    关于游标这里还存在一个要向大家专门说明的地方,

    就是一个连接一次只能有一个游标的查询处于活跃状态,具体什么意思大家可以看下面的代码。

    提供一个解决的办法


    在游标的正常使用中游标获取的查询结果,一行为一个元组。

    我们在实际使用中可以根据需求,用 as_dict 方法返回一个字典变量,其中字典的Key为数据表的列名

    大家如果觉得上面的代码写起来看上去太长,给大家提供一个代码量小的数据库操作解决办法

    就是 with语句,即上下文管理器,它的好处一个是代码的集成度高,一个是省去显示的调用close方法关闭连接和游标

    关于数据库的增删改

    增删改数据库的内容也是直接传递SQL语句给execute方法。但要注意运行之后需要用commit提交变更

    展开全文
  • ==================================================Connect and run SQL queries to an Oracle database from Python==================================================从 Python 连接到 Oracle 数据库提供了...

    ==================================================

    Connect and run SQL queries to an Oracle database from Python
    ==================================================

    从 Python 连接到 Oracle 数据库提供了运行基本可以利用的 SQL 查询中地理处理任务的能力。提供说明描述了如何连接到 Oracle 数据库并从 Python 脚本运行的 SQL 查询。

    下载和安装合适的cx_Oracle模块

    http://cx-oracle.sourceforge.net/ 


    根据用户自己的python版本以及Oracle版本下载对应的信息,而且如果是安装ArcGIS Desktop自带的Python,应该下载32位程序

    Download 5.1.2 released July 6, 2012

    相关例子参考

    //引用cx_Oracle
    >>> import cx_Oracle;
    //Oracle连接,输入用户名密码和网络服务名
    >>> conn=cx_Oracle.connect('sde/sde@orcl_165')
    //定义参数获得游标
    >>> cursor=conn.cursor();
    //建立一个查询语句
    >>> sql="select * from owner where objectid<3"
    //获得游标对象
    >>> cursor.execute(sql)
    <__builtin__.OracleCursor on <cx_Oracle.Connection to sde@orcl_165>>
    //获得游标指向的rows
    >>> rows =cursor.fetchall()
    //循环row
    >>> for row in rows:
    //输出row信息
    ...     print row
    ...     
    (1, 100, 1, u'jobs', u'luly')
    (2, 100, 2, u'jim', u'bob')

    #==========================
    # cx-oracle的教程    ,
    #==========================     
        [简单] http://www.orafaq.com/wiki/Python
        [简单] http://codingtutorials.co.uk/blog/?p=31
        [全面]Sidekick - cx_Oracle (code paterns)系列 http://www.dbaportal.eu/?q=node/125
        [全面] http://www.oracle.com/technetwork/articles/dsl/python-091105.html
        [示例] http://code.google.com/p/cx-oracle-demos 
        [介绍]Python cx_Oracle 5.0新特性 http://www.oszx.net/archives/718
        
        
    如何执行Oracle的存储过程, 并取到存储过程的out游标
    http://stackoverflow.com/questions/6821372/python-oracle-passing-in-a-cursor-out-parameter


    =============================================================================

    Connect and run SQL queries to an SQL Server database from Python
    =============================================================================

    相关组件下载

    相关代码参考

    //Make a connection to the SQL Server database using database authentication or Windows authentication by passing in the //appropriate parameters such as the server name, user ID (UID) and password (PWD): 
    //Database authentication string: 
    con = pyodbc.connect('DRIVER={SQL Server};SERVER=Prod1\SQL2008R2;DATABASE=SDE;UID=sa;PWD=sa')
    //Windows authentication string: 
    con = pyodbc.connect('Trusted_Connection=yes', driver = '{SQL Server}',server = ‘Prod1\SQL2008R2 ‘, database = ‘SDE')
    //Define a parameter to access the cursor method: 
    cur = con.cursor()
    //Create a query string: 
    querystring = "select * into ParcelsA from ParcelsB"
    //Pass the query string into the cursor method: 
    cur.execute(querystring)
    con.commit()

    ==============================================================================

    Connect and run SQL queries to an PostgreSQL database from Python
    ===============================================================================

    相关组件下载

    Psycopg VersionPython
    Version
    PostgreSQL
    version
    built against
    Release BuildDebug Build
    (--define PSYCOPG_DEBUG)
     
    2.4.5
    (For Python 2.6)
    2.69.1.3psycopg2-2.4.5.win32-py2.6-pg9.1.3-release.exe

    (For Python 2.6 amd64)
    (64bit Windows)
    2.69.1.3psycopg2-2.4.5.win-amd64-py2.6-pg9.1.3-release.exe
    2.4.5
    (For Python 2.7)
    2.79.1.3psycopg2-2.4.5.win32-py2.7-pg9.1.3-release.exe

    (For Python 2.7 amd64)
    (64bit Windows)
    2.79.1.3psycopg2-2.4.5.win-amd64-py2.7-pg9.1.3-release.exe
         

    相关参考

    //Import the module in the Python script: 
    import psycopg2
    //Make a connection to a PostgreSQL database by passing in the appropriate user/password to the following connection string: 
    connection = psycopg2.connect(host='prod', database='sde', user='sde', password='sde')
    //Define a parameter to access the cursor method: 
    cursor = connection.cursor()
    //Create a query string and pass to cursor method: 
    cursor.execute('select * from PARCELS WHERE OBJECTID < 70000')
    //Create a for loop and print results 
    for query in cursor:
        print str(query)
    -------------------------------------------------------------------------------------------------------
    版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
    ------------------------------------------------------------------------------------------------------

    展开全文
  • ①首先检查下网络通畅与否:PING这个系统自带的功能一般被用于检测网络连接的正常与否,很多维护网络一般都会先PING一下网络 输入“ping www.so.com”回车 当然也可以ping ip ②代码: import mysql.connector ...

    ①首先检查下网络通畅与否:PING这个系统自带的功能一般被用于检测网络连接的正常与否,很多维护网络一般都会先PING一下网络

    输入“ping www.so.com”回车

    当然也可以ping ip

    ②代码:

    import mysql.connector
    mydb=mysql.connector.connect(
        host="localhost",
        user="root",
        passwd="2231"
        )
    print(mydb)

    心情不太好,写的有点糙,大家见谅!!!

    展开全文
  • pymysql基本使用教程一、简介二、使用步骤1、前提:2、连接数据库的步骤3、实例三、总结1、pymysql的默认端口是33062、fetchone和fetchall方法返回的结果是元组四、封装数据库操作1、配置文件处理模块2、配置文件...

    一、简介

    pymysql是python的一个库,用于连接mysql数据库。

    二、使用步骤

    1、前提:

    (1)安装pymysql(pip install pymysql)
    (2)导入pymysql

    2、连接数据库的步骤

    这些步骤基本上与手工进行数据库查询的步骤一致:
    (1)建立连接
    (2)新建查询页面
    (3)编写sql
    (4)执行sql
    (5)查看结果
    (6)关闭查询
    (7)关闭数据库连接

    3、实例

    import pymysql 
    host = "127.0.0.1"
    user = "root"
    password = "123456"
    port = 3306
    mysql = pymysql.connect(host=host,user=user,password=password,port=port)
    cursor = mysql.cursor()#新建一个游标对象(查询页面)
    sql = 'SELECT * FROM user limit 10;'  # 3、编写sql
    cursor.execute(sql)  # 4、执行sql
    # result = cursor.fetchone()#  5、查看结果:获取查询结果集里面最近的一条数据返回
    result = cursor.fetchall()#获取全部结果集
    print(type(result),result[0])
    cursor.close()    # 6、关闭查询
    mysql.close()    # 7、关闭数据库连接
    

    三、总结

    1、pymysql的默认端口是3306

    所以如果数据库的端口本来就是3306,那么在建立mysql连接时就不需要再指定端口。源码如下:在这里插入图片描述

    2、fetchone和fetchall方法返回的结果是元组

    四、封装数据库操作

    说明:如果经常需要用到数据库的连接操作,那么可以考虑将其封装成一个模块,后续只需简单调用即可。

    1、配置文件处理模块

    配置文件处理模块(config)作用:读取配置文件信息,将option对应的value以字符串形式返回
    在这里插入图片描述

    2、配置文件信息(test.conf)

    信息如下:db是section,host、user、password、port是option,所以需要将option的value取出来
    在这里插入图片描述

    3、数据库封装模块

    class DoMysql:
    
        def __init__(self):
            host = config.get_strValue('db','host')
            user = config.get_strValue('db','user')
            password = config.get_strValue('db','password')
            port = config.get_strValue('db','port')
            self.mysql = pymysql.connect(host=host, user=user, password=password, port=int(port))#创建连接
            self.cursor = self.mysql.cursor()  # 新建一个游标对象
    
        def fetch_one(self,sql):#获取查询结果集里面最近的一条数据返回
            self.cursor.execute(sql)
            return self.cursor.fetchone()
    
        def fetch_all(self,sql):#获取全部结果集
            self.cursor.execute(sql)
            return self.cursor.fetchall()
    
        def close(self):
            self.cursor.close()#关闭查询
            self.mysql.close()#关闭连接
            
    if __name__ == '__main__':
        mysql = DoMysql()
        result = mysql.fetch_all('SELECT * FROM user limit 10;')
        print(result[0])
        mysql.close()
    
    展开全文
  • python连接数据库查询

    2019-05-29 14:56:31
    写在前面 这是我的第一篇python文章,至于为什么学...主要是把廖雪峰老师的课程过了一遍:Python教程。自己还要学习的东西比较多,这个过一遍的目的是为了能够尽快上手通过实战项目让自己得到提高。 我的开发环境...
    写在前面

    这是我的第一篇python文章,至于为什么学python呢?源于我前端工作比较不饱和,所以我老大叫我多学点东西,然后他就叫我可以考虑学一下python。然后呢,我也是感觉没什么事就打着学一下的心态去学了一下,不知不觉就学了差不多4天吧。主要是把廖雪峰老师的课程过了一遍:Python教程。自己还要学习的东西比较多,这个过一遍的目的是为了能够尽快上手通过实战项目让自己得到提高。

    我的开发环境基于Anacoda,所以后面的教程都是基于这个环境,至于安装什么的,你百度的应该比我这个半吊子写的清楚,我就不写了。这里也说明一下因为我的开发环境受公司网络监管系统受限,我的所有模块都是手动安装的。

    安装模块

    因为是要连接数据库,所以我们需要先下载一个python库:MySQLdb。这里我没有用廖雪峰老师教程里面建议的库。下载地址:mysqlclient‑1.4.2‑cp37‑cp37m‑win_amd64.whl ,这里选择这个库:
    在这里插入图片描述
    下载好了选择安装:
    将下载好的文件复制至C:\ProgramData\Anaconda3\pkgs路径下,这里的路径视个人而定。然后在这个路径下打开命令,输入

    pip install mysqlclient‑1.4.2‑cp37‑cp37m‑win_amd64.wh
    

    这里他会提示安装成功,如果提示pip不是内部或外部命令,也不是可运行的程序或批处理文件,那就需要

    ①将Anaconda3的安装目录下的scripts目录(例如C:\ProgramData\Anaconda3\Scripts)添加到系统环境变量path里,注意前加分号。再执行该命令 
    pip install wheel 
    
    ②在cmd下进入到F:\Anaconda3\Scripts目录下执行该命令 
    pip install wheel
    
    敲代码

    charset='utf8':为了正确显示中文
    cursorclass = MySQLdb.cursors.DictCursor:同时查询字段

    #encoding=utf-8
    
    import MySQLdb
    # 注意把password设为你的root口令:
    conn = MySQLdb.connect(user='root', password='root', database='idesk',charset='utf8')
    #创建游标
    #cursor = conn.cursor() #只查询结果
    
    #查询结果和字段
    cursor = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor)
    
    # cursor.execute('select * from tbluser where colUserID = %s', ('1',))
    values = cursor.fetchall()
    
    print(values)
    

    这里给大家看一下两种结果
    1、只查询结果

    ((1, 'admin', '2def3edceccf0a82cb75d71d2cb05564', 'admin', 'man', '123456789@qq.com', '', 1, 1),)
    

    2、连同字段一起

    ({'colUserID': 1, 'colUsername': 'admin', 'colPassword': '2def3edceccf0a82cb75d71d2cb05564', 'colRealName': 'admin', 'colGender': 'man', 'colEmail': '123456789@qq.com', 'colOrgID': '', 'colCreateID': 1, 'colState': 1},)
    
    展开全文
  • Python连接MySQL数据库

    2018-08-26 15:52:21
    Python连接MySQL数据库 本篇文章介绍了如何使用python操作MySQL数据库中的数据,主要思想是将数据库中的数据文件转化为Pandas数据框的形式,方便之后使用python语言进行数据分析。 目录 Python连接MySQL...
  • # -*- coding: utf-8 -*- import os import requests import pymysql import _thread #import threading # 自定义下载目录 path = 'F:/Reptilian/ysj/' # 线程锁 #lock = threading.Lock() ......
  • pythonGUI与数据库开发教程(51页ppt+8全源码示例),超值!
  • Python-数据库

    2018-11-23 14:56:31
    Python数据库编程视频教程数据库是MySQL,讲解Python链接MySQL数据库,并对数据库进行增删改查操作。
  • pymssql模块是用于sql server数据库(一种数据库通用接口标准)的连接。另外pyodbc不仅限于SQL server,还包括Oracle,MySQL,Access,Excel等。 另外除了pymssql,pyodbc还有其他几种连接SQL server的模块,感兴趣的...
  • 这篇文章主要介绍了Python使用MySQLdb for Python操作数据库教程,详细讲述了MySQLdb的用法,针对Python操作MySQL数据库程序设计具有很好的参考借鉴价值,需要的朋友可以参考下 本文详细讲述了Python使用MySQLdb for ...
  • Python与MySQL数据库进行连接,并对数据库进行操作 本文中涉及到的开发环境:Ubuntu16.04 + MySQL5.7.21 and Windows下使用Navicat对Ubuntu下的MySQL进行可视化操作,MySQL的相关安装步骤见以前发表的文章,...
  • Python3连接MySQL数据库

    2016-08-22 09:42:37
    本文我们为大家介绍 Python3 使用 PyMySQL 连接数据库,并实现简单的增删改查。什么是 PyMySQL?PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。PyMySQL 遵循 Python 数据库...
  • 解决事务型数据库数据库更新数据不同步的问题
  • 提到Python开发web应用,就一定少不了数据库的使用,那么Python是如何操作web数据库的呢?今天我们一起来学习一下,本文...本文主要介绍Python(Django框架)如何连接数据库。 http://www.99kao.com/uploads/allimg...
  • 没有安装数据库的,可以回看我的数据库安装教程 首先python操作数据库,必须要安装相对应的库 使用指令sudo apt-get install python-mysql 安装完成后,在终端输入python进入python环境 输入import MySQLdb (以上...
  • python进行远程连接数据库 python3 利用pymysql模块进行数据库远程连接,但是发现即使代码没有出错误,任然会连接失败。在此过程中出现两个错误,网上寻找一圈解决方案,终于解决问题了。作为刚刚接触python的小白...
  • 教程是基于Python语言的深入学习。本次主要介绍MySql数据库软件的安装。不限制语言语法,对MySql数据库安装有疑惑的各位同仁都可以查看一下。 数据库的应用在软件开发领域是重重之重。大量数据和配置被保存在...
  • Python 连接数据库

    2019-01-03 19:14:15
    Python来编写网站,必须要能够通过python操作数据库,所谓操作数据库,就是通过python实现对数据的连接,以及对记录、字段的各种操作。 安装python-MySQLdb 要想通过python来操作数据库,还需要在已经安装了mysql...
  • python连接sqlite(mysql)数据库以及sqlite数据库基础操作 在flask网页框架实践的博客中,使用过sqlite数据库来记录用户输入数据,所以这里单独拿出来简单讲解python连接sqlite数据库的用法,主要包括连接,查询等...
1 2 3 4 5 ... 20
收藏数 24,366
精华内容 9,746