码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2019-05-13 14:36:30      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:libs   方式   fetchall   http   play   基本操作   div   cursor   mon   

一、连接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()
技术图片
   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

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

标签:libs   方式   fetchall   http   play   基本操作   div   cursor   mon   

原文地址:https://www.cnblogs.com/lone5wolf/p/10856104.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!