如何使用Python连接MySQL数据库

实现在Python中连接本地的MySQL数据库
并实现对数据库进行简单的查询工作
#  -*- coding:utf-8 -*-
import pymysql

# object 是所有类的父类,__类的私有属性,只有通过实列访问,不能通过类直接访问
class MySQLConnector(object):
    __host = ""
    __user = ""
    __password = ""
    __database = ""
    __charset = "utf8"
    __mySqlConn = None

    # 连接数据库  exception(异常)
    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("连接数据库异常")

    # 执行sql语句
    def execute_sql(self,sql):
        results = None
        # 取得数据库连接
        self.get_connection()
        if self.__mySqlConn is not None:
            dbCursor = None
            try:
                # 取得连接对象游标
                dbCursor = self.__mySqlConn.cursor()
                # 执行sql语句
                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

    # host: 数据库的地址,本地是localhost或者127.0.0.1,远程的话:xxx.xxx.xxx.xxx(ip地址)
    # user:连接数据库的用户名 password:连接数据库用户的密码  database:数据库名称
    def __init__(self,host,user,password,database):
        self.__host = host
        self.__user = user
        self.__password = password
        self.__database =database

#  sql 语句
def get_sql_one():
    sql = "select * from test"
    return sql

def get_sql_two():
    sql = "select sex from test "
    return sql

# 主函数
if __name__ == '__main__':
   # 初始化Mysql连接工具类
   dbConnector = MySQLConnector("localhost","root","Yangwenyi","wendb")
   # 执行第一条sql语句,并返回结果
   sql_search_one = get_sql_one()
   sqlResultsone = dbConnector.execute_sql(sql_search_one)
   print(sqlResultsone)
   # 执行第二条sql语句,并返回结果
   sql_search_two = get_sql_two()
   sqlResultstwo = dbConnector.execute_sql(sql_search_two)
   print(sqlResultstwo)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值