python通用数据库连接_python连接数据库的几种方式!

本文介绍了Python连接MySQL数据库的两种方式:MySQLdb(仅支持Python2)和PyMySQL(Python2和Python3通用)。通过Mysql类展示了如何初始化连接、执行SQL(增删改查)、提交事务及关闭连接。示例代码中,定义了一个单例模式的Mysql类,用于操作数据库。
摘要由CSDN通过智能技术生成

# -*- 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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值