Python连接数据库 增加删除修改查询和传参

再Pycharm里打开查询控制台创建一个表

CREATE TABLE MESSAGE
(
id char(5) primary key,
英雄 CHAR(10),
性别 char(2),
角色 CHAR(20),
战斗力 INT
); 
db = pymssql.connect('主机', '用户名', '密码', '数据库')  # 创建游标
cur = db.cursor()
id=str(input('请输入学生学号:'))
英雄=str(input('请输入英雄名称:'))
角色=str(input('请输入角色名称:'))
性别=str(input('请输入性别:'))
战斗力=int(input('请输入战斗力:'))
while True:
    sql = "insert into MESSAGE (id,英雄,性别,角色,战斗力) \
                values ('%s','%s','%s','%s',%d);" % (id,英雄,性别,角色,战斗力)
    print(sql)
    try:
        #  列表中元素全是字符串,执行语句,自动识别类型
        cur.execute(sql)
        db.commit()
        break
    except Exception as e:
        db.rollback()  # 失败回滚到操作之前的状态
        print("Faild:", e)
        break
  •  插入的SQL语句为
    sql = "insert into MESSAGE (id,英雄,性别,角色,战斗力) \
                values ('%s','%s','%s','%s',%d);" % (id,英雄,性别,角色,战斗力)
  • 删除的SQL语句为
    sql="delete from MESSAGE WHERE 英雄='%s'"%(英雄)
  • 更新的SQL语句为 
    X1=str(input("请输入将要修改英雄的名字"))
    X2=str(input("请输入新英雄的名字"))
    sql="update MESSAGE set 英雄 = '%s' where 英雄='%s'"%(X2,X1)
  •  查询的SQL语句为
    db = pymssql.connect('主机', '用户名', '密码', '数据库')  # 创建游标
            cur = db.cursor()
            sql="SELECT * FROM MESSAGE WHERE 战斗力>2000"
            try:
                #  列表中元素全是字符串,执行语句,自动识别类型
                cur.execute(sql)
            except Exception as e:
                db.rollback()  # 失败回滚到操作之前的状态
                print("Faild:", e)
            for (id,英雄, 性别,角色,战斗力) in cur.fetchall():
                print("id:"+str(id)+ "yx:" + 英雄 + ",sex:" + 性别+"character:"+角色+"abaity:"+str(战斗力))
            cur.close()
            db.close()

    其中fetchall查找所有的数据,形成一个列表然后打印出来,也可以直接用print(cur.fetcharll())

你可能感兴趣的:(sql,数据库,database)