MySQL 命令行操作語句

在SQL SERVER 創建一個”學校”數據庫
mysql> create database school;

在學校數據庫中創建三張表:學生,課程,選課
學生
mysql> use school;
Database changed
mysql> CREATE TABLE student(sno VARCHAR(50),s_name VARCHAR(50) NOT NULL, s_age INT(30) NOT NULL,PRIMARY KEY (s_id));

課程
mysql> CREATE TABLE course (cno INT(10)NOT NULL,c_name VARCHAR(50) NOT NULL,teacher VARCHAR(50) NOT NULL,PRIMARY KEY (cno));

選課
mysql> CREATE TABLE studentcourse (sno INT(10)NOT NULL,cno VARCHAR(50) NOT NULL,PRIMARY KEY (sno,cno),grade INT(20));

分別為這三張表在主鍵上創建一個索引
學生
CREATE INDEX index_student ON student(Sno);
課程
CREATE INDEX index_Cno ON course(Cno);
選課
CREATE INDEX index_studentcourse ON studentcourse(Sno);
CREATE INDEX Cno ON studentcourse(Cno);

分別向這三張表中插入三條數據,要求選課表中出現的學號和課程號必須在學生和課程表中出現
學生
INSERT INTO student VALUE(1,'lilei',23);
INSERT INTO student VALUE(2,'hanmeimei',22);
INSERT INTO student VALUE(3,'yaoming',44);
課程
INSERT INTO course VALUE(1,'navigation','laowang');
INSERT INTO course VALUE(2,'English','teacher_chen');
INSERT INTO course VALUE(3,'CS','pan');
選課
INSERT INTO studentcourse VALUE(1,1,88);
INSERT INTO studentcourse VALUE(1,2,90);
INSERT INTO studentcourse VALUE(1,3,66);
INSERT INTO studentcourse VALUE(2,1,99);
INSERT INTO studentcourse VALUE(2,2,70);
INSERT INTO studentcourse VALUE(2,3,75);
INSERT INTO studentcourse VALUE(3,1,55);
INSERT INTO studentcourse VALUE(3,2,35);
INSERT INTO studentcourse VALUE(3,3,85);

檢索學習某一具體課程號課程的學生學號和成績
mysql> SELECT Cno,Sno,grade FROM studentcourse WHERE Cno=2;

檢索學習某一具體課程號課程的學生學號和姓名
mysql> SELECT s_name,student.sno,cno FROM student,studentcourse WHERE studentcourse.Sno=student.Sno AND studentcourse.Cno=1;

檢索學習某一具體課程名的學生學號和姓名
SELECT c_name,student.Sno,S_name FROM student,course,studentcourse WHERE student.Sno=studentcourse.Sno AND studentcourse.Cno=course.Cno AND c_name='CS';

在學生,選課和課程三張表上創建一個視圖,視圖可顯示選修某一門課程學生數.按課程名稱分組,按學生數排降序.
CREATE VIEW coursecount(cname,studentnumber) AS SELECT c_name,COUNT(Sno) AS studentnumber FROM course,studentcourse WHERE course.cno=studentcourse.cno GROUP BY c_name ORDER BY studentnumber DESC;

在學生,選課和課程三張表上創建視圖,視圖可顯示選修某一門課程學生姓名,按照姓名升序. (CS課)
mysql> CREATE VIEW course_s_name(cname,sname) AS SELECT c_name,s_name FROM course,student,studentcourse WHERE student.Sno=studentcourse.Sno AND studentcourse.Cno=course.Cno AND c_name= 'cs' ORDER BY s_name;

刪除兩個視圖
mysql> DROP VIEW coursecount;
mysql> DROP VIEW course_s_name;

從學生能表里刪除一條記錄,并查看刪除的結果
DELETE FROM student WHERE Sno=2;
SELECT * FROM student;

分別刪除三張表的索引
DROP INDEX index_Cno ON course;
DROP INDEX index_student ON student;
DROP INDEX index_studentcourse ON studentcourse;

刪除三張表格
DROP TABLE student,course,studentcourse;

刪除數據庫
DROP DATABASE school;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。