实现在Python中连接本地的MySQL数据库
并实现对数据库进行简单的查询工作
import pymysql
class MySQLConnector(object):
__host = ""
__user = ""
__password = ""
__database = ""
__charset = "utf8"
__mySqlConn = None
def get_connection(self):
try:
self.__mySqlConn = pymysql.connect(
host = self.__host,
user = self.__user,
password = self.__password,
database = self.__database,
charset = self.__charset
)
print("数据库连接成功")
except:
print("连接数据库异常")
def execute_sql(self,sql):
results = None
self.get_connection()
if self.__mySqlConn is not None:
dbCursor = None
try:
dbCursor = self.__mySqlConn.cursor()
dbCursor.execute(sql)
results = dbCursor.fetchall()
print("sql语句执行完毕")
except:
print("执行sql语句异常")
finally:
if dbCursor is not None:
try:
dbCursor.close()
print("游标关闭成功")
except:
print("游标关闭异常")
try:
self.close_conn()
print("数据库连接已关闭")
except:
print("数据库连接关闭异常")
return results
def close_conn(self):
if self.__mySqlConn is not None:
self.__mySqlConn.close()
else:
print("未取得mysql连接,不需要关闭")
def get_host(self):
return self.__host
def get_password(self):
return self.__password
def get_user(self):
return self.__user
def get_database(self):
return self.__database
def __init__(self,host,user,password,database):
self.__host = host
self.__user = user
self.__password = password
self.__database =database
def get_sql_one():
sql = "select * from test"
return sql
def get_sql_two():
sql = "select sex from test "
return sql
if __name__ == '__main__':
dbConnector = MySQLConnector("localhost","root","Yangwenyi","wendb")
sql_search_one = get_sql_one()
sqlResultsone = dbConnector.execute_sql(sql_search_one)
print(sqlResultsone)
sql_search_two = get_sql_two()
sqlResultstwo = dbConnector.execute_sql(sql_search_two)
print(sqlResultstwo)