import pymysql # 导入数据库模块 # 将数据库相关内容进行封装: class Db_utils(): def __init__(self, host, database, user, password, port): self.db = pymysql.connect(host=host, database=database, user=user, password=password, port=port) self.cursor = self.db.cursor() # 封装查询 def sql_select(self, sql): self.cursor.execute(sql) # 执行sql语句 ''' fetchone()函数它的返回值是单个的元组,也就是一行记录,如果没有结果,那就会返回null 其次是fetchall()函数,它的返回值是多个元组,即返回多个行记录,如果没有结果,返回的是() ''' all = self.cursor.fetchall() # 用变量名all来接收游标返回的所有内容 return all # 封装新增 def sql_add(self, sql): ad = self.cursor.execute(sql) # 执行sql语句, 用变量ad来承接执行语句,返回受影响的行数,比如影响0行,返回0 self.db.commit() # 确认 return ad # 封装修改 def sql_update(self, sql): up = self.cursor.execute(sql) # 执行sql语句, 用变量up来承接执行语句,返回受影响的行数,比如影响0行,返回0 self.db.commit() # 确认 return up # 封装删除 def sql_delete(self, sql): de = self.cursor.execute(sql) # 执行sql语句, 用变量de来承接执行语句,返回受影响的行数,比如影响0行,返回0 self.db.commit() # 确认 return de if __name__ == '__main__': a = Db_utils(host='localhost', # ip地址 database='demo1', # 帐套名 user='root', # 数据库账号 password='123456', # 密码 port=3306 # 端口号 ) print(a.sql_select('select * from student0')) # 查询表 print(a.sql_add('insert into student0(id,name,class) value (13,2,3)')) # 新增一条记录 print(a.sql_add('insert into student0(id,name,class) value (15,2,3),(16,2,3)')) # 新增多条记录 print(a.sql_update('update student1 set name = "小华" where id ="2" ')) # 修改表数据 print(a.sql_delete('delete from student0 where id = 14')) # 删除一条记录 print(a.sql_delete('delete from student0 where id in (14,15)')) # 删除多条记录