函數(shù)及分組統(tǒng)計(jì)和數(shù)據(jù)庫(kù)備份,恢復(fù)

函數(shù)分組統(tǒng)計(jì)

合計(jì)函數(shù)-COUNT

  • 基本句型:
    SELECT COUNT(*)|COUNT(列名) FROM tablename [WHERE where_definition];(COUNT和后面的括號(hào)之間沒有空格,COUNT(col)不會(huì)計(jì)入NULL)
  • 統(tǒng)計(jì)一個(gè)班共有多少學(xué)生?
    SELECT COUNT(*) FROM students;
  • 統(tǒng)計(jì)數(shù)學(xué)成績(jī)大于90的學(xué)生有多少個(gè)?
    SELECT COUNT(*) FROM students WHERE math > 90;
  • 統(tǒng)計(jì)總分大于250的人數(shù)有多少?
    SELECT COUNT(*) FROM students WHERE (chinese + english + math) > 90;

合計(jì)函數(shù)-SUM

  • 注意:sum僅對(duì)數(shù)值起作用,否則會(huì)報(bào)錯(cuò);對(duì)多列求和,“,”號(hào)不能少。(sum(A+B+C),A,B,C為三列,如果某行記錄中A列值為NULL,則不統(tǒng)計(jì)這行。)
  • 基本句型:
    SELECT SUM(列名){,SUM(列名)...} FROM tablename [WHERE where_definition]
  • 統(tǒng)計(jì)一個(gè)班級(jí)數(shù)學(xué)總成績(jī)
    SELECT SUM(math) FROM students;
  • 統(tǒng)計(jì)一個(gè)班級(jí)語文、英語、數(shù)學(xué)各科的總成績(jī)
    SELECT SUM(chinese),SUM(english),SUM(math) FROM students;
  • 統(tǒng)計(jì)一個(gè)班級(jí)語文、英語、數(shù)學(xué)的成績(jī)總和
    SELECT SUM(chinese + english + math) FROM students;
  • 統(tǒng)計(jì)一個(gè)班級(jí)語文成績(jī)平均分
    SELECT SUM(chinese)/COUNT(*) FROM students;

合計(jì)函數(shù)-AVG

  • AVG函數(shù)返回滿足WHERE條件的一列的平均值
  • 基本句型:
    SELECT AVG(col) FROM table;
  • 求一個(gè)班級(jí)數(shù)學(xué)平均分
    SELECT AVG(math) FROM students;(AVG不會(huì)計(jì)入NULL)
  • 求一個(gè)班級(jí)總分平均分
    SELECT AVG(chinese + english + math) FROM students;

合計(jì)函數(shù)-MAX/MIN

  • 基本句型:(MAX/MIN函數(shù)返回滿足WHERE條件的一列的最大/最小值)
    SELECT MAX(col)/MIN(col) FROM table [WHERE where_definition];
  • 求班級(jí)最高分和最低分(數(shù)值范圍在統(tǒng)計(jì)中特別有用)
    SELECT MAX(chinese + english + math) FROM students;
    SELECT MIN(chinese + english + math) FROM students;

分組語句-GROUP BY [HAVING]

  • 使用GROUP BY子句對(duì)列進(jìn)行分組
    基本句型:
    SELECT col1,col2... FROM table GROUP BY column;

注意:可以使用“`”(英文輸入狀態(tài)下ESC按鍵下的那個(gè)按鍵)把關(guān)鍵字包含起來,當(dāng)作普通字符串對(duì)待。比如:order可以作為表名存在,而不會(huì)被認(rèn)為ORDER關(guān)鍵字。(但是不推薦)

  • 對(duì)訂單中商品歸類后,顯示每一類商品的總價(jià)
    SELECT product,SUM(price) FROM t_order GROUP BY product;
  • 使用having子句過濾(GROUP BY后不能使用WHERE )
    查詢購(gòu)買了幾類商品,并且每類總價(jià)大于100的商品
    SELECT product,SUM(price) FROM t_order GROUP BY product HAVING SUM(price) > 100;

一些函數(shù)

時(shí)間日期相關(guān)函數(shù)

數(shù)學(xué)相關(guān)函數(shù)

字符串相關(guān)函數(shù)

數(shù)據(jù)庫(kù)備份,恢復(fù)

備份

  • 在MySQL的bin文件里有一個(gè)mysqldump.exe程序。(在dos命令模式下執(zhí)行命令)
    mysqldump -h localhost -u root -p mydb1>d:\\mydb1.sql(兩個(gè)“\”是因?yàn)椤癨m”是轉(zhuǎn)義字符)

恢復(fù)

  • 先創(chuàng)建數(shù)據(jù)庫(kù)名,并選擇數(shù)據(jù)庫(kù)
    方式一:SOURCE d:\\mydb1.sql;(在mysql下執(zhí)行該命令)
    方式二:mysql -u root -p mydb1<d:\\mydb1.sql(在dos命令行下執(zhí)行該命令)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容