日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql实际综合案例_Mysql综合案例

發(fā)布時間:2024/9/30 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql实际综合案例_Mysql综合案例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Mysql綜合案例

考核要點:創(chuàng)建數(shù)據(jù)表、單表查詢、多表查詢

已知,有一個學生表student和一個分數(shù)表score,請按要求對這兩個表進行操作。student表和score分數(shù)表的表結(jié)構(gòu)分別如表1-1和表1-2所示。

表1-1student表結(jié)構(gòu)

字段名數(shù)據(jù)類型主鍵外鍵非空唯一自增字段描述

stu_idINT(10)是否是是否學號

stu_nameVARCHAR(20)否否是否否姓名

sexVARCHAR(2)否否否否否性別

birthYEAR否否否否否出生年份

departmentVARCHAR(20)否否是否否院系

addrVARCHAR(50)否否否否否家庭住址

表1-2score表結(jié)構(gòu)

字段名數(shù)據(jù)類型主鍵外鍵非空唯一自增字段描述

score_idINT(10)是否是是是編號

stu_idINT(10)否否是否否學號

c_nameVARCHAR(20)否否否否否課程名

gradeINT(10)否否否否否分數(shù)

表1-1和表1-2中分別對student表和score表中字段的數(shù)據(jù)類型、主鍵、外鍵、非空、唯一約束、自增和字段描述做了說明,其中這兩個表中都有stu_id字段,用于表示學號,該字段使student表和score表實現(xiàn)了關(guān)聯(lián)。

(1)啟動MySQL服務(wù)器。

如果MySQL服務(wù)器是未啟動的狀態(tài),可以在cmd窗口中,通過命令來啟動服務(wù)器,具體命令如下所示:

net start mysql

(2)登錄MySQL服務(wù)器。

在cmd窗口中登錄MySQL服務(wù)器,用戶名為root,密碼為root,具體命令如下所示:

mysql -uroot -proot

(3)創(chuàng)建數(shù)據(jù)庫。

創(chuàng)建一個名為my_db的數(shù)據(jù)庫,具體SQL語句如下:

create database my_db;

(4)切換當前數(shù)據(jù)庫。

將名為my_db的數(shù)據(jù)庫切換為當前數(shù)據(jù)庫,具體SQL語句如下:

use my_db;

(5)創(chuàng)建學生表student,插入6條記錄。

創(chuàng)建學生表student,SQL語句如下所示:

CREATE TABLEstudent (

stu_idINT(10) PRIMARY KEY,

stu_nameVARCHAR(20)NOT NULL,

sexVARCHAR(2),

birthYEAR,

departmentVARCHAR(20),

addrVARCHAR(50)

);

上述SQL語句執(zhí)行成功后,表示學生表student創(chuàng)建成功,這時,使用INSERT語句向表中插入數(shù)據(jù),SQL語句如下所示:

INSERT INTO student VALUES(901,'張飛', '男',1985,'計算機系', '河北省涿州市'),

(902,'關(guān)羽', '男',1986,'中文系', '山西省運城市'),

(903,'貂蟬', '女',1990,'中文系', '山西省忻州縣'),

(904,'劉備', '男',1990,'英語系', '河北省涿州市'),

(905,'小喬', '女',1991,'英語系', '安徽省潛山市'),

(906,'趙云', '男',1988,'計算機系', '河北省正定市');

上述INSERT語句執(zhí)行成功后,向表中插入了6條記錄,分別是學生的學號、姓名、性別、出生年份、院系和出生地址,這時,使用SELECT語句查看stu表中的數(shù)據(jù)信息

mysql> select * from student;

從查詢結(jié)果可以看出,在當前的數(shù)據(jù)庫中創(chuàng)建了一個student表,并成功插入了6條記錄,student表的主鍵為id。

(6)創(chuàng)建分數(shù)表score,插入10條記錄。

首先創(chuàng)建分數(shù)表score,SQL語句如下所示:

CREATE TABLEscore (

score_idINT(10) PRIMARY KEYAUTO_INCREMENT ,

stu_idINT(10) NOT NULL,

c_nameVARCHAR(20) ,

gradeINT(10)

);

上述SQL語句執(zhí)行成功后,表示分數(shù)表score創(chuàng)建成功,接下來,使用INSERT語句向score表中插入數(shù)據(jù),SQL語句如下所示:

INSERT INTO score(stu_id,c_name,grade) VALUES(901, '計算機',98),

(901, '英語', 80),(902, '計算機',65),(902, '中文',88),

(903, '中文',95),(904, '計算機',70),(904, '英語',92),

(905, '英語',94),(906, '計算機',90),(906, '英語',85);

