1、新增數(shù)據(jù)
基本語(yǔ)法: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ù)庫(kù).表名;
4、蠕蟲(chóng)復(fù)制:
先查出數(shù)據(jù)惭笑,然后將查出的數(shù)據(jù)新增一遍
insert into 表名[(字段列表)] select 字段列表/* from 數(shù)據(jù)表名;
蠕蟲(chóng)復(fù)制的意義
*從已有表拷貝數(shù)據(jù)到新表中
*可以迅速地讓表中的數(shù)據(jù)膨脹到一定的數(shù)量級(jí)侣姆,用來(lái)測(cè)試表的壓力以及效率
5生真、高級(jí)數(shù)據(jù)操作:
更新數(shù)據(jù):
*基本語(yǔ)法:update 表名 set 字段=值 [where條件];
*高級(jí)語(yǔ)法:update 表名 set 字段=值 [where條件] [limit 更新數(shù)量];
刪除數(shù)據(jù):
*delete from 表名 [where條件] [limit 數(shù)量];
*truncate 表名; -- 先刪除該表,后新增該表
*drop table 表名? -- 刪除表(全沒(méi))
查詢數(shù)據(jù):
*基本語(yǔ)法:select 字段列表/* from 表名 [where條件];
*完整語(yǔ)法:select [select 選項(xiàng)] 字段列表[字段別名]/* from 數(shù)據(jù)源 [where條件子句] [group by子句] [having 子句] [order by子句] [limit 子句];
select 選項(xiàng):select對(duì)查出來(lái)的結(jié)果的處理方式
*all:默認(rèn)的捺宗,保留所有的結(jié)果
*distinct:去重柱蟀,查出來(lái)的結(jié)果,將重復(fù)給去除? (所有數(shù)據(jù)相同時(shí)才去重)
字段別名:字段名 [as] 別名;
數(shù)據(jù)源:?jiǎn)伪頂?shù)據(jù)源蚜厉、多表數(shù)據(jù)源长已、查詢語(yǔ)句
*單表數(shù)據(jù)源:select * from 表名;
*多表數(shù)據(jù)源:select * from 表名1,表名2, ...;
*子查詢:select * from (select 語(yǔ)句) 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子句
基本語(yǔ)法: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子句
基本語(yǔ)法:order by 字段名 [asc|desc]
*limit子句
方案一:只用來(lái)限制長(zhǎng)度,即數(shù)據(jù)量:limit 數(shù)據(jù)量;
方案二:限制起始位置囚聚,限制數(shù)量:limit 起始位置,長(zhǎng)度;
limit offset,length;
length:每頁(yè)顯示的數(shù)據(jù)量靖榕,基本不變
offset = (頁(yè)碼-1)*每頁(yè)顯示量
p:多字段排序:group_concat(字段);
回溯統(tǒng)計(jì):with rollup;
7、連接查詢
分類:內(nèi)連接顽铸、外連接茁计、自然連接、交叉連接
使用方式:左表 join 右表
8谓松、交叉連接(cross join)
基本語(yǔ)法:左表 cross join 右表; -- 等價(jià)于:from 左表,右表;
9星压、內(nèi)連接([inner] join)
基本語(yǔ)法:左表 [inner] join 右表 on 左表.字段=右表.字段;
on表示連接條件
10、外連接(outer join)
left join:左外連接(左連接)鬼譬,以左表為主表
right join:右外連接(右連接)娜膘,以右表為主表
基本語(yǔ)法:左表 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ù),不重置自增長(zhǎng)
truncate 表名 -- 刪除數(shù)據(jù)演怎,重置自增長(zhǎng)
drop table 表名? -- 刪除表(全沒(méi))