mysql 數據庫中經常使用的sql語句

這個頗有必要記錄保存下來,方便你我。。如下爲普通建表爲例,而後進行SQL操做。


表結構:
  1. CREATE TABLE  `test` (                           //表名  
  2. `u_id` INT( 10 ) NOT NULL AUTO_INCREMENT ,      //id號,自動增加  
  3. `u_name` VARCHAR( 10 ) NOT NULL ,              //姓名  
  4. `regdate` DATE NOT NULL ,                      //日期  
  5. `remark` VARCHAR( 10 ) NOT NULL ,             //備註,職稱  
  6. PRIMARY KEY (  `u_id` )                      //設置id號爲主鍵  
  7. ) CHARACTER SET = utf8;                    //設置編碼 utf8
一: insert  添加數據
  1. INSERT INTO  `test` (  `u_id` ,  `u_name` ,  `regdate` ,  `remark` )  
  2. VALUES (  
  3. '1',  '浩子',  '2011-04-01',  'voip'  
  4. );   //插入單條數據
  1. insert into test (u_id,u_name,regdate,remark) values (null,"孫悟空",now(),"弼馬溫") // 這裏u_id 爲自動增加,因此能夠寫空,now()是一個插入獲取本月的日期函數[font=arial] [/font]
  1. insert into test (u_id,u_name,regdate,remark) values  
  2. (null,"孫悟空",now(),"弼馬溫"),(null,"鳥人",now(),"會飛"); //插入多條數據
二:update  修改語句
  1. update test set u_name="小浩子" where u_id=1  //這裏是修改了u_name 的值的,後面帶上了u_id 的值,否則後會把整個數據所有修改,必定要謹慎
三: datele 刪除語句
  1. delete from test where u_id=4  //刪除u_id 爲4的這行記錄
四:select 查詢語句  (這個很重要,大多數操做都是圍繞查詢來作的)
  
  1. select * from test  #查詢表中所有數據  
  2. select * from voip.test #查詢所有還能夠這麼寫,voip表示爲數據庫名  
  3. select u_id,u_name from test  #查詢表中某一個或多個字段的數據值  
  4. select u_name as name from test  #查詢出結果字段以別的名稱顯示,但真實的字段結構不會變  
  5. select * from test where u_name="浩子"  #查詢u_name 字段等於浩子的全部數據  
  6. select * from test where u_name <> "浩子" #查詢u_name 字段不等於浩子的全部值  
  7. select * from test where u_id in (1,2,5)  #查詢u_id 字段中包含1,2,5的數據  
  8. select * from test where u_id not in (1,2,5) # 查詢u_id 字段中不包含1,2,5 的數據  
  9. select * from test where u_name like "%浩%"   #查詢u_name 字段中 匹配或包含有「浩」的數據  
  10. select * from test where u_id between 1 and 5  #查詢u_id 字段中 第1條到第5條的數據  
  11. select * from test where u_id not between 1 and 5  #查詢u_id 字段中 不是第1條到第5條的數據  
  12. select * from test where u_id >=1 #查詢u_id字段中大於而且等於1的數據, 反之則是 <= 、>、< 均可以  
  13. select * from test where u_name="浩子" and remark="voip"  # 查詢u_name的值等於「浩子」而且 remark=「voip」 的共同條件  
  14. select * from test where u_name="浩子" and remark="voip"  # 查詢查詢u_name的值等於「浩子」 或者 remark=「voip」 中的某一條件  
  15.   
  16. select * from test group by remark  #查詢remark字段中不一樣的統稱,打個比分說該字段中有學生N個,工人N個,那麼查詢出來的結果就學生和工人,而不會顯示更多的學生和工人  
  17. select * from test order by regdate asc  #查詢regdate(日期)字段中正序排列,也就是說按最先日期排列  
  18. select * from test order by regdate desc #查詢regdate(日期)字段中倒序排列,也就是說按最晚日期排列,一般應用在最新發表什麼什麼的排序  
  19. select * from test limit 0,3  # 查詢表中前3條記錄(下表從0開始) select * from test limit 3 這樣寫也OK  
  20.   
  21. select count(*) from test #統計表中共有多少條記錄 select count(u_id) from test 這裏是統計某一字段共有的記錄  
  22. select max(u_id) from test #查詢u_id字段中最大值的數據,通常只能是對整型、數字這方面進行比對  
  23. select min(u_id) from test  # 這個就。。。最小值。。。  
  24. select avg(u_id) from test  #查詢某一字段的平均值,通常用於查詢某什麼什麼平均年齡或者工資什麼的  
  25. select sum(u_id) from test  #查詢某一字段的累加值,通常用於查詢該字段中共多少工資什麼什麼的
  僅供參考
相關文章
相關標籤/搜索