mysql數據庫(7):表中檢索信息


(1)選擇所有數據:select * from pet;

 

 

 (2)修改表內容

方法一:先刪除用 DELETE FROM pet;  去修改txt中內容,再LOAD DATA LOCAL INFILE 'D:/test/pet.txt' INTO TABLE pet;

 

 

 方法二:(這個更簡單)

比如說更改owners下的川川為笨笨,就執行:update pet set owner='笨笨' where name='hh';

 

 

 (3)單獨選擇某一行:SELECT * FROM pet WHERE name = ‘hh';

 

 

 你可以在任何列上指定條件,不只僅僅是name。例如,如果你想要知道哪個動物在1998以后出生的,測試birth列: SELECT * FROM pet WHERE birth > '2021-7-9';

 

 可以組合條件,例如找出思思的狗:select * from pet where owner='思思' and species='dog';

AND和OR可以混用,但AND比OR具有更高的優先級。如果你使用兩個操作符,使用圓括號指明如何對條件進行分組是一個好主意:

mysql> select * from pet where( owner='思思' and species='dog')
-> or ( owner='思思' and species='pig');

 

 (4)選擇特殊列:select name,birth from pet;

 

 

 找出誰擁有寵物,使用這個查詢:select owner from pet;

 

 請注意該查詢只是簡單地檢索每個記錄的owner列,並且他們中的一些出現多次。為了使輸出減到最少,增加關鍵字DISTINCT檢索出每個唯一的輸出記錄:select distinct owner from pet;

 

 可以使用一個WHERE子句結合行選擇與列選擇。例如,要想查詢狗和貓的出生日期,使用這個查詢:

 

 (5)分類行 

 為了排序結果,使用ORDER BY子句。這里是動物生日,按日期排序:select  name, birth from pet order by birth;

 

 默認排序是升序,最小的值在第一。要想以降序排序,在你正在排序的列名上增加DESC(降序 )關鍵字:SELECT name, birth FROM pet ORDER BY birth DESC;

 

 

按升序對動物的種類進行排序,然后按降序根據生日對各動物種類進行排序(最年輕的動物在最前面),使用下列查詢:

mysql> SELECT name, species, birth FROM pet
-> ORDER BY species, birth DESC;

 

(6)日期計算

 要想確定每個寵物有多大,可以計算當前日期的年和出生日期之間的差。如果當前日期的日歷年比出生日期早,則減去一年。以下查詢顯示了每個寵物的出生日期、當前日期和年齡數值的年數字。

盡管查詢可行,如果以某個順序排列行,則能更容易地瀏覽結果。添加ORDER BY name子句按照名字對輸出進行排序則能夠實現

mysql> SELECT name, birth, CURDATE(),
-> (YEAR(CURDATE())-YEAR(birth))
-> - (RIGHT(CURDATE(),5)<RIGHT(birth,5))
-> AS age from pet;

 

 了按age而非name排序輸出,只要再使用一個ORDER BY子句:

mysql> SELECT name, birth, CURDATE(),(YEAR(CURDATE())-YEAR(birth))- (RIGHT(CURDATE(),5)<RIGHT(birth,5)) AS age
-> FROM pet ORDER BY age;

 

 知道哪個動物幾月過生日:SELECT name, birth, MONTH(birth) FROM pet;

 

 找出下個月生日的動物也是容易的。假定當前月是7月,那么月值是7,你可以找在8月出生的動物 (8月),方法是:SELECT name, birth FROM pet WHERE MONTH(birth) = 8;

 

 (7)NULL值操作

使用IS NULL和IS NOT NULL操作符,0或 NULL意味着假而其它值意味着真。布爾運算的默認真值是1。

定哪個動物不再是活着的,使用death IS NOT NULL而不使用death != NULL

(8)模式匹配

要想找出以“h”開頭的名字:SELECT * FROM pet WHERE name LIKE 'h%' ;

 

 同理:

 

要想找出以“h”結尾的名字:select * from pet where name like  '%h';

 

同理:

要想找出包含“h”的名字: SELECT * FROM pet WHERE name LIKE '%h%';

 

 要想找出正好包含2個字符的名字,使用“_”模式字符:SELECT * FROM pet WHERE name LIKE '__';

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM