python 编写 SQLSERVER,ORACLE,MYSQL 数据查询及插入数据

SQLSERVER方法:

插入数据代码演示(上下文管理器方法):

import pymssql,uuid
from class_area.class_ReadConf import ReadDate #导入读取配置文件模块方法
sql_data=ReadDate(‘sqlserver.conf‘,‘DATABASE‘,‘config‘).readdata() 
read_data=ReadDate(‘area.conf‘,‘AREAS‘,‘config‘).readdata()
area_read_2=eval(read_data)
# server 数据库服务器名称或IP
# user 用户名
# password 密码
# database 数据库名称‘
class SqlServer():
  def insert_sql_server(self):
    with pymssql.connect(eval(sql_data)[‘server‘],eval(sql_data)[‘user‘],eval(sql_data)[‘password‘],eval(sql_data)[‘database‘]) as conn:
      with conn.cursor() as cursor:
        for data_row in range(len(area_read_2)):
          Area_Code=area_read_2[data_row][‘code‘]
          Area_Name=area_read_2[data_row][‘name‘]
          Center_Point=",".join((area_read_2[data_row][‘latitude‘],area_read_2[data_row][‘longitude‘]))
          Area_ParentCode=area_read_2[data_row][‘parentCode‘]
          sql=(‘INSERT INTO T_Sys_Area (ID,Area_Code,Area_Name,Center_Point,Area_ParentCode) VALUES (%s,%s,%s,%s,%s)‘%(‘\‘‘+str(uuid.uuid1()).replace(‘-‘,‘‘)+‘\‘‘,‘\‘‘+Area_Code+‘\‘‘,‘\‘‘+Area_Name+‘\‘‘,‘\‘‘+Center_Point+‘\‘‘,‘\‘‘+Area_ParentCode+‘\‘‘))
          cursor.execute(sql)  #执行sql
          conn.commit() #提交数据
        print("成功")
if __name__ == ‘__main__‘:
sql_server_data=SqlServer()
sql_server_data.insert_sql_server()

Oracle方法:

读取数据方法:

#!-*- encoding:utf-8 -*-
import cx_Oracle,uuid
from class_area.class_ReadConf import ReadDate
arearead_1=eval(ReadDate(‘Oracle.conf‘,‘DATABASE‘,‘config_1‘).readdata())
area_read=ReadDate(‘area.conf‘,‘AREAS‘,‘config‘).readdata()
area_read_2=eval(area_read)
class MySqlQueryData:
  def __init__(self,mysqlsentence):
    self.mysqlsentence = mysqlsentence
  def mysqlconnect(self):
    #连接数据库
    #strConnection = eval(arearead_1)
    #conn = cx_Oracle.connect(‘用户名/密码@数据库ip:端口号/数据库名‘)
    #cnn=cx_Oracle.connect(‘newleader/[email protected]:1521/orcl‘)
    data_1=arearead_1[‘user‘]+‘/‘+arearead_1[‘password‘]+‘@‘+arearead_1[‘host‘]+‘:‘+arearead_1[‘port‘]+‘/‘+arearead_1[‘database‘]
    cnn=cx_Oracle.connect(data_1)
    #使用cursor方法获取游标
    cursor=cnn.cursor()
    #cursor=cnn.cursor(buffered=True) #当SQL查询语句是查询所有的,然后调用的是fetchone()方法,那么就需要添加buffered=True,要不然会报错。
    # 使用execute方法执行SQL语句
    cursor.execute(self.mysqlsentence)
    #使用fetchall方法获取所有数据
    data=cursor.fetchall()
    #读取一条数据
    #data=cursor.fetchone()
    #关闭游标
    cursor.close()
    #关闭数据库连接
    cnn.close()
    return data
if __name__ == "__main__":
mysqlquerydata = MySqlQueryData("select * from T_SYS_AREA")
print(mysqlquerydata.mysqlconnect())

插入数据方法:
class OracleInsertData():
   def oracleconnect(self):
      data_1=arearead_1[‘user‘]+‘/‘+arearead_1[‘password‘]+‘@‘+arearead_1[‘host‘]+‘:‘+arearead_1[‘port‘]+‘/‘+arearead_1[‘database‘]
      cnn=cx_Oracle.connect(data_1)
      cursor=cnn.cursor()
      for data_row in range(len(area_read_2)):
        AREA_CODE=area_read_2[data_row][‘code‘]
        AREA_NAME=area_read_2[data_row][‘name‘]
        CENTER_POINT=",".join((area_read_2[data_row][‘latitude‘],area_read_2[data_row][‘longitude‘]))
        AREA_PARENTCODE=area_read_2[data_row][‘parentCode‘]
        sql=(‘INSERT INTO T_SYS_AREA (ID,AREA_CODE,AREA_NAME,AREA_PARENTCODE,CENTER_POINT) VALUES (%s,%s,%s,%s,%s)‘%(‘\‘‘+str(uuid.uuid1()).replace(‘-,‘‘)+‘\‘‘,‘\‘‘+AREA_CODE+‘\‘‘,‘\‘‘+AREA_NAME+‘\‘‘,‘\‘‘+AREA_PARENTCODE+‘\‘‘,‘\‘‘+CENTER_POINT+‘\‘‘))
        cursor.execute(sql)
        cnn.commit()
        cursor.close()
        #关闭数据库连接
        cnn.close()

        print("成功")
