1. 程式人生 > 資料庫 >mysql增刪改和學生管理sql

mysql增刪改和學生管理sql

import pymysql
# 2.建連
conn = pymysql.connect("localhost","root",'root','李森')
print(conn)
# 3.獲取遊標
cur = conn.cursor()
# 4.增
sql="insert into student_1 values(default,%s,%s,%s,%s)"
cur.execute(sql,('張三','4','男','上海'))
#刪
sql ="delete from student_1 where id = 33"
cur.execute(sql)
#改
sql = "update student_1 set name = %s where id = %s"
cur.execute(sql,('衛思敏',"20"))
# 5.提交
conn.commit()
# 6.關遊標,關連線
cur.close()
conn.close()
import pymysql

import time
def print_infos():
    print("=" * 30)
    print("歡迎使用學生管理系統")
    print("1,新增學生資訊")
    print("2,查詢學生資訊")
    print("3,刪除學生資訊")
    print("4,修改學生資訊")
    print("5.顯示學生資訊")
    print("6,退出系統")
    print("=" * 30)

# 錄學生資訊
def add_infos():
    id = input("請輸入學號")
    name = input("請輸入你的名字")
    age = input("請輸入你的年齡")
    sex = input("請輸入你的性別")
    addr = input("請輸入你的地址")
    conn = pymysql.connect(host="localhost", port=3306, user="root", passwd='root', db='李森',charset='utf8')
    cur = conn.cursor()
    sql = "insert into student_1 values(%s,%s,%s,%s,%s)"
    cur.execute(sql, (id, name,age,sex,addr))
    conn.commit()
    cur.close()
    conn.close()
    time.sleep(1.4)

# 查詢學生資訊
def find_infos():
    a = input("按學號查輸入1;按姓名查輸//入2:")
    if a == "1":
        id = input("請輸入學生ID:")
        conn = pymysql.connect('localhost', user='root', passwd='root', db='李森')
        cur = conn.cursor()
        sql = "select * from student_1 where id = %s"
        cur.execute(sql, id)
        a_1 = cur.fetchone()
        if a_1 is None:
            print("無資料資訊")
        else:
            print("ID:%d,名字:%s,年齡:%s,性別:%s,地址:%s," % (a_1[0], a_1[1], a_1[2], a_1[3], a_1[4],))
        conn.commit()
        cur.close()
        conn.close()
    elif a == "2":
        name = input("請輸入學生名字:")
        conn = pymysql.connect('localhost', user='root', passwd='root', db='李森')
        cur = conn.cursor()
        sql = "select * from student_1 where name = %s"
        cur.execute(sql, name)
        a_2 = cur.fetchone()
        if a_2 is None:
            print("無資料資訊")
        else:
            print("ID:%d,名字:%s,年齡:%s,性別:%s,地址:%s" % (a_2[0], a_2[1], a_2[2], a_2[3], a_2[4],))
        conn.commit()
        cur.close()
        conn.close()
        time.sleep(1.4)

# 刪除學生資訊
def del_infos():
    id = input("請輸入要刪除的學生學號:")
    conn = pymysql.connect('localhost', user='root', passwd='root', db='李森')
    cur = conn.cursor()
    sql = "delete from student_1 where id = %s"
    cur.execute(sql, id)
    print("ID為%s的學生資訊已經被刪除。。。" % id)
    cur.execute("select * from student_1")
    while 1:
        num = cur.fetchone()
        if num == None:
            break
        print("ID:%d,名字:%s,年齡:%s,性別:%s,地址:%s" % (num[0], num[1], num[2], num[3], num[4]))
    conn.commit()
    cur.close()
    conn.close()
    time.sleep(1.4)

# 修改學生資訊
def alter_infos():
    conn = pymysql.connect('localhost', user='root', passwd='root', db='李森')
    cur = conn.cursor()
    cur.execute("select * from student_1")
    while 1:
        num = cur.fetchone()
        if num == None:
            break
        print("ID:%d,名字:%s,年齡:%s,性別:%s,地址:%s" % (num[0], num[1], num[2], num[3], num[4]))
    id = input("請輸入要修改的學生ID:")
    print("找到了這名學生,可以修改他的資訊!")
    name = input("請輸入姓名:")
    age = input("請輸入年齡:")
    sex = input("請輸入性別:")
    addr = input("請輸入地址:")
    sql_1 = "update student_1 set name = %s where id = %s"
    cur.execute(sql_1, (name, id))
    sql_2 = "update student_1 set age = %s where id = %s"
    cur.execute(sql_2, (age, id))
    sql_3 = "update student_1 set sex = %s where id = %s"
    cur.execute(sql_3, (sex, id))
    sql_4 = "update student_1 set addr = %s where id = %s"
    cur.execute(sql_4, (addr, id))
    conn.commit()
    cur.close()
    conn.close()
    time.sleep(1.4)


# 顯示所有學生資訊
def show_infos():
    conn = pymysql.connect('localhost', user='root', passwd='root', db='李森')
    cur = conn.cursor()
    cur.execute("select * from student_1")
    while 1:
        num = cur.fetchone()
        if num == None:
            break
        print("ID:%d,名字:%s,年齡:%s,性別:%s,地址:%s" % (num[0], num[1], num[2], num[3], num[4]))
    conn.commit()
    cur.close()
    conn.close()
    time.sleep(1.4)


while True:
    print_infos()
    num = input("請選擇:")
    if num == "1":
        while 1:
            add_infos()
            aa = input("是否繼續新增?(y/n):")
            if aa == "y":
                continue
            else:
                break
    elif num == "2":
        while 1:
            find_infos()
            bb = input("是否繼續查詢?(y/n):")
            if bb == "y":
                continue
            else:
                break
    elif num == "3":
        while 1:
            del_infos()
            cc = input("是否繼續刪除?(y/n):")
            if cc == "y":
                continue
            else:
                break
    elif num == "4":
        while 1:
            alter_infos()
            dd = input("是否繼續修改其他學生資訊?(y/n):")
            if dd == "y":
                continue
            else:
                break

    elif num == "5":
        show_infos()
    elif num == "6":
        print("歡迎下次使用")
        break
    else:
        print("輸入錯誤,請重新輸入。")