mysql客戶端工具:mysql mysql administration mysql query browers
describe table /show grants
(1)檢索數(shù)據(jù):select A,B from table (distinct A ,limit a,b。table從0行開始,(C1-C2) as C)
(2)排序檢索數(shù)據(jù):select A,B from table order by column C DESC/ASC,D DESC/ASC(先C,C一樣才按D排序。DESC降序,ASC升序)
(3)過濾數(shù)據(jù)(適用于已知值):where 子句。 = 、<>、!=、<、<=、> 、>=、between 、is null 。where子句與AND OR IN NOT組合(mysql中NOT 支持對IN BETWEEN EXISTS取反。IN取的合法值放在括號內(nèi),用逗號隔開 in (a,b) )
(4)用通配符進行過濾(適用于不確定值,用like):a. %通配符表示任何字符出現(xiàn)任意次數(shù) b. _匹配單個字符 (雖然很常用,由于搜索速度慢,不能過度使用通配符,如果使用也最好不要放在搜索模式的開始處)
(5)使用正則表達式進行搜索(更強大匹配,用REGEXP):a. regexp 'string' b.進行OR匹配 regexp 'string1 | string2' c.匹配幾個字符之一,[123] ('[123] ton') ,[^123]匹配除這幾個字符之外的字符 d.匹配范圍:[0-9]
e.匹配特殊字符,匹配特殊字符需要兩個/ ,如//. /// 等 f.定位符(^文本開始,$文本結束):(^[0-9//.],匹配以0-9或.開頭的字符串 。
(6)創(chuàng)建計算字段:a.拼接字段contact:contact(A,'(',B,')')等 b.使用別名A*B as C
(7)使用數(shù)據(jù)處理函數(shù):文本處理函數(shù),日期和時間處理函數(shù)(日期時間數(shù)據(jù)格式。date(),time()),數(shù)值處理函數(shù)。
(8)匯總數(shù)據(jù):聚集函數(shù)——AVG(),COUNT(),MAX(),MIN(),SUM() COUNT(*) /COUNT(column) 靈活使用聚集函數(shù),返回需要的值。聚集函數(shù)與distinct一起使用,對所有的行執(zhí)行計算,當指定distinct時,只包含不同的值。還可以組合聚集函數(shù)來得到想要的的搜索結果。as
(9)分組數(shù)據(jù)(對結果進行分組):創(chuàng)建分組——group by(可以包含多列,出聚集函數(shù)語句外,select中的每個列都必須在group by中給出,where之后,order by之前。表達式不能用別名)。group by僅在按組計算聚集時使用
過濾分組(排除分組)——having(where過濾指定的是行,不是分組,having過濾分組,但having支持where的所有操作,或可以理解為where在分組前進行過濾,having在分組后進行過濾)
如下例:列出具有2個(含2個)以上、價格為10以上的產(chǎn)品的供應商。 分清楚行的概念和分組的概念
select vent_id,count(*) as num_prods
from products
where prod_price >=10
group by vent_id
having count(*) >=2
select 字句順序:select from where group by having order by limit
(10)使用子查詢:子查詢經(jīng)常用于多個關系表的查詢,一般是在where中使用in語句來實現(xiàn)子查詢,也可以使用= <>。也可以對計算字段(count等)使用子查詢(select count(*)等)
(11)聯(lián)結表:分解數(shù)據(jù)位多個表能更有效地進行存儲,更方便的處理,但是由于數(shù)據(jù)在多個表中,使用單條select語句進行檢索時需要使用聯(lián)結。聯(lián)結條件放在where子句中
。一條select語句中可以聯(lián)結多個表,但是聯(lián)結的表越多,性能下降越厲害。子查詢可以用聯(lián)結查詢來代替,可能會提高效率。
(13)創(chuàng)建高級聯(lián)結(對表使用別名):自聯(lián)結:自聯(lián)結一般要比子查詢快。自然聯(lián)結、外部聯(lián)結(需要沒有關聯(lián)行的那些行,內(nèi)部聯(lián)結就是普通的關聯(lián)聯(lián)結。沒關聯(lián)指的是查詢數(shù)據(jù)為NULL,就得使用外部聯(lián)結)也可以使用帶聚集函數(shù)的聯(lián)結 對某組或某類使用聚集函數(shù)時,需要使用group by。
(14)組合查詢UNION :把多條查詢結果作為一條組合查詢返回,所以UNION每個查詢需要包含相同的列,表達式或者聚集函數(shù),order by放最后select之后。
(15)全文本(text格式)搜索:數(shù)據(jù)庫常用引擎,MyISAM(支持全文本搜索)、InnoDB(不支持全文本搜索)。
使用全文本搜索:在創(chuàng)建表時使用fulltext建立索引,在create之外用engine=mylsam表明為mylsam引擎;進行全文搜索時在where中使用match()和against()函數(shù)。match()中指定被搜索(索引)的列,against中指定要使用的搜索表達式。輸出結果的等級。
查詢擴展:against('表達式’ ,with query expansion)
布爾文本搜索:
(16)插入操作 :插入完整行 插入檢索出的數(shù)據(jù)(不用values) 更行刪除數(shù)據(jù):先用select檢驗是否是需要處理的數(shù)據(jù)
(17)創(chuàng)建、更行、刪除表。創(chuàng)建:auto_increment (需要設定為主鍵,primary key) default 1 null not null
(18)數(shù)據(jù)類型:串:char(n)定長 varchar(n) 可變長 text 小宇64K 數(shù)值類型:int bllolen float double decimal(精度可變的浮點值) 日期和時間:date time datetime year
二進制數(shù)據(jù)類型:blob
其他:w3school
uninon all
mysql備份:
在shell下:
mysqldump -h mysql_master -u wms -p wms weiyou_group > weiyou_group.sql
還原:一般用source命令
mysql中:
source ./weiyou_group.sql