建立学生选课表 mysql 语句_MySQL常用SQL语句(Python实现学生、课程、选课表增删改查)...

以基本的学生选课为例,建立选课数据库,学生、班级、选课信息三张表,并分别对表进行插删改操作:import MySQLdb

try:

conn = MySQLdb.connect(host = ‘localhost‘, user = ‘root‘, passwd = ‘root‘, db = ‘xuanke‘, port = 3306)

cur = conn.cursor()

cur.execute("CREATE DATABASE xuanke")

cur.execute("CREATE TABLE Student (Sno VARCHAR(9) PRIMARY KEY, Sname VARCHAR(20) UNIQUE, Ssex VARCHAR(2), Sage SMALLINT, Sdept VARCHAR(20))")

cur.execute("CREATE TABLE Course (Cno VARCHAR(4) PRIMARY KEY, Cname VARCHAR(40), Cpno VARCHAR(4), Ccredit SMALLINT, FOREIGN KEY (Cpno) REFERENCES Course(Cno))")

cur.execute("CREATE TABLE SC (Sno VARCHAR(9), Cno VARCHAR(4), Grade SMALLINT, PRIMARY KEY (Sno, Cno), FOREIGN KEY (Sno) REFERENCES Student(Sno), FOREIGN KEY (Cno) REFERENCES Course(Cno))")

cur.execute("INSERT INTO Student VALUES (‘200215121‘, ‘Stephen Zhou‘, ‘M‘, ‘20‘, ‘CS‘)")

cur.execute("INSERT INTO Student VALUES (‘200215122‘, ‘Stan Qian‘, ‘M‘, ‘23‘, ‘CS‘)")

cur.execute("INSERT INTO Student VALUES (‘200215123‘, ‘Linda Fan‘, ‘F‘, ‘21‘, ‘MA‘)")

cur.execute("INSERT INTO Student VALUES (‘200215125‘, ‘Zac Gu‘, ‘M‘, ‘26‘, ‘IS‘)")

cur.execute("INSERT INTO Course VALUES (‘2‘, ‘Math‘, Null, ‘2‘)")

cur.execute("INSERT INTO Course VALUES (‘6‘, ‘Data Processing‘, Null, ‘2‘)")

cur.execute("INSERT INTO Course VALUES (‘7‘, ‘PASCAL‘, ‘6‘, ‘4‘)")

cur.execute("INSERT INTO Course VALUES (‘5‘, ‘Data Structure‘, ‘7‘, ‘4‘)")

cur.execute("INSERT INTO Course VALUES (‘1‘, ‘Database‘, ‘5‘, ‘4‘)")

cur.execute("INSERT INTO Course VALUES (‘3‘, ‘Information System‘, ‘1‘, ‘4‘)")

cur.execute("INSERT INTO Course VALUES (‘4‘, ‘Operating System‘, ‘6‘, ‘3‘)")

cur.execute("INSERT INTO SC VALUES(‘200215121‘, ‘1‘, ‘92‘)")

cur.execute("INSERT INTO SC VALUES(‘200215121‘, ‘2‘, ‘85‘)")

cur.execute("INSERT INTO SC VALUES(‘200215121‘, ‘3‘, ‘88‘)")

cur.execute("INSERT INTO SC VALUES(‘200215122‘, ‘2‘, ‘90‘)")

cur.execute("INSERT INTO SC VALUES(‘200215122‘, ‘3‘, ‘80‘)")

cur.execute("INSERT INTO Student VALUES(‘200215128‘, ‘Cuan Qu‘, ‘M‘, ‘22‘, ‘IS‘)")

cur.execute("UPDATE Student SET Sage = ‘23‘ WHERE Sno = ‘200215128‘")

cur.execute("UPDATE Student SET Sage = Sage + 7")

cur.execute("DELETE FROM Student WHERE Sno = ‘200215128‘")

cur.close()

conn.commit()

conn.close()

except MySQLdb.Error, e:

print ‘Mysql error msg: ‘, e

显示数据库:

dad74abe3ab5fe8f1811b0755f894588.png

显示所建表:

1b376c8a6250ac20b1395afea0beec01.png

显示学生表:

8229f33ebc5057292f0bd8f36e959a52.png

显示课程表:

ada287a5936bc44dab48fc3b1066975c.png

显示选课信息表:

fe80b935b2ac51f520685ceb541f43b7.png

注:以上python程序中插入操作需要一步步运行,特别是课程表中‘Cpno’为先选课程,其为课程表外键并与Course.Cno参照,必须按顺序依次插入。

原文:http://zhoufwind.blog.51cto.com/1029821/1435026

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值