对mysql中的某个数据库的表进行添加操作

import pymysql # 导入对数据库mysql操作的包


class InsertInfo:
'''数据初始化'''
    def __init__(self):
        # 数据库的链接
        self.con = pymysql.connect(host='localhost', user='root', password='mysql',
                                   database='second_hand_cars', port=3306, charset='utf8')
        # 操作对象
        self.cur = self.con.cursor()
        self.flag = 1  # 外面大循环标志位
        self.stop = 0  # 内部小循环标志位

# 菜单展示
    def show_menu(self):
        print('*'*50)
        print('1:为customer_info添加内容')
        print('2:为car_info添加内容')
        print('3:显示所有')
        print('4:退出')

# 运行,与菜单展示中的数字相对应
    def run(self):
        while self.flag == 1: # 只要flag = 1 就一直循环
            self.show_menu()
            num = int(input('请输入操作代码'))
            if num == 1:  
                self.insert_customer_info()
            elif num == 2:
                self.insert_car_info()
            elif num == 3:
                self.show_all()
            elif num == 4:
                self.exit_this()
            else:
                print('输入有误')
       '''输入对应的数字,调用对应的函数进行执行,在input中进行了强制数据类型转换,所以可以直接等于数字,而不必要添加引号,如果不转换,则需要引号,因为从键盘获取到的都是字符串类型'''

# 为其中一个表添加信息
    def insert_customer_info(self):
        while self.stop == 0:  # stop的初始值为0,只要为0就一直循环
            a_name = input('请输入用户名')
            a_password = input('请输入密码')
            a_gender = input('请输入性别')
            a_age = input('请输入年龄')
            a_active = input('请输入用户等级')
            a_tel = input('请输入用户电话号码')
            a_email = input('请输入邮箱')
            a_addrs = input('请输入地址')
        '''以上这些要与数据库中的字段相同,且最好一一对应,方便下面填写'''
            sql = 'insert into customer_info values(%s,%s,%s,%s,%s,%s,%s,%s,%s)' # 将要传入操作函数cursor()中的对数据库操作的指令
            self.cur.execute(sql, [0, a_name, a_password, a_gender, a_age, a_active, a_tel, a_email, a_addrs]) # 上面的占位符要与上面的占位符一一对应,那个0也是占位符,代表我数据库的id,这个是自增类型,所以不需要我手动写入
            self.con.commit() # 提交操作
            print('添加成功')
      '''这里判断是否退出添加信息操作,为方便起见,直接按enter键继续添加,输入任意字符退出添加操作'''
            op = input('输入任意字符返回上一层') 
            if op == '':
                self.stop = 0
            else:
                self.stop = 1

'''下同,就不做注释了'''
# 为另一个表添加信息
    def insert_car_info(self):
        while self.stop == 0:
            a_brand = input('请输入车辆品牌')
            a_series = input('请输入车辆型号')
            a_age = input('请输入车龄')
            a_model = input('请输入车型')
            a_mileage = input('请输入已行驶公里数')
            a_displacement = input('请输入排量')
            a_color = input('请输入车辆颜色')
            a_addrs = input('请输入车牌所在地')
            sql = 'insert into car_info values(%s,%s,%s,%s,%s,%s,%s,%s,%s)'
            self.cur.execute(sql, [0, a_brand, a_series, a_age, a_model, a_mileage, a_displacement, a_color, a_addrs])
            self.con.commit()
            print('添加成功')
            op = input('输入任意字符返回上一层')
            if op == '':
                self.stop = 0
            else:
                self.stop = 1

# 展示表中的所有信息
    def show_all(self):
        op = int(input('请输入操作:1展示customer_info, 2展示car_info'))
        if op == 1:
            sql = 'select * from customer_info'
            self.cur.execute(sql)  # 将指令传入操作函数cursor()的excute执行
            print(self.cur.fetchall()) # 上面参数返回的是一个数值,代表有几条信息,这里用fetchall将信息全部展示
        elif op == 2:
            sql = 'select * from car_info'
            self.cur.execute(sql)
            print(self.cur.fetchall())
        else:
            print('输入有误')

# 外面的大循环退出操作
    def exit_this(self):
        self.flag = 0

#数据库关闭操作
    def __del__(self):
        self.cur.close()
        self.con.close()


if __name__ == '__main__':
    option = InsertInfo() # 创建对象,执行操作
    option.run()

程序有点长了,然后执行的操作比较多,就不上图了,都可以执行,如果有看不懂的或者有更好的建议都可以来找我

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值