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