MySQL 之 擴充例子

來源:互聯網
上載者:User

標籤:scores   tin   關鍵字   inner   修改表   自動   update   from   date   

擴充例子

插入一條記錄

INSERT INTO 表名 [(欄位1,…,欄位n)] VALUES (值1,…,值n)

插入查詢的結果

INSERT INTO 表名 (欄位1,…,欄位n) VALUES 子查詢

例如:INSERT  INTO  Scores  VALUES ("990301", "大學電腦基礎", 98)

DELETE FROM 表 [WHERE 條件]

注意: WHERE子句預設,則刪除表中所有的記錄(表還在)

例如::DELETE FROM Scores WHERE 成績<70

UPDATE 表 SET 欄位1=運算式1, … ,欄位n=運算式n [WHERE 條件]

注意: WHERE子句預設,則修改表中所有的記錄

例 將表Students中學生王濤的姓名改為王寶球

UPDATE  Students  SET  姓名=“王寶球”  WHERE  姓名="王濤"

例 將表Students中助學金低於200的學生加30元

UPDATE  Students  SET  助學金=助學金+30  WHERE  助學金<200

UPDATE語句一次只能對一個表進行修改

 

選擇欄位:

例7.10  查詢所有的專業,查詢結果中不出現重複的記錄

SELECT DISTINCT 專業 FROM Students;

例7.11  使用合計函數,查詢學生人數、最低助學金、最高助學金和平均助學金

SELECT    Count(*) AS 人數,        Min(助學金) AS 最低助學金,    Max(助學金) AS 最高助學金,   Avg(助學金) AS 平均助學金

FROM Students

例7.12 查詢學生的姓名和年齡

SELECT 姓名, Year(Date())-Year(出生年月) AS 年齡 FROM Students

選擇記錄:

例7.13  顯示所有非電腦專業學生的學號、姓名和年齡

SELECT 學號, 姓名, Year(Date())-Year(出生年月)  AS 年齡 FROM Students WHERE 專業<>"電腦"

例7.14 查詢1981年(包括1981年)以前出生的女生姓名和出生年月。

SELECT 姓名,出生年月 FROM Students  WHERE 出生年月 < #1/1/1982#  AND 性別="女"

排序:

例7.15 查詢所有黨員學生的學號和姓名,並按助學金從小到大排序。

SELECT 學號, 姓名  FROM  Students  WHERE 黨員=True  ORDER BY 助學金

可用多個關鍵字排序。例如,ORDER BY 專業 ASC, 助學金  DESC

ASC:表示升序,DESC:表示降序。

分組查詢:

例7.16 查詢每個專業學生人數。(簡單分組)

SELECT 專業, count(*) AS 人數  FROM students  GROUP BY 專業;

例7.17 查詢各專業男女生的平均助學金(複雜分組)

SELECT 專業,性別, Avg(助學金) AS 平均助學金  FROM Students  GROUP BY 專業, 性別

將專業和性別都相同的記錄分在一組。

例7.18 對Scores表查詢有2門課程成績在75以上的學生的學號和課程數。分組後過濾

SELECT 學號, Count(*)  AS 課程數 FROM Scores  WHERE 成績>=75 GROUP BY 學號

HAVING Count(*)>=2

串連查詢:

例7.19 查詢所有學生的學號、姓名、課程和成績

SELECT  Students.學號,Students.姓名,Scores.課程, Scores.成績  FROM  Students, Scores

WHERE  Students.學號 = Scores.學號

自動產生語句:

SELECT Students.學號, Students.姓名, Scores.課程, Scores.成績 FROM Students INNER JOIN Scores  ON  Students.學號 = Scores.學號

例7.20 查詢選修了“高等數學”課程的學生的學號、姓名和成績。

SELECT  Students.學號, Students.姓名, Scores.成績  FROM  Students, Scores

WHERE  Students.學號=Scores.學號 AND Scores.課程="高等數學"

上述語句可以改寫為:

SELECT  Students.學號, Students.姓名, Scores.成績 FROM  Students INNER JOIN  Scores

 ON Students.學號 = Scores.學號 WHERE Scores.課程="高等數學"

巢狀查詢:在SQL中,將一個SELECT語句查詢塊嵌套在另一個SELECT語句的WHERE子句或HAVING子句中稱為巢狀查詢

例7.21 查詢沒有學過大學電腦基礎的學生的學號、姓名和專業

SELECT Students.學號, Students.姓名, Students.專業 FROM Students

WHERE Students.學號 Not in

(SELECT Scores.學號 FROM Scores  WHERE Scores.課程="大學電腦基礎")

例7.22 查詢與“鄧倩梅”在同一個專業的學生的學號和姓名

SELECT Students.學號, Students.姓名 FROM Students  WHERE 專業 in

(SELECT Students.專業  FROM Students  WHERE  Students.姓名="鄧倩梅")

MySQL 之 擴充例子

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.