if __name__ == "__main__":
oracleinsertdata=OracleInsertData()
oracleinsertdata.oracleconnect()

原文地址:https://www.cnblogs.com/hao2018/p/9293694.html

时间: 2024-08-27 20:00:15

python 编写 SQLSERVER,ORACLE,MYSQL 数据查询及插入数据的相关文章

MySql数据库-查询、插入数据时转义函数的使用

最近在看一部php的基础视频教程,在做案例的时,当通过用户名查询用户信息的时候,先使用了转义函数对客户提交的内容进行过滤之后再交给sql语句进行后续的操作.虽然能看到转义函数本身的作用,但是仍然有一些疑惑. 疑惑一:当转义数据后,数据中会增加一些反斜杠,为了能查找出对应的数据,那么原来存在数据库中的数据是不是也已经被保存成含有反斜杠的了? 疑惑二:转义数据后再向数据库中插入数据,保存在数据库中的数据是否会含有过滤后的反斜杠? 带着这些疑问对用户提交的表单进行测试. echo get_magic_

SQLServer Oracle MySQL被恶意软件加密不能使用。

SQLServer Oracle MySQL被恶意勒索病毒加密不能正常使用..mdf.HAPPYCHOOSE.mdf.HAPPYTHREECHOOSE.mdf.jones.mdf.id[DA370A35-2700].[[email protected]].Devos SQLServer,Oracle,MySQL 数据库可以做恢复修复 SQLServer,Oracle,MySQL database can be restored and repaired 1.用新版本的操作系统(PC安装win10

Oracle 跨库 查询 复制表数据

在目前绝大部分数据库有分布式查询的需要.下面简单的介绍如何在oracle中配置实现跨库访问. 比如现在有2个数据库服务器,安装了2个数据库.数据库server A和B.现在来实现在A库中访问B的数据库. 第一步.配置A服务器端的tnsnames.ora文件(TNSNAMES.ORA Network Configuration File),该文件存放的位置为: $ORACLE_HOME/network/admin/tnsnames.ora 需要在该文件中增加对B库的配置项,格式如下 ZBCDB3

MySQL学习——查询表里的数据

MySQL学习——查询表里的数据 摘要:本文主要学习了使用DQL语句查询表里数据的方法. 数据查询 语法 1 select [distinct] 列1 [as '别名1'], ..., 列n [as '别名n'] from 表名 2 [where 表达式] 3 [group by 表达式] 4 [having 表达式] 5 [order by 表达式] 6 [limit 起始编号, 查询条数] 说明 1 列1, ..., 列n:表示查询的字段,查询多个字段用“,”分隔,使用“*”号表示查询全部字

【Oracle】给clob字段插入数据

// 插入 //OracleCommand cmd = "insertInto into GIS_PolygonPoint(PCode,PointColl) values('140134', :var)"; // 修改 //OracleCommand cmd = new OracleCommand("update yd_line set coord=:coordstr where lineid=" + LineId.ToString(), conn); string

oracle数据库表中,插入数据的时候如何产生一个 字母+数字 编号?

Oracle 语句中"||"代表什么啊? oracle数据库表中,插入数据的时候如何产生一个 字母+数字 编号? 排序的话,用order by来处理即可.比如:cola123a234b999b335select * from tablename order by col; 结果就是 cola123a234b335b999 如果按倒序排列:select * from tablename order by col desc; 结果就是 colb999b335a234a123 其他回答 先创

oracle——数据表的相关操作——插入数据以及批量插入数据

SQL更新数据 1.插入数据——insert操作 语法格式如下: insert into 表名 (列名1,列名2……,列名n) values (值1,值2……,值n); 在insert操作中,列名列表中的各列需要以逗号分隔:而值列表指定各列的值,列名与值需要一一对应. 如果insert语句所指定的列名列表包含了表中的所有列,那么可以将列名列表省略. create table student08 ( id number, name varchar2(20), sex varchar2(20), a

oracle/mysql 将查询数据导出到文件中

一.将oracle 查询的数据导入到一个文本文件中方法一 :通过sql developer 工具导出到xls表中方法二:通过客户端sqlplus 到一个临时txt文件中再处理着重讲方法二(在使用场景下方便.快捷)SQL>spool d:sqlbak.txt;SQL>select * from table where a>x;SQL>spool off;这样刚查询的数据就好在d盘下的 sqlbak.txt 文件中,linux下同理: spool /tmp/sqlbak.txt 二.

Oracle 跨库 查询 复制表数据 分布式查询

方法一: 在眼下绝大部分数据库有分布式查询的须要.以下简单的介绍怎样在oracle中配置实现跨库訪问. 比方如今有2个数据库服务器,安装了2个数据库.数据库server A和B.如今来实如今A库中訪问B的数据库. 第一步.配置Aserver端的tnsnames.ora文件(TNSNAMES.ORA Network Configuration File),该文件存放的位置为: $ORACLE_HOME/network/admin/tnsnames.ora 加入例如以下行,当中DBLINK为连接名(