mysql 基本增刪改查,mysql增刪改
往表中添加資料的命令:
mysql>insert into table_name (field1, filed2, ... fieldN) -> values(value1, value2, ...valueN);
如果插入的是字串類型,需要用引號括起來,單引號和雙引號都可以。例如:
mysql>insert into test (field) values("xyb");
如果要同時插入多條資料,例如插入三條:
mysql>insert into test (field) values("xyb"), ("love"), ("Charlotte");
在表中查詢的命令:
mysql>select field1, field2, ... fieldN from table_name1, table_name2 ... -> [where condition1 [and [or]] condition2 ...] -> [offset m] [limit n] [order by field1, [...fieldn] [desc]];
欄位之間用逗號隔開,表之間用逗號隔開。offset指定位移,也既是跳過最開始的m條記錄;limit限制輸出記錄最多n條;where後面跟查詢條件,多個查詢條件之間用 and 或 or 串連;order by指定按某欄位排序之後返回。
where常用操作符如下:
單純用where和以上操作符查詢字串會忽略大小寫。如果需要對大小寫敏感,可以加上binary關鍵字。例如:
mysql>select field from table_name where binary field='xyb';
where條件需要模式比對時使用like操作符。like操作符採用SQL模式比對,此時”_”匹配任意單個字元,”%”匹配任意多個字元(包括0個)。在mysql中SQL模式比對預設大小寫敏感。
尋找field欄位以”b”開頭:
select * from table_name where field like 'b%';
尋找field欄位以”fy”結尾:
select * from table_name where field like '%fy';
尋找field欄位包含”w”:
select * from table_name where field like '%w%';
尋找field欄位正好5個字元:
select * from table_name where field like '_____';
關於rlike和擴充模式比對內容參見第一條連結。
mysql查詢傳回值沒有固定順序(一般按照插入順序)。如果需要按照某查詢欄位排序返回,在select語句最後加上order by 查詢欄位。排序的欄位可以是多個,預設排序為升序,desc關鍵字表示降序排序。當對多個欄位排序時,會按照順序先對第一個欄位排序,然後對每一組第一個欄位相同記錄集合再對第二個欄位排序,依此類推。例如:
FirstName |
LastName |
YearOfBirth |
Thomas |
Alva Edison |
1847 |
Benjamin |
Franklin |
1706 |
Thomas |
More |
1478 |
Thomas |
Jefferson |
1826 |
使用如下語句:
SELECT * FROM People ORDER BY FirstName DESC, YearOfBirth ASC
結果如下:
FirstName |
LastName |
YearOfBirth |
Thomas |
More |
1478 |
Thomas |
Jefferson |
1826 |
Thomas |
Alva Edison |
1847 |
Benjamin |
Franklin |
1706 |
以上參考第二條連結sotack overflow的第二個答案。
修改更新表中資料的命令:
mysql>update table_name set field1=value1, field2=value2 -> [where condition, ...];
刪除表中資料的命令:
mysq>delete from table_name -> [where condition, ...];
如果不指定條件會刪除整張表。
參考連結:
https://dev.mysql.com/doc/refman/5.0/en/pattern-matching.html
http://stackoverflow.com/questions/2051162/sql-multiple-column-ordering