学习笔记30Python基础综合练习
Posted SAP剑客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习笔记30Python基础综合练习相关的知识,希望对你有一定的参考价值。
Python基础综合练习
【综合习题】
设计一个mysql数据库操作的类,可以实现数据库的各种操作(增删改查)。
创建类源代码:
# 创建MySQL数据库操作的类
class Mysql_opeating:
# 初始化方法:当对象被实例化的时候,自动创建与数据库的连接
def __init__(self,host,user,password,database,charset,port = 3306):
import pymysql
# 用Python 连接数据库
self.connect = pymysql.Connect(host = host, #"127.0.0.1",
port = port, #3306,
user = user, #"mao",
password = password, #"123456",
database = database, #"pythontest",
charset = charset) #"utf8")
# 创建一个光标
self.cursor = self.connect.cursor()
print(self.cursor)
def create(self,table,*args):
"""创建数据库表
table:表名
*args:字段及数据类型
"""
columns = ','.join(args)
sql = "create table {} ( {} )".format(table,columns)
print(sql)
self.cursor.execute(sql)
return '创建Table:'+table+'成功'
def insert(self,table,data):
"""插入数据
table:表名
data:多条数据(二维表格式)
"""
# 计算data中有几列:%s的数量
n = len(data[0])
# 拼接%s:列表生成式
s = ','.join(["%s" for i in range(n)])
self.cursor.executemany("insert into {} values({})".format(table,s),data)
# 提交
self.connect.commit()
def select(self,col,table,condition=None):
"""查询数据
col:列名
table:表名
condition:查询条件,默认无条件
"""
sql = 'select {} from {}'.format(col,table)
# 若condition不等于None
if condition:
sql += ' where ' + condition
print(sql)
# 执行查询语句
self.cursor.execute(sql)
# 提取查询结果
self.data = self.cursor.fetchall()
return self.data
def delete(self,table,condition=None):
"""删除数据
table:表名
condition:查询条件,默认无条件
"""
sql = 'delete from ' + table
if condition:
sql += ' where ' + condition
print(sql)
# 执行查询语句
self.cursor.execute(sql)
# 提交
self.connect.commit()
return '删除成功'
def update(self,table,key,value,condition=None):
"""更新数据
table:表名
key:列名
value:值
condition:查询条件,默认无条件
"""
sql = "update {} set {} = '{}' where {}".format(table,key,value,condition)
# 执行查询语句
self.cursor.execute(sql)
# 提交
self.connect.commit()
return '更新成功'
测试:
创建实例化对象
创建数据库表
批量插入表数据
查询表数据
删除指定数据
更新指定数据
以上是关于学习笔记30Python基础综合练习的主要内容,如果未能解决你的问题,请参考以下文章