上述SQL語句執(zhí)行成功后,向表中插入了10條記錄,分別是學生的學號、姓名、所在學校和報考的學校名稱,這時,使用SELECT語句查看score表中的數(shù)據(jù)信息:

mysql> select * from score;

從查詢結(jié)果可以看出,score表創(chuàng)建成功,同時向表中插入了10條記錄,score表的主鍵為score_id。

(7)從student表中查詢計算機系和英語系學生的信息。

該操作屬于單表查詢操作,SQL語句如下所示:該操作屬于單表查詢操作,SQL語句如下所示:

mysql> SELECT * FROMstudent-> WHERE department IN ('計算機系','英語系');

上述SQL語句執(zhí)行成功后,順利查詢出了計算機系和英語系的學生的信息,上面的SQL語句使用了in操作符,針對本操作其實還有另外一種查詢方式,SQL語句如下所示:

mysql> SELECT * FROMstudent-> WHERE department='計算機系' OR department='英語系';

從查詢結(jié)果可以看出,使用or操作符也得到了正確的查詢結(jié)果。

(8)從student表中查詢年齡25~28歲的學生信息。

該操作屬于單表查詢操作,SQL語句如下所示:

mysql> SELECTstu_id,stu_name,sex,-> 2016-birth ASage,department,addr-> FROMstudent-> WHERE 2016-birth BETWEEN 25 AND 28;

上述SQL語句中,2016-birth表示當前年份減去學生出生年份,得到的就是學生的年齡,并使用as操作符為列取別名為age,BETWEEN... AND...操作符用于表示某個范圍之間的數(shù)。從查詢結(jié)果可以看出,順利得到要求的結(jié)果。

針對本操作也可以不使用BETWEEN... AND...操作符,改為使用關(guān)系運算符來對年齡范圍進行限制,SQL語句如下所示:

mysql> SELECTstu_id,stu_name,sex,-> 2016-birth ASage,department,addr-> FROMstudent-> WHERE 2016-birth>=25 AND 2016-birth<=28;

(9)在student表中統(tǒng)計每個院系各有幾個學生。

該操作屬于單表查詢操作,使用GROUP BY 分組查詢,通過院系department來分組, SQL語句如下所示:

mysql> SELECT department AS "院系", COUNT(id) AS"人數(shù)"-> FROMstudent-> GROUP BY department;

從上述查詢結(jié)果可以看出,每個院系的學生均為2個人。

(10)查詢每個院系學生中的最高分。

該操作屬于多表查詢操作,SQL語句如下所示:

mysql> SELECT MAX(grade),department-> FROMscore-> LEFT JOIN student ON score.stu_id =student.st-> GROUP BY department;

上述SQL語句執(zhí)行成功后,順利查詢出了每個院系學生的最高分。

(11)查詢學生貂蟬的考試科目(c_name)和考試成績(grade)

該操作屬于多表查詢操作,SQL語句如下所示:

mysql> SELECTstu_name,c_name,grade-> FROMscore-> LEFT JOIN student ON score.stu_id =student.stu_id-> WHERE stu_name= "貂蟬";

(12)查詢計算機成績低于95的學生信息。

SQL語句如下:

mysql> SELECTstu_name,sex,birth,addr,c_name,grade-> FROMstudent-> LEFT JOIN score ON score.stu_id =student.stu_id-> WHERE c_name = "計算機" AND grade<95;

(13)查詢同時參加計算機和英語考試的學生的信息。

SQL語句如下:

mysql> SELECT *

-> FROMstudent-> WHERE stu_id =ANY(-> SELECTstu_id-> FROMscore-> WHERE stu_id IN (SELECTstu_id-> FROM score WHERE c_name= '計算機')-> AND c_name= '英語' );

(14)從student表和score表中分別查詢出學生的學號,然后合并查詢結(jié)果。

SQL語句如下:

mysql> SELECT stu_id FROMstudent-> UNION

-> SELECT stu_id FROM score;

(15)查詢姓張或者姓王的同學的個人信息、院系和考試科目及成績。

SQL語句如下:

mysql> SELECTstudent.stu_id, stu_name,sex,birth,->addr, c_name,grade-> FROMstudent, score-> WHERE (stu_name LIKE '張%' OR stu_name LIKE '王%')-> AND (student.stu_id=score.stu_id) ;

(16)查詢山西省的學生的姓名、出生年份、院系、考試科目及成績。

SQL語句如下:

mysql> SELECTstu_name,birth,department, c_name,grade-> FROMstudent, score-> WHERE addr LIKE '山西%'

-> AND student.stu_id=score.stu_id;

總結(jié)

以上是生活随笔為你收集整理的mysql实际综合案例_Mysql综合案例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。