1预皇、新增數(shù)據(jù)
基本語法:insert into 表名 [(字段列表)]
2益咬、主鍵沖突(Duplicate key)
當(dāng)主鍵存在沖突的時(shí)候逮诲,可以選擇性地進(jìn)行處理,進(jìn)行更新和替換
更新操作:insert into 表名 [(字段列表)] values(值列表) on duplicate key update 字段=新值;
替換:replace insert into 表名 [(字段列表)] values(值列表);
3幽告、從已有表創(chuàng)建新表(復(fù)制表結(jié)構(gòu)):create table 表名 like 數(shù)據(jù)庫.表名;
4梅鹦、蠕蟲復(fù)制:先查出數(shù)據(jù),然后將查出的數(shù)據(jù)新增一遍
insert into 表名[(字段列表)] select 字段列表/* from 數(shù)據(jù)表名;
蠕蟲復(fù)制的意義
*從已有表拷貝數(shù)據(jù)到新表中
*可以迅速地讓表中的數(shù)據(jù)膨脹到一定的數(shù)量級(jí)冗锁,用來測試表的壓力以及效率
5齐唆、高級(jí)數(shù)據(jù)操作:
更新數(shù)據(jù):
*基本語法:update 表名 set 字段=值 [where條件];
*高級(jí)語法:update 表名 set 字段=值 [where條件] [limit 更新數(shù)量];
刪除數(shù)據(jù):
*delete from 表名 [where條件] [limit 數(shù)量];
*truncate 表名; -- 先刪除該表,后新增該表
*drop table 表名? -- 刪除表(全沒)
查詢數(shù)據(jù):
*基本語法:select 字段列表/* from 表名 [where條件];
*完整語法:select [select 選項(xiàng)] 字段列表[字段別名]/* from 數(shù)據(jù)源 [where條件子句] [group by子句] [having 子句] [order by子句] [limit 子句];
select 選項(xiàng):select對(duì)查出來的結(jié)果的處理方式
*all:默認(rèn)的冻河,保留所有的結(jié)果
*distinct:去重箍邮,查出來的結(jié)果,將重復(fù)給去除? (所有數(shù)據(jù)相同時(shí)才去重)
字段別名:字段名 [as] 別名;
數(shù)據(jù)源:單表數(shù)據(jù)源叨叙、多表數(shù)據(jù)源锭弊、查詢語句
*單表數(shù)據(jù)源:select * from 表名;
*多表數(shù)據(jù)源:select * from 表名1,表名2, ...;
*子查詢:select * from (select 語句) as 別名;
6、五子句:
*where子句:返回結(jié)果0或1摔敛,0代表false,1代表true
比較運(yùn)算符:>全封、<马昙、>=、<=刹悴、!=行楞、<>、=土匀、like子房、between、and、in/not in
邏輯運(yùn)算符:&&(and)证杭、||(or)田度、!(not)
*group by子句
基本語法:group by 字段名 [asc|desc];
統(tǒng)計(jì)函數(shù):count():統(tǒng)計(jì)分組后的記錄數(shù),每一組有多少記錄
max():統(tǒng)計(jì)每組中最大的值
min():統(tǒng)計(jì)最小值
avg():統(tǒng)計(jì)平均值
sum():統(tǒng)計(jì)和
*having子句
與where子句一樣解愤,是進(jìn)行條件判斷的
having能夠使用字段別名
*order by子句
基本語法:order by 字段名 [asc|desc]
*limit子句
方案一:只用來限制長度镇饺,即數(shù)據(jù)量:limit 數(shù)據(jù)量;
方案二:限制起始位置,限制數(shù)量:limit 起始位置,長度;
limit offset,length;
length:每頁顯示的數(shù)據(jù)量送讲,基本不變
offset = (頁碼-1)*每頁顯示量
p:多字段排序:group_concat(字段);
回溯統(tǒng)計(jì):with rollup;
7奸笤、連接查詢
分類:內(nèi)連接、外連接哼鬓、自然連接监右、交叉連接
使用方式:左表 join 右表
8、交叉連接(cross join)
基本語法:左表 cross join 右表; -- 等價(jià)于:from 左表,右表;
9异希、內(nèi)連接([inner] join)
基本語法:左表 [inner] join 右表 on 左表.字段=右表.字段;
on表示連接條件
10健盒、外連接(outer join)
left join:左外連接(左連接),以左表為主表
right join:右外連接(右連接)宠互,以右表為主表
基本語法:左表 left/right join 右表 on 左表.字段=右表.字段;
11味榛、自然連接(natural join)
自然內(nèi)連接:左表 natural join 右表;
自然外連接:左表 natural left/right join 右表;
模擬自然連接:左表 left/right/inner join 右表 using(字段名);
12小重點(diǎn)總結(jié):
*having和 where分別
一個(gè)在內(nèi)存一個(gè)在磁盤
一個(gè)可以用別名,一個(gè)不可以
having可以代替where予跌,但where不可以替代having
*以下幾項(xiàng)的區(qū)別搏色?
delete from 表名 -- 刪除數(shù)據(jù),不重置自增長
truncate 表名 -- 刪除數(shù)據(jù)券册,重置自增長
drop table 表名? -- 刪除表(全沒)