# -*- coding: utf-8 -*-

"""

-------------------------------------------------

File Name: Database.py

Author : LiSen

Date: 2018/6/26 15:51:

-------------------------------------------------

"""

'''

database

两个库:1、MySQLdb:只能python2版本用

2、PyMySQL:python2.3通用

Oracle:cx_Oracle

'''

import MySQLdb

import pymysql

import cx_Oracle

instance = {}

def singleton_mode(cls):

def incall(*args,**kwargs):

if cls not in instance:

instance[cls] = cls(*args,**kwargs)

return instance[cls]

return incall

@singleton_mode

class Mysql(object):

def __init__(self, host, user, password, db, port, charset):

self.connect = MySQLdb.Connect(

host=host,

user=user,

passwd=password,

db=db,

port=port, # 3306 3308 整数

charset=charset) # charset=utf8

self.cursor = self.connect.cursor() # 游标

def change_data(self, sql): # 修改数据

self.cursor.execute(sql)

self.connect.commit() # 提交

def search_data(self, sql): # 查找数据

self.cursor.execute(sql)

return self.cursor.fetchall() # 返回数据,以元组套元组的形式返回。

def close(self): # 关闭接口

self.cursor.close() # 在栈内存中存放,先进后出

self.connect.close() # 连接对象

if __name__ == '__main__':

db = Mysql('127.0.0.1', 'root', '123456', 'bob', 3306, charset='utf8')

sql = "insert into user_info(user,password) values('bob','123456')"

# db.change_data(sql)

sql1 = "select * from user_info"

data = db.search_data(sql1)

print data

python通用数据库连接_python连接数据库的几种方式!相关推荐

  1. python通用数据库连接_python 连接数据库pg

    extended the postgresql metric python module on ganglia 本文主要拿PostgreSQL ganglia python module 来讲一下如何 ...

  2. ADO 连接数据库的几种方式

    使用ADO在vc++数据库编程中的连接数据库的几种方式: 在使用vc++进行ADO数据库编程的过程中,常为如何建立与数据库的连接而头痛,在这里介绍几种常见的连接方式: 在vc++数据库编程中,ADO与 ...

  3. java 连接池配置_java数据库连接池配置的几种方式

    关于java数据库连接池配置的几种方式 今天遇到了关于数据源连接池配置的问题,发现有很多种方式可以配置,现总结如下,(已Mysql数据库为例) 一,Tomcat配置数据源: 方式一:在WebRoot下 ...

  4. JDBC 连接数据库的四种方式

    JDBC 连接数据库的四种方式 每博一文案 师傅说,人这一辈子总有许多遗憾,许多无可奈何. 其实有些事情不用太过执着,放下牵绊你的生活无畏执念,你会收获一个更为广阔的天地. 想开,看开,放开这六个字, ...

  5. 【JDBC篇】Java连接数据库的五种方式,及什么是URL?

    目录 URL介绍: 连接数据库的五种方式 方式一: 方式二: 方式三: 方式四: 方式五:(最终版) URL介绍: JDBC URL 用于标识一个被注册的驱动程序,驱动程序管理器通过这个 URL 选择 ...

  6. 简单介绍python连接telnet和ssh的两种方式

    本文主要介绍了python连接telnet和ssh的两种方式,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 Telnet 连接方式 #!/usr/bin/env p ...

  7. python repair修复功能_详解Python修复遥感影像条带的两种方式

    GDAL修复Landsat ETM+影像条带 Landsat7 ETM+卫星影像由于卫星传感器故障,导致此后获取的影像出现了条带.如下图所示, 影像中均匀的布满条带. 使用GDAL修复影像条带的代码如 ...

  8. Python操作Neo4j图数据库的两种方式

    Python操作Neo4j图数据库的两种方式 前言 1. 用neo4j模块执行CQL ( cypher ) 语句 2. 用py2neo模块通过操作python变量,达到操作neo4j的目的 3. 用p ...

  9. Python加载csv文件的两种方式

    本文主要讲解下Python加载csv文件的两种方式,如果知道如何处理的就不必往下看了! 下面来简单介绍下. 实例中的数据集是kaggle的Digit Recognizer的train.csv文件,数据 ...

最新文章

  1. IDEA2021.3.2拉取maven报错maven-default-http-blocker解决方法
  2. 牛客网:为什么不能将实数作为 HashMap 的 key?
  3. 过去50年最重要的统计学思想!
  4. (转) Docker EE/Docker CE简介与版本规划
  5. WebService中使用自定义类的解决方法(5种)
  6. lsb_release查看当前系统的发行版信息
  7. linux 学习教程
  8. linux宝塔面板配置可道云,使用宝塔面板配合可道云打造私有云
  9. 大屏安卓车载导航刷机包_安卓手机第三方recovery是什么意思?
  10. wxWidgets:wxMediaCtrl 示例
  11. php签名墙代码,我们是一家人(签名墙)
  12. [jQuery基础] jQuery动效
  13. Java高并发编程详解系列-线程上下文设计模式及ThreadLocal详解
  14. android iot代码设计,一个简单好用的Android Tab 设计与实现
  15. log4j 日志级别_Qt使用Log4Qt写日志
  16. cjson使用_LD3320语音识别模块:LDV7模块使用详解
  17. Ubuntu 15.04下安装Docker
  18. kali文件重命名_硬核教程,必看!「网络安全入门」四、文件上传漏洞
  19. 网易邮箱服务器设置错误,Smtp服务器错误代码(SMTP Error Codes)之——163
  20. 调和平均数、几何平均值和算术平均数

热门文章

  1. 物联网常用的组网方式浅析
  2. matlab中inf函数,matlab中voronoin()函数的用法,求高手指点
  3. prd展示html文件,prd目的.html
  4. matlab simulink_MATLAB之Simulink(二)利用switch模块将正弦信号变为方波信号
  5. 鸿蒙系统笔记本产业链,华为P40或用鸿蒙 华为产业链概念股一览
  6. Grid表格的js触发事件
  7. DHCP服务(dhcpd)
  8. 【Java并发编程】:使用synchronized获取互斥锁
  9. background-clip与background-origin
  10. Property Animator 属性动画概述与示例