• Python操作几种不同的关系数据库


    一、连接Oracle数据库:
       1、安装cx_Oracle包:
         http://cx-oracle.sourceforge.net/  需要注意下版本,根据操作系统和已安装的python版本进行选择
         在命令窗口中执行(要先设置Python的环境变量):  
         python -m pip install cx_Oracle --upgrade
     
      2、Python连接oracle数据库的基本操作
         
        (1)创建数据库连接connect和关闭数据库连接close ,创建数据库连接的三种方式:
          方法一:用户名、密码和监听分开写
              import cx_Oracle
              db=cx_Oracle.connect('username/password@localhost:1521/orcl')
              db.close()
          方法二:用户名、密码和监听写在一起
              import cx_Oracle
              db=cx_Oracle.connect('username','password','localhost:1521/orcl')
              db.close()
         方法三:配置监听并连接(推荐使用)
               import cx_Oracle
               tns=cx_Oracle.makedsn('localhost',1521,'orcl')
               db=cx_Oracle.connect('username','password',tns)
               db.close()
       
         (2)建立cursor并执行SQL语句(查询、更新、插入、删除):创建数据库连接,创建游标cursor,然后执行sql语句,执行完成后,关闭游标,关闭数据库连接
           A、查询:
          import cx_Oracle    #导入cx_Oracle
          db=cx_Oracle.connect('scott/root@localhost:1521/orcl')  #连接数据库
           #一次返回所有行:fetchall
          cr=db.cursor()      #创建游标
          sql = 'select * from student' #定义sql语句
          cr.execute(sql)     #执行sql语句
          rs = cr.fetchall()  #一次返回所有的结果集
          for x in rs:     #利用循环输出所有记录
              print(x)
     
          #一次返回一行:fetchone
          cr=db.cursor()      #创建游标
           sql='select * from student'
           cr.execute(sql)
           while(1):
              rs = cr.fetchone()
              if rs==None:break
                  print(rs)
     
        #使用参数查询
          pr={'sno':'2018001'} #将参数作为一个字典来处理
           cr.execute('select * from student where sno=:sno',pr)
           rs=cr.fetchall()
           print( "print all :%s"%rs)
     
        #也可以直接写入参数
          cr.execute('select * from student where sno=:sno',sno='2018003')
           rs=cr.fetchall()
           print( "print all :%s"%rs)
     
           cr.close()  #关闭游标
           db.close()  #关闭连接
        B、插入、更新、删除操作后需要提交commit
            #插入数据
            sql="insert into student(id,sno,sname,ssex,sdept,sage,saddress) values(7,'2018007','郭靖','男','历史系',22,'浙江')"
            cr.execute(sql)
            cr.close()
           db.commit()
    Python操作数据库
       3、函数方式实现增、删、改、查:
         def sqlSelect(sql,db):  #查询
              cr = db.cursor()
              cr.execute(sql)
              rs = cr.fetchall()
              cr.close()
              return rs
     
          def sqlInsert(sql,param,db):  #插入、删除、更新
              cr = db.cursor()
              cr.execute(sql,param)
              cr.close()
              db.commit()
                return 1
     
    二、连接MySql数据库:
         
          1、安装MySql驱动:在命令行使用pip安装
                      pip install  PyMySQL
         
          2、连接并操作MySql数据库  
     
                  import pymysql
                  db = pymysql.connect(host='127.0.0.1',port=3306,user='root',password='root',
                                 db='mvc',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)
     
                   cursor = db.cursor()
                   sql = 'select * from user'
                   cursor.execute(sql)
                    rs = cursor.fetchall()
                    for x in rs:
                             print(x)
     
     三、连接SQL Server数据库:
            1、下载驱动程序包:
                       pymssql-2.1.3-cp36-cp36m-win32.whl(https://www.lfd.uci.edu/~gohlke/pythonlibs/ 
     
            2、安装驱动程序(命令行):
                      pip  install  pymssql-2.1.3-cp36-cp36m-win32.whl
     
             3、连接并操作数据库:
                   import  pymssql
                    db = pymssql.connect(host='127.0.0.1',user='a1',password='root',database='dbms')
                    cursor = db.cursor()
                    cursor.execute('select * from courses')
                     rs = cursor.fetchall()
                     for x in rs:
                             print(x)
     
    附注:
    pip的用法:pip是一个安装和管理 Python 包的工具
     
    (1) 安装一个包
     
         c:> pip install
         c:> pip install ==
     
    (2)升级一个包 (如果不提供version号,升级到最新版本)
       
          c:> pip install --upgrade >=
     
    (3)删除一个包
            
              c:>pip uninstall
     

    1

  • 相关阅读:
    数组中的每一个对象执行一次方法:makeObjectsPerformSelector
    $.each() each
    JQ js选择节点操作
    Sublime Text 3 快捷键
    TotoiseSVN的基本使用方法
    Hbuilder快捷键
    获取网页内容区域各种高/宽汇总
    TP操作
    xhr接收php://output的二进制文件,并转换成excel表格
    Go语言的%d,%p,%v等占位符的使用
  • 原文地址:https://www.cnblogs.com/lone5wolf/p/10856104.html
Copyright © 2020-2023  润新知