MySQL
MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
代码实现MySQL操作
代码实现了运用连接池来操作MySQL。
需要MySQL库,Pymssql库和DBUtils库支持。
import os, sys, string
import MySQLdb
import pymysql
import threading
from DBUtils.PooledDB import PooledDB,SharedDBConnection
class MySQLHelper(object):
def __init__(self,user,passwd,host,db,port):
# user,password,host,db,port
self.user,self.password,self.host,self.db,self.port = user,passwd,host,db,port
self.pool = PooledDB(pymysql,host = self.host,user = self.user,passwd = self.password,db = self.db,port = self.port)
def __del__( self ):
pass
def create_conn_cursor(self):
conn = self.pool.connection()
#cursor = conn.cursor(pymysql.cursors.DictCursor) # 此功能开启返回数据为字典类型
cursor = conn.cursor()
return conn,cursor
def close(self,cursor,conn):
cursor.close()
conn.close()
def mysql_execute(self,sql):
conn,cursor = self.create_conn_cursor()
operation = False
try:
cursor.execute(sql)
conn.commit()
operation = True
except:
conn.rollback()
finally:
self.close(conn,cursor)
return operation
def insert_data(self,table_name,label,value):
#sql = "insert into %s(name, value) values ('%s', %d)" % (table_name,v_name, v_value)
sql = "insert into %s(%s) values (%s)" % (table_name,cmd_label,cmd_value)
operation = self.mysql_operate(sql)
return operation