pycharm 连接mysql;pymysql 查询 新增数据库中某表数据

 

 

 

#引入相关的库
import pymysql

mysql_host = "localhost"
mysql_port = 3306
mysql_db = "db001"
mysql_user = "root"
mysql_passwd = "111111"
try:
    #连接操作:编码格式的指定,默认返回数据类型的指定
    conn = pymysql.Connect(host=mysql_host,
                           user=mysql_user,
                           password=mysql_passwd,
                           db=mysql_db,
                           port=mysql_port,
                           charset="utf8",
                           )

    #创建游标
    cur = conn.cursor()

    #sql语句——查询数据
    sql_select = "select * from sub"
    #执行sql语句

    cur.execute(sql_select)
    result=cur.fetchall()
    print(result)
except:
    print('发生异常')
    conn.rollback()


#关闭连接、关闭游标
cur.close()
conn.close()
# 返回结果
((1, '123@126.com', 1, 'trbxpo'), (3, '789@126.com', 1, 'jixdami'), (4, '100@126.com', 0, 'qwwwrty'))

 封装一个sql 查询和新增

import pymysql
#引入相关的库
import pymysql


class Mysql:
    def __init__(self,
                 host= "localhost",
                 user= "root",
                 pwd= "111111",
                 db= "db001"):
        self.host=host
        self.user=user
        self.pwd=pwd
        self.db=db
    def getConnect(self):
        '''
        得到连接信息
        :return: conn.cursor()  连接的游标
        '''
        if not self.db:
            raise (NameError,"没有设置数据库信息") # 异常提醒
            # 连接操作:编码格式的指定,默认返回数据类型的指定
        self.conn = pymysql.connect(host=self.host,
                               user=self.user,
                               password=self.pwd,
                               database=self.db,
                               charset="utf8",
                               )
        # 创建游标
        cur = self.conn.cursor()
        if not cur:
            raise (NameError,"数据库连接失败")
        else:
            # print("数据库连接成功“)
            return cur
    def query(self,sql):
        '''
        执行查询语句
        返回 元祖
        :param sql_select:
        :return:
        '''
        cur=self.getConnect()
        cur.execute(sql) # 执行语句
        result = cur.fetchall() #获得结果
        # 查询完毕关闭连接
        self.conn.close()
        return result
    def noQuery(self,sql):
        '''
        执行非查询语句  增删改
        再调用查询方法
        返回 结果
        :param sql
        :return:
        '''
        cur=self.getConnect()
        cur.execute(sql) # 执行语句
        self.conn.commit()# 修改需要提交
        # 查询完毕关闭连接
        self.conn.close()
if __name__ == '__main__':
    # sql语句——查询数据
    sql1 = "INSERT INTO `db001`.`sub` (`id`, `email`, `status`, `code`) " \
          "VALUES (7, '7@126.com', 1,'ooo');"
    sql ="select  * from sub"
    mysql=Mysql()
    res_insert=mysql.noQuery(sql1)
    res_select=mysql.query(sql)
    print(res_select)
#返回结果
((1, '123@126.com', 1, 'trbxpo'), (3, '789@126.com', 1, 'jixdami'), (4, '100@126.com', 0, 'qwwwrty'), (5, '5@126.com', 1, 'rrr'), (6, '6@126.com', 0, 'kkk'), (7, '7@126.com', 1, 'ooo'))

 

posted @ 2023-08-08 20:00  胖豆芽  阅读(115)  评论(0编辑  收藏  举报