mysql實際綜合案例_Mysql綜合案例

Mysql綜合案例

考核要點:創建數據表、單表查詢、多表查詢

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

表1-1student表結構

字段名數據類型主鍵外鍵非空唯一自增字段描述

stu_idINT(10)是否是是否學號

stu_nameVARCHAR(20)否否是否否姓名

sexVARCHAR(2)否否否否否性別

birthYEAR否否否否否出生年份

departmentVARCHAR(20)否否是否否院系

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

表1-2score表結構

字段名數據類型主鍵外鍵非空唯一自增字段描述

score_idINT(10)是否是是是編號

stu_idINT(10)否否是否否學號

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

gradeINT(10)否否否否否分數

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

(1)啟動MySQL服務器。

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

net start mysql

(2)登錄MySQL服務器。

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

mysql -uroot -proot

(3)創建數據庫。

創建一個名為my_db的數據庫,具體SQL語句如下:

create database my_db;

(4)切換當前數據庫。

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

use my_db;

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

創建學生表student,SQL語句如下所示:

CREATE TABLEstudent (

stu_idINT(10) PRIMARY KEY,

stu_nameVARCHAR(20)NOT NULL,

sexVARCHAR(2),

birthYEAR,

departmentVARCHAR(20),

addrVARCHAR(50)

);

上述SQL語句執行成功后,表示學生表student創建成功,這時,使用INSERT語句向表中插入數據,SQL語句如下所示:

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

(902,‘關羽‘, ‘男‘,1986,‘中文系‘, ‘山西省運城市‘),

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

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

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

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

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

mysql> select * from student;

從查詢結果可以看出,在當前的數據庫中創建了一個student表,并成功插入了6條記錄,student表的主鍵為id。

(6)創建分數表score,插入10條記錄。

首先創建分數表score,SQL語句如下所示:

CREATE TABLEscore (

score_idINT(10) PRIMARY KEYAUTO_INCREMENT ,

stu_idINT(10) NOT NULL,

c_nameVARCHAR(20) ,

gradeINT(10)

);

上述SQL語句執行成功后,表示分數表score創建成功,接下來,使用INSERT語句向score表中插入數據,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語句執行成功后,向表中插入了10條記錄,分別是學生的學號、姓名、所在學校和報考的學校名稱,這時,使用SELECT語句查看score表中的數據信息:

mysql> select * from score;

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

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

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

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

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

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

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

