學生表:Student (Sno, Sname, Ssex , Sage, Sdept)
學號,姓名,性別,年齡,所在系 Sno為主鍵
students | CREATE TABLE `students` (
`Sno` int NOT NULL,
`Sname` char(30) DEFAULT NULL,
`Ssex` char(10) DEFAULT NULL,
`Sage` int DEFAULT NULL,
`Sdept` char(20) DEFAULT '計算機',
PRIMARY KEY (`Sno`),
UNIQUE KEY `Sname` (`Sname`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
課程表:Course (Cno, Cname,)
課程號,課程名 Cno為主鍵
CREATE TABLE `course` (
`Cno` int NOT NULL,
`Cname` char(20) DEFAULT NULL,
PRIMARY KEY (`Cno`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
學生選課表:SC (Sno, Cno, Score)
學號,課程號,成績 Sno,Cno為主鍵
CREATE TABLE `sc` (
`Sno` int DEFAULT NULL,
`Cno` int NOT NULL,
`Score` char(10) DEFAULT NULL,
PRIMARY KEY (`Cno`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
1.用SQL語句建立學生表student,定義主鍵,姓名不能重名,性別只能輸入男或女,所在系的預設值是 “計算機”。
`Sdept` char(20) DEFAULT '計算機', -- 預設計算機
PRIMARY KEY (`Sno`),-- 主鍵
UNIQUE KEY `Sname` (`Sname`),-- 不許重複
2.修改student 表中年齡(age)欄位屬性,資料型別由int 改變為smallint。
alter table students modify Sage smallint;
3.為SC表建立按學號(sno)和課程號(cno)組合的升序的主鍵索引,索引名為SC_INDEX 。
create index SC_INDEX on SC(Sno,Cno asc);
4.建立一檢視 stu_info,查詢全體學生的姓名,性別,課程名,成績。
create view stu_info
as select Sname,Ssex,Cname,Score from students,Course,SC
where students.Sno=SC.Sno and SC.Cno=Course.Cno;