学生表:Student (Sno, Sname, Ssex , Sage, Sdept)
学号,姓名,性别,年龄,所在系 Sno为主键
课程表:Course (Cno, Cname)
课程号,课程名 Cno为主键
学生选课表:SC (Sno, Cno, Score)
学号,课程号,成绩 Sno,Cno为主键
用SQL语句创建学生表student,定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是 “计算机”。
mysql8.0 [chap03]>create table stydent(
-> son int primary key,
-> sname char(30) unique,
-> ssex char(1) check (ssex in ('F','M')),
-> sage int,
-> sdept char(20) default 'IT'
-> );
Query OK, 0 rows affected (0.03 sec)
mysql8.0 [chap03]>desc student;
修改student 表中年龄(age)字段属性,数据类型由int 改变为smallint。
mysql8.0 [chap03]>alter table student modify sage smallint;
Query OK, 0 rows affected (0.03 sec)
Records: 0 Duplicates: 0 Warnings: 0
为SC表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为SC_INDEX 。
mysql8.0 [chap03]>create index sc_index on sc (sno asc,cno asc);
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql8.0 [chap03]>show index from sc;
创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩。
mysql8.0 [chap03]>insert into student values (1,'xiaoming','M',18,'english'),(2,'xiaohong','F',19,'chinese'),(3,'xiaolan','F',17,'IT');
Query OK, 3 rows affected (0.01 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql8.0 [chap03]>select * from student;
mysql8.0 [chap03]>insert into course values (1,'music'),(2,'history'),(3,'PE');
Query OK, 3 rows affected (0.01 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql8.0 [chap03]>select * from course;
mysql8.0 [chap03]>insert into sc values (1,2,80),(1,3,15),(2,1,10),(2,2,59);
Query OK, 4 rows affected (0.00 sec)
Records: 4 Duplicates: 0 Warnings: 0
mysql8.0 [chap03]>create view stu_info as select st.sname,st.ssex,co.cname,sc.sc
ore from student st,course co,sc where st.son=sc.sno and co.cno=sc.cno;
Query OK, 0 rows affected (0.01 sec)
mysql8.0 [chap03]>select * from stu_info;