高級(jí)數(shù)據(jù)操作:
新增數(shù)據(jù):
基本語法:insert into 表名[(字段列表)] 源values(值列表);
主鍵沖突(Duplicate key)
當(dāng)主鍵存在沖突的時(shí)候冲粤,可以選擇性地進(jìn)行處理美莫,進(jìn)行更新替換
更新操作:insert into 表名[(字段列表)] values(值列表)on duplicate key update 字段 = 新值;
替換: replace insert into 表名 [(字段列表)] values(值列表);
表創(chuàng)建的高級(jí)操作: 從已有表創(chuàng)建新表(復(fù)制表結(jié)構(gòu)):create table表名 like 數(shù)據(jù)庫(kù).表名;
蠕蟲復(fù)制:先查出數(shù)據(jù)页眯,然后將查出的數(shù)據(jù)新增一遍
更新數(shù)據(jù):
基本語法:update 表名 set 字段=值[where條件];
高級(jí)語法:update 表名 set 字段=值[where條件] [limit 更新數(shù)量]厢呵;
刪除數(shù)據(jù):
delete from 表名 [where條件] [limit 數(shù)量];
truncate 表名; -- 先刪除該表窝撵,后新增該表
查詢數(shù)據(jù):
基本語法:select 字段列表/* from 表名 [where條件];
完整語法:select [select 選項(xiàng)] 字段列表[字段別名]/* from 數(shù)據(jù)源 [where條件子句] [group by子句] [having 子句] [order by子句] [limit 子句];
高級(jí)數(shù)據(jù)查詢:
select 選項(xiàng):select對(duì)查出來的結(jié)果的處理方式
all:默認(rèn)的,保留所有的結(jié)果
distinct:去重襟铭,查出來的結(jié)果碌奉,將重復(fù)給去除
字段別名:
字段名 [as] 別名;
數(shù)據(jù)源:?jiǎn)伪頂?shù)據(jù)源、多表數(shù)據(jù)源蝌矛、查詢語句
單表數(shù)據(jù)源:select * from 表名;
多表數(shù)據(jù)源:select * from 表名1,表名2, ...;
子查詢:select * from (select 語句) as 別名;
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ì)和
多字段排序
group_concat(字段);
回溯統(tǒng)計(jì)
with rollup;
having子句
與where子句一樣,是進(jìn)行條件判斷的
having能夠使用字段別名
order by子句
基本語法:order by 字段名 [asc|desc]
limit子句
方案一:只用來限制長(zhǎng)度热芹,即數(shù)據(jù)量:limit 數(shù)據(jù)量;
方案二:限制起始位置贱傀,限制數(shù)量:limit 起始位置,長(zhǎng)度;
limit offset,length;
length:每頁顯示的數(shù)據(jù)量,基本不變
offset = (頁碼-1)*每頁顯示量
連接查詢:
連接查詢(join)分類:內(nèi)連接伊脓、外連接府寒、自然連接、交叉連接
使用方式:左表 join 右表
交叉連接(cross join)
基本語法:左表 cross join 右表; -- 等價(jià)于:from 左表,右表;
內(nèi)連接([inner] join)
基本語法:左表 [inner] join 右表 on 左表.字段=右表.字段;
on表示連接條件
外連接(outer join)
left join:左外連接(左連接)报腔,以左表為主表
right join:右外連接(右連接)株搔,以右表為主表
基本語法:左表 left/right join 右表 on 左表.字段=右表.字段;
自然連接(natural join)
自然內(nèi)連接:左表 natural join 右表;
自然外連接:左表 natural left/right join 右表;
模擬自然連接:左表 left/right/inner join 右表 using(字段名);