(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...操作符用于表示某個范圍之間的數。從查詢結果可以看出,順利得到要求的結果。

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

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

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

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

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

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

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

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

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

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

(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表中分別查詢出學生的學號,然后合并查詢結果。

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;

原文:http://www.cnblogs.com/justdoitba/p/7619921.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371755.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371755.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371755.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2012年I / O之后

從注冊到贈品&#xff0c;每年的I / O瘋狂都在不斷發展。 在今年20分鐘內被出售&#xff0c;并沒有阻止Google贈送更多的東西。 以這種速度并有望在明年發布Google Glass&#xff0c;明年注冊很可能會變得更加混亂&#xff01; 因此&#xff0c;Google&#xff0c;請停止提供免…

h5啟動原生APP總結

許久沒有寫博客了&#xff0c;最近有個H5啟動APP原生頁面的需求&#xff0c;中間遇上一些坑&#xff0c;看了些網上的實現方案&#xff0c;特意來總結下 一、需要判斷客戶端的平臺以及是否在微信瀏覽器中訪問 1、客戶端判斷 在啟動APP時&#xff0c;Android和IOS系統處理的方式…

mysql導入創建表空間_oracle創建表空間 用戶 數據庫導入和導出(轉)

已經安裝orcale 9i 和pl/sql(6.0)OracleJobSchedulerORCL、OracleOraDb10g_home1iSQL*PlusOracleOraDb10g_home1TNSListenerOracleServiceORCL第一個是oem控制臺服務進程第二個是定時器和isql*plus的服務進程第三個是監聽器的服務進程最后是數據庫服務進程1. pl/sql客戶機安裝后…

什么時候使用Apache Camel?

Apache Camel是JVM / Java環境中我最喜歡的開源框架之一。 它可以輕松集成使用多種協議和技術的不同應用程序。 本文介紹了何時使用Apache Camel以及何時使用其他替代方法。 問題&#xff1a;企業應用程序集成&#xff08;EAI&#xff09; 由于新產品和新應用&#xff0c;幾乎…

念整數

念整數&#xff08;5分&#xff09;題目內容&#xff1a; 你的程序要讀入一個整數&#xff0c;范圍是[-100000,100000]。然后&#xff0c;用漢語拼音將這個整數的每一位輸出出來。 如輸入1234&#xff0c;則輸出&#xff1a; yi er san si注意&#xff0c;每個字的拼音之間有一…

python 比較運算符放在列表中_在Python3中將運算符放在列表中

我想把操作符作為一個列表&#xff0c;然后從列表中調用一個元素作為操作符。在如果我沒有在運算符周圍加引號&#xff0c;那么列表中逗號的語法錯誤&#xff1a;File "p22.py", line 24cat [,-,*]^SyntaxError: invalid syntax如果我把引語放在周圍&#xff0c;那么…

軟工個人總結

目錄 一、個人提升二、寫下屬于自己的人月神話三、對下一屆、后來人、自己的建議四、我的團隊——Clover五、關于代碼質量六、學過軟件工程&#xff1f;七、自我介紹八、個性發揮一、個人提升 1. 開學初的目標 希望通過團隊合作領會團隊合作的內在精神&#xff0c;希望在分工完…

Tomcat上下文JUnit @Rule

創建測試上下文的JUnit Rule的初稿。 這可以用Spring上下文規則可用于 這個帖子 創建集成測試一個完整的Spring上下文。 import org.apache.commons.dbcp.BasicDataSource; import org.apache.log4j.Logger; import org.junit.rules.TestRule; import org.junit.runner.Descrip…

排序算法之(7)——堆排序

【堆排序的思路】 堆排序主要是利用了堆的性質。對于大頂堆&#xff1a;堆中的每一個節點的值都不小于它的孩子節點的值&#xff0c;具體可參考我的還有一篇博客http://blog.csdn.net/adminabcd/article/details/46880591&#xff0c;那么大頂堆的堆頂元素就是當前堆中全部元素…

HTML基礎:基本標簽簡介(3)

html中有很多標簽&#xff0c;下面介紹最基本的幾個標簽。 1、meta 是head標簽中的一個輔助性標簽。 有2個重要屬性&#xff1a; &#xff08;1&#xff09;name 可以優化頁面被搜索到的可能性。name中可以指定屬性&#xff0c;content是屬性值。 <html><head><…

java 字符碼_Java字符編碼

編碼原理介紹(中文編碼雜談)&#xff1a;int -> byte可以直接使用強制類型轉換: byte b (byte) aInt;這個操作是直接截取int中最低一個字節&#xff0c;如果int大于255&#xff0c;則值就會變得面目全非了byte -> int這里有兩種情況&#xff0c;一種是要求保持值不變&am…

重新登錄:重新登錄

嗨&#xff0c;我再次回到日志中來&#xff0c;這是任何應用程序設計和開發的固有部分。 我是堅強的基礎知識的忠實擁護者&#xff0c;在我的拙見中&#xff0c;日志記錄是任何企業級應用程序中經常被忽略但基本的關鍵要素之一。 我已經寫在此之前這里 。 為了理解當前文章&…

eclipse 下使用git clone

方法一&#xff1a;eclipse安裝好git插件后&#xff0c;直接import-git-project from git- clone url-輸入github的網址等就可以了方法二&#xff1a;使用git軟件&#xff0c;到指定的目錄&#xff0c;右擊git bash here&#xff0c;git clone 加帶有網址的文件.git,如&#xf…

linux -unrar解壓縮

解壓縮命令unrar的使用&#xff1a; $unrar --help用法: unrar <command>-<switch 1> -<switchN> <archive><files...><listfiles...><path_to_extract\><命令>e 解壓文件到當前目錄l[t,b] 列出壓縮文檔信…

終極JPA查詢和技巧列表–第3部分

在閱讀第三部分之前&#xff0c;請記住本系列的第一部分和第二部分 JPA&#xff1a;通過查詢創建對象 JPA允許我們在查詢內創建對象&#xff0c;并帶有所需的值&#xff1a; package com.model;public class PersonDogAmountReport {private int dogAmount;private Person pe…

分治1--二分查找

分治1--二分查找 一、心得 二、題目和分析 三、代碼和結果 1 #include <iostream>2 using namespace std;3 int a[10]{1,2,4,5,7,8,9,10,13,20};4 5 6 //非遞歸 7 int find(int i){8 int l0,r9;9 int mid(lr)/2; 10 while(l<r){ 11 mid(lr)/2; 12…

隱式意圖啟動一個Activity

隱式意圖是通過指定一組動作或者屬性實現&#xff0c;主要用于跨應用使用。 1.創建一個意圖對象 Intent intent new Intent();2.設置意圖過濾器 intent.setAction("android.intent.action.testActivity"); //對應于action intent.addCategory("android.intent.…

Spring自定義命名空間

Spring自定義命名空間提供了一種很好的方式來簡化用于描述Spring應用程序上下文的bean定義的xml文件。 這是一個相當古老的概念&#xff0c;最初是在Spring 2.0中引入的&#xff0c;但值得不時地進行審查。 考慮一種情況&#xff0c;必須為沒有自定義名稱空間的Spring MVC應用程…

java二叉樹代碼_JAVA語言實現二叉樹生成的代碼教程

本文主要向大家介紹了JAVA語言實現二叉樹生成的代碼教程&#xff0c;通過具體的內容向大家展示&#xff0c;希望對大家學習JAVA語言有所幫助。給定某二叉樹三序遍歷中的兩個&#xff0c;我們即可以通過生成該二叉樹&#xff0c;并遍歷的方法&#xff0c;求出剩下的一序&#xf…

一個回到頂部的錨點

一般網站的右下角都會有一個回到頂部的錨點&#xff0c;但是在沒有學bootstrap的時候&#xff0c;我還是會想著用定位來做這個東西&#xff0c;但是現在用bootstrap來做的&#xff0c;所以將它記錄下來。 <!DOCTYPE html><html> <head><title>附加導航…