2019-11-26

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、連接查詢

分類(lèi):內(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è)在磁盤(pán)

一個(gè)可以用別名,一個(gè)不可以

having可以代替where,但where不可以替代having

*以下幾項(xiàng)的區(qū)別?

delete from 表名 -- 刪除數(shù)據(jù),不重置自增長(zhǎng)

truncate 表名 -- 刪除數(shù)據(jù),重置自增長(zhǎng)

drop table 表名? -- 刪除表(全沒(méi))

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說(shuō)明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí),會(huì)觸發(fā)此異常。 O...
    我想起個(gè)好名字閱讀 5,954評(píng)論 0 9
  • 作者:燁竹 數(shù)據(jù)庫(kù)的基本操作 登陸MySQL數(shù)據(jù)庫(kù)服務(wù):mysql -h服務(wù)器地址 -P端口號(hào) -u用戶名 ...
    DragonRat閱讀 1,441評(píng)論 0 7
  • 一、列屬性 真正的對(duì)列的約束是依賴于數(shù)據(jù)的類(lèi)型,但是這種約束比較單一,所以需要更多的約束,整個(gè)時(shí)候就是用到了字段的...
    滿天繁星_28c5閱讀 663評(píng)論 0 2
  • 什么是數(shù)據(jù)庫(kù)? 數(shù)據(jù)庫(kù)是存儲(chǔ)數(shù)據(jù)的集合的單獨(dú)的應(yīng)用程序。每個(gè)數(shù)據(jù)庫(kù)具有一個(gè)或多個(gè)不同的API,用于創(chuàng)建,訪問(wèn),管理...
    chen_000閱讀 4,139評(píng)論 0 19
  • 。 今天這篇博客不是寫(xiě)關(guān)于具體技術(shù)的,而是我對(duì)程序員怎樣學(xué)習(xí)和提高自己能力的一些感悟。我是今年7月初畢業(yè)的,離開(kāi)學(xué)...
    逍遙游lx閱讀 446評(píng)論 1 2

友情鏈接更多精彩內(nèi)容