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()
   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

喜欢

相关文章