中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

鄭州門(mén)戶(hù)網(wǎng)站建設(shè)手機(jī)系統(tǒng)流暢神器

鄭州門(mén)戶(hù)網(wǎng)站建設(shè),手機(jī)系統(tǒng)流暢神器,如何做有后臺(tái)的網(wǎng)站,做直播網(wǎng)站需要那些技術(shù)目錄 一、Create創(chuàng)建 1、單行數(shù)據(jù)全列插入 2、多行數(shù)據(jù)指定列插入 3、插入更新 4、替換 二、Retrieve查詢(xún) 1、SELECT 列 1.1、 全列查詢(xún) 1.2、指定列查詢(xún) 1.3、查詢(xún)字段為表達(dá)式 1.4、結(jié)果去重 2、where條件 2.1、英語(yǔ)不及格的同學(xué)及英語(yǔ)成績(jī) ( < 60 ) 2.2、語(yǔ)…

目錄

一、Create創(chuàng)建

1、單行數(shù)據(jù)+全列插入

2、多行數(shù)據(jù)+指定列插入

3、插入更新

4、替換

二、Retrieve查詢(xún)

1、SELECT 列

1.1、?全列查詢(xún)

1.2、指定列查詢(xún)

1.3、查詢(xún)字段為表達(dá)式?

1.4、結(jié)果去重

2、where條件

2.1、英語(yǔ)不及格的同學(xué)及英語(yǔ)成績(jī) ( < 60 )

2.2、語(yǔ)文成績(jī)?cè)?[80, 90] 分的同學(xué)及語(yǔ)文成績(jī)

2.2.1、使用 AND 進(jìn)行條件連接

2.2.1、使用 BETWEEN ... AND ... 條件

2.3、數(shù)學(xué)成績(jī)是 58 或者 59 或者 98 或者 99 分的同學(xué)及數(shù)學(xué)成績(jī)

2.3.1、使用 OR 進(jìn)行條件連接

2.3.2、?使用 IN 條件

2.4、姓孫的同學(xué) 及 孫某同學(xué)

2.4.1、% 匹配任意多個(gè)(包括 0 個(gè))任意字符

2.4.2、_ 匹配嚴(yán)格的一個(gè)任意字符

2.5、語(yǔ)文成績(jī)好于英語(yǔ)成績(jī)的同學(xué)

2.6、總分在 200 分以下的同學(xué)

2.7、語(yǔ)文成績(jī) > 80 并且不姓孫的同學(xué)

2.8、孫某同學(xué),否則要求總成績(jī) > 200 并且 語(yǔ)文成績(jī) < 數(shù)學(xué)成績(jī) 并且 英語(yǔ)成績(jī) > 80

2.9、NULL 的查詢(xún)

3、結(jié)果排序

3.1、同學(xué)及數(shù)學(xué)成績(jī),按數(shù)學(xué)成績(jī)升序顯示

3.2、同學(xué)及 qq 號(hào),按 qq 號(hào)排序顯示

3.3、查詢(xún)同學(xué)各門(mén)成績(jī),依次按 數(shù)學(xué)降序,英語(yǔ)升序,語(yǔ)文升序的方式顯示

3.4、查詢(xún)同學(xué)及總分,由高到低

3.5、查詢(xún)姓孫的同學(xué)或者姓王的同學(xué)數(shù)學(xué)成績(jī),結(jié)果按數(shù)學(xué)成績(jī)由高到低顯示

4、?篩選分頁(yè)結(jié)果?

三、Update

1、將李四同學(xué)的數(shù)學(xué)成績(jī)變更為 80 分

2、將趙六同學(xué)的數(shù)學(xué)成績(jī)變更為 60 分,語(yǔ)文成績(jī)變更為 70 分

3、將總成績(jī)倒數(shù)前三的 3 位同學(xué)的數(shù)學(xué)成績(jī)加上 30 分

4、將所有同學(xué)的語(yǔ)文成績(jī)更新為原來(lái)的 2 倍

四、Delete

1、刪除數(shù)據(jù)

1.1、刪除李四同學(xué)的考試成績(jī)

1.2、刪除整張表數(shù)據(jù)

2、截?cái)啾?

五、插入查詢(xún)結(jié)果?

六、聚合函數(shù)

1、統(tǒng)計(jì)班級(jí)共有多少同學(xué)

2、統(tǒng)計(jì)班級(jí)收集的 qq 號(hào)有多少

3、統(tǒng)計(jì)本次考試的數(shù)學(xué)成績(jī)分?jǐn)?shù)個(gè)數(shù)

4、統(tǒng)計(jì)數(shù)學(xué)成績(jī)總分

5、?統(tǒng)計(jì)平均分?

6、返回英語(yǔ)最高分

7、返回 > 70 分以上的數(shù)學(xué)最低分

七、group by子句的使用

1、顯示每個(gè)部門(mén)的平均工資和最高工資

2、顯示每個(gè)部門(mén)的每種崗位的平均工資和最低工資

3、顯示平均工資低于2000的部門(mén)和它的平均工資

3.1、統(tǒng)計(jì)各個(gè)部門(mén)的平均工資

3.2、having和group by配合使用,對(duì)group by結(jié)果進(jìn)行過(guò)濾


CRUD : Create(創(chuàng)建), Retrieve(讀取),Update(更新),Delete(刪除)

一、Create創(chuàng)建

語(yǔ)法:

INSERT [INTO] table_name[(column [, column] ...)]VALUES (value_list) [, (value_list)] ...value_list: value, [, value] ...

?案例:

創(chuàng)建一張學(xué)生表:

1、單行數(shù)據(jù)+全列插入

insert into 表名 values (數(shù)據(jù)1,數(shù)據(jù)2,...);

?查看插入結(jié)果:

select * from 表名

2、多行數(shù)據(jù)+指定列插入

insert into 表名 (字段1, 字段2, ...) values (數(shù)據(jù)1, 數(shù)據(jù)2, ...);

3、插入更新

?之前由于 主鍵 或者 唯一鍵 對(duì)應(yīng)的值已經(jīng)存在而導(dǎo)致插入失敗,現(xiàn)在可以把對(duì)應(yīng)的插入操作更改成更新操作。

語(yǔ)法:

INSERT ... ON DUPLICATE KEY UPDATEcolumn = value [, column = value] ...

-- 0 row affected: 表中有沖突數(shù)據(jù),但沖突數(shù)據(jù)的值和 update 的值相等
-- 1 row affected: 表中沒(méi)有沖突數(shù)據(jù),數(shù)據(jù)被插入
-- 2 row affected: 表中有沖突數(shù)據(jù),并且數(shù)據(jù)已經(jīng)被更新

通過(guò) MySQL 函數(shù)獲取受到影響的數(shù)據(jù)行數(shù):

select row_count();

4、替換

?主鍵 或者 唯一鍵 沒(méi)有沖突,則直接插入。?主鍵 或者 唯一鍵 如果沖突,則刪除后再插入。

二、Retrieve查詢(xún)

?語(yǔ)法:

SELECT[DISTINCT] {* | {column [, column] ...}[FROM table_name][WHERE ...][ORDER BY column [ASC | DESC], ...]LIMIT ...

案例:

創(chuàng)建一個(gè)學(xué)生成績(jī)的表結(jié)構(gòu):

?插入數(shù)據(jù):

1、SELECT 列

1.1、?全列查詢(xún)

通常情況下不建議使用 * 進(jìn)行全列查詢(xún)

  • 查詢(xún)的列越多,意味著需要傳輸?shù)臄?shù)據(jù)量越大。
  • 可能會(huì)影響到索引的使用。

1.2、指定列查詢(xún)

指定列的順序不需要按定義表的順序來(lái):

1.3、查詢(xún)字段為表達(dá)式?

表達(dá)式包含多個(gè)字段

為查詢(xún)結(jié)果指定別名

語(yǔ)法:

SELECT column [AS] alias_name [...] FROM table_name;

其中 as 可以省略。

1.4、結(jié)果去重

2、where條件

比較運(yùn)算符:

運(yùn)算符說(shuō)明
>, >=, <, <=大于,大于等于,小于,小于等于
=等于,NULL 不安全,例如 NULL = NULL 的結(jié)果是 NULL
<=>等于,NULL 安全,例如 NULL <=> NULL 的結(jié)果是 TRUE(1)
!=, <>不等于
BETWEEN a0 AND a1范圍匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1)
IN (option, ...)如果是 option 中的任意一個(gè),返回 TRUE(1)
IS NULL是 NULL
IS NOT NULL不是 NULL
LIKE模糊匹配。% 表示任意多個(gè)(包括 0 個(gè))任意字符;_ 表示任意一個(gè)字符

邏輯運(yùn)算符:

運(yùn)算符說(shuō)明
AND多個(gè)條件必須都為 TRUE(1),結(jié)果才是 TRUE(1)
OR任意一個(gè)條件為 TRUE(1), 結(jié)果為 TRUE(1)
NOT條件為 TRUE(1),結(jié)果為 FALSE(0)

2.1、英語(yǔ)不及格的同學(xué)及英語(yǔ)成績(jī) ( < 60 )

2.2、語(yǔ)文成績(jī)?cè)?[80, 90] 分的同學(xué)及語(yǔ)文成績(jī)

2.2.1、使用 AND 進(jìn)行條件連接

2.2.1、使用 BETWEEN ... AND ... 條件

2.3、數(shù)學(xué)成績(jī)是 58 或者 59 或者 98 或者 99 分的同學(xué)及數(shù)學(xué)成績(jī)

2.3.1、使用 OR 進(jìn)行條件連接

2.3.2、?使用 IN 條件

2.4、姓孫的同學(xué) 及 孫某同學(xué)

2.4.1、% 匹配任意多個(gè)(包括 0 個(gè))任意字符

2.4.2、_ 匹配嚴(yán)格的一個(gè)任意字符

2.5、語(yǔ)文成績(jī)好于英語(yǔ)成績(jī)的同學(xué)

WHERE 條件中比較運(yùn)算符兩側(cè)都是字段:

2.6、總分在 200 分以下的同學(xué)

WHERE 條件中使用表達(dá)式。

?別名不能用在 WHERE 條件中,這是因?yàn)?mysql 的執(zhí)行順序是先進(jìn)行判斷篩選條件,再提取結(jié)果。因此是先執(zhí)行的 where 條件,此時(shí)還不認(rèn)識(shí)別名。

2.7、語(yǔ)文成績(jī) > 80 并且不姓孫的同學(xué)

AND 與 NOT 的使用:

2.8、孫某同學(xué),否則要求總成績(jī) > 200 并且 語(yǔ)文成績(jī) < 數(shù)學(xué)成績(jī) 并且 英語(yǔ)成績(jī) > 80

綜合性查詢(xún)

2.9、NULL 的查詢(xún)

查詢(xún) students 表:

3、結(jié)果排序

語(yǔ)法:

-- ASC 為升序(從小到大)
-- DESC 為降序(從大到小)
-- 默認(rèn)為 ASC
SELECT ... FROM table_name [WHERE ...]ORDER BY column [ASC|DESC], [...];

注意:沒(méi)有 order by?子句的查詢(xún),返回的順序是未定義的,永遠(yuǎn)不要依賴(lài)這個(gè)順序。

3.1、同學(xué)及數(shù)學(xué)成績(jī),按數(shù)學(xué)成績(jī)升序顯示

3.2、同學(xué)及 qq 號(hào),按 qq 號(hào)排序顯示

?NULL 視為比任何值都小,升序出現(xiàn)在最上面,降序出現(xiàn)在最下面:

3.3、查詢(xún)同學(xué)各門(mén)成績(jī),依次按 數(shù)學(xué)降序,英語(yǔ)升序,語(yǔ)文升序的方式顯示

多字段排序,排序優(yōu)先級(jí)隨書(shū)寫(xiě)順序:

3.4、查詢(xún)同學(xué)及總分,由高到低

ORDER BY 中可以使用表達(dá)式:

?ORDER BY 子句中可以使用列別名

3.5、查詢(xún)姓孫的同學(xué)或者姓王的同學(xué)數(shù)學(xué)成績(jī),結(jié)果按數(shù)學(xué)成績(jī)由高到低顯示

結(jié)合 WHERE 子句 和 ORDER BY 子句:

4、?篩選分頁(yè)結(jié)果?

語(yǔ)法:

-- 起始下標(biāo)為 0-- 從 0 開(kāi)始,篩選 n 條結(jié)果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n;-- 從 s 開(kāi)始,篩選 n 條結(jié)果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT s, n;-- 從 s 開(kāi)始,篩選 n 條結(jié)果,比第二種用法更明確,建議使用
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n OFFSET s;

建議:對(duì)未知表進(jìn)行查詢(xún)時(shí),最好加一條 LIMIT 1?,避免因?yàn)楸碇袛?shù)據(jù)過(guò)大,查詢(xún)?nèi)頂?shù)據(jù)導(dǎo)致數(shù)據(jù)庫(kù)卡死。

按 id 進(jìn)行分頁(yè),每頁(yè) 3 條記錄,分別顯示 第 1、2、3 頁(yè)。

三、Update

對(duì)查詢(xún)到的結(jié)果進(jìn)行列值更新。

語(yǔ)法:

UPDATE table_name SET column = expr [, column = expr ...][WHERE ...] [ORDER BY ...] [LIMIT ...]

1、將李四同學(xué)的數(shù)學(xué)成績(jī)變更為 80 分

更新值為具體值。

查看原數(shù)據(jù):

?數(shù)據(jù)更新:

2、將趙六同學(xué)的數(shù)學(xué)成績(jī)變更為 60 分,語(yǔ)文成績(jī)變更為 70 分

一次更新多個(gè)列。

3、將總成績(jī)倒數(shù)前三的 3 位同學(xué)的數(shù)學(xué)成績(jī)加上 30 分

更新值為原值基礎(chǔ)上變更。

查看原數(shù)據(jù),別名可以在ORDER BY中使用:

?數(shù)據(jù)更新,不支持 math += 30 這種語(yǔ)法:

?查看更新后數(shù)據(jù):

4、將所有同學(xué)的語(yǔ)文成績(jī)更新為原來(lái)的 2 倍

沒(méi)有 WHERE 子句,則更新全表。

查看原數(shù)據(jù):

?

?數(shù)據(jù)更新:

?查看更新后數(shù)據(jù):

四、Delete

1、刪除數(shù)據(jù)

語(yǔ)法:

DELETE FROM table_name [WHERE ...] [ORDER BY ...] [LIMIT ...]

1.1、刪除李四同學(xué)的考試成績(jī)

1.2、刪除整張表數(shù)據(jù)

注意:刪除整表操作要慎用!

建立測(cè)試用表,并且插入數(shù)據(jù):

刪除整表數(shù)據(jù):

查看刪除結(jié)果:

再插入一條數(shù)據(jù),自增 id 在原值上增長(zhǎng):

查看數(shù)據(jù):

?查看表結(jié)構(gòu),會(huì)有 AUTO_INCREMENT=5?項(xiàng),表示下一個(gè)自增 id 是 5:

2、截?cái)啾?

語(yǔ)法:

TRUNCATE [TABLE] table_name

注意:這個(gè)操作慎用。

  1. 只能對(duì)整表操作,不能像 DELETE 一樣針對(duì)部分?jǐn)?shù)據(jù)操作;
  2. 實(shí)際上 MySQL 不對(duì)數(shù)據(jù)操作,所以比 DELETE 更快,但是TRUNCATE在刪除數(shù)據(jù)的時(shí)候,并不經(jīng)過(guò)真正的事物,所以無(wú)法回滾。
  3. 會(huì)重置 AUTO_INCREMENT 項(xiàng)

建立測(cè)試用表,并且插入數(shù)據(jù):

?截?cái)嗾頂?shù)據(jù),注意影響行數(shù)是 0,所以實(shí)際上沒(méi)有對(duì)數(shù)據(jù)真正操作

查看刪除結(jié)果:

再插入一條數(shù)據(jù),自增 id 在重新增長(zhǎng):

?查看數(shù)據(jù):

?查看表結(jié)構(gòu),會(huì)有 AUTO_INCREMENT=2 ,表示下一個(gè)自增 id 是 2:

五、插入查詢(xún)結(jié)果?

語(yǔ)法:

INSERT INTO table_name [(column [, column ...])] SELECT ...

案例:刪除表中的的重復(fù)記錄,重復(fù)的數(shù)據(jù)只能有一份:

創(chuàng)建原數(shù)據(jù)表,并插入數(shù)據(jù):

?思路

創(chuàng)建一張空表 no_duplicate_table,結(jié)構(gòu)和 duplicate_table 一樣:

?將 duplicate_table 的去重?cái)?shù)據(jù)插入到 no_duplicate_table:

?通過(guò)重命名表,實(shí)現(xiàn)原子的去重操作:

?通過(guò) rename 方式進(jìn)行重命名,是想等一切都就緒了,然后統(tǒng)一進(jìn)行放入、更新、生效等操作。

?查看最終結(jié)果:

六、聚合函數(shù)

函數(shù)說(shuō)明
COUNT([DISTINCT] expr)返回查詢(xún)到的數(shù)據(jù)的 數(shù)量
SUM([DISTINCT] expr)返回查詢(xún)到的數(shù)據(jù)的 總和,不是數(shù)字沒(méi)有意義
AVG([DISTINCT] expr)返回查詢(xún)到的數(shù)據(jù)的 平均值,不是數(shù)字沒(méi)有意義
MAX([DISTINCT] expr)返回查詢(xún)到的數(shù)據(jù)的 最大值,不是數(shù)字沒(méi)有意義
MIN([DISTINCT] expr)返回查詢(xún)到的數(shù)據(jù)的 最小值,不是數(shù)字沒(méi)有意義

1、統(tǒng)計(jì)班級(jí)共有多少同學(xué)

使用 * 做統(tǒng)計(jì),不受 NULL 影響:

2、統(tǒng)計(jì)班級(jí)收集的 qq 號(hào)有多少

NULL 不會(huì)計(jì)入結(jié)果:

3、統(tǒng)計(jì)本次考試的數(shù)學(xué)成績(jī)分?jǐn)?shù)個(gè)數(shù)

COUNT(math) 統(tǒng)計(jì)的是全部成績(jī):

COUNT(DISTINCT math) 統(tǒng)計(jì)的是去重成績(jī)數(shù)量:

4、統(tǒng)計(jì)數(shù)學(xué)成績(jī)總分

?不及格 < 60 的總分,沒(méi)有結(jié)果,返回 NULL:

5、?統(tǒng)計(jì)平均分?

統(tǒng)計(jì)英語(yǔ)成績(jī)平均分:

?

統(tǒng)計(jì)平均總分:

6、返回英語(yǔ)最高分

?

7、返回 > 70 分以上的數(shù)學(xué)最低分

七、group by子句的使用

分組的目的是為了分組之后,方便進(jìn)行聚合統(tǒng)計(jì)的。

在select中使用group by 子句可以對(duì)指定列進(jìn)行分組查詢(xún):

select column1, column2, .. from table group by column;

?分組統(tǒng)計(jì),需要指定列名,實(shí)際分組是用該列的不同行數(shù)據(jù)進(jìn)行分組的。分完組之后,同一組內(nèi)的該列條件是相同的,因此可以被聚合壓縮。

?分組,就是把一組按照條件拆成了多個(gè)組,進(jìn)行各自組內(nèi)的統(tǒng)計(jì)。

案例:

準(zhǔn)備工作,創(chuàng)建一個(gè)雇員信息表(來(lái)自oracle 9i的經(jīng)典測(cè)試表)

  • EMP員工表
  • DEPT部門(mén)表
  • SALGRADE工資等級(jí)表

1、顯示每個(gè)部門(mén)的平均工資和最高工資

select deptno,avg(sal),max(sal) from EMP group by deptno;

2、顯示每個(gè)部門(mén)的每種崗位的平均工資和最低工資

select avg(sal),min(sal),job, deptno from EMP group by deptno, job;

?注意:當(dāng)我們?cè)趕elect后增加了一個(gè) ename 列時(shí),mysql發(fā)生了報(bào)錯(cuò)。

?這是因?yàn)?ename 不屬于分組條件,因此無(wú)法壓縮聚合。

?在原則上,只有在 group by 中出現(xiàn)的具體的列名稱(chēng),才可以在 select 中具體出現(xiàn)。另一類(lèi)可以直接在select中出現(xiàn)的是聚合函數(shù)。

3、顯示平均工資低于2000的部門(mén)和它的平均工資

3.1、統(tǒng)計(jì)各個(gè)部門(mén)的平均工資

select avg(sal) from EMP group by deptno

3.2、having和group by配合使用,對(duì)group by結(jié)果進(jìn)行過(guò)濾

select deptno, avg(sal) as myavg from EMP group by deptno having myavg<2000;

having是對(duì)聚合后的統(tǒng)計(jì)數(shù)據(jù),進(jìn)行條件篩選。?

?having經(jīng)常和group by搭配使用,作用是對(duì)分組進(jìn)行篩選,作用有些像where。

having與where的區(qū)別:

  • where是對(duì)具體的任意列進(jìn)行條件篩選。
  • having是對(duì)分組聚合之后的結(jié)果進(jìn)行條件篩選。

?

http://www.risenshineclean.com/news/63250.html

相關(guān)文章:

  • 南通網(wǎng)站制作公司哪家好谷歌搜索引擎在線
  • 2021拉新推廣傭金排行榜南通百度seo代理
  • 設(shè)計(jì)網(wǎng)站價(jià)格網(wǎng)站搜索排名查詢(xún)
  • 域名注冊(cè)完成后如何做網(wǎng)站google關(guān)鍵詞
  • 建站最少需要多少錢(qián)人員優(yōu)化是什么意思
  • 怎樣做網(wǎng)站國(guó)外seo外鏈發(fā)布平臺(tái)有哪些
  • 冠縣快搜網(wǎng)站建設(shè)有限公司蘭州seo技術(shù)優(yōu)化排名公司
  • 樂(lè)清做網(wǎng)站公司關(guān)鍵詞推廣工具
  • 深圳做網(wǎng)站建設(shè)比較好的公司義烏最好的電商培訓(xùn)學(xué)校
  • 自己做網(wǎng)站服務(wù)器要多少錢(qián)怎么做盲盒
  • 優(yōu)質(zhì)網(wǎng)站排名公司seo顧問(wèn)賺錢(qián)嗎
  • 做博客網(wǎng)站如何盈利網(wǎng)站排名查詢(xún)
  • 廈門(mén)哪家公司做網(wǎng)站行業(yè)關(guān)鍵詞搜索排名
  • 網(wǎng)站制作服務(wù)熱線百度引流怎么推廣
  • 微網(wǎng)站怎么樣做線下活動(dòng)吸粉一鍵生成app制作器
  • 珠海網(wǎng)站建設(shè)推廣廠商百度推廣開(kāi)戶(hù)聯(lián)系方式
  • 贛州公司做網(wǎng)站域名服務(wù)器查詢(xún)
  • 網(wǎng)站qq獲取百度新聞客戶(hù)端
  • 企業(yè)做網(wǎng)站需要注意什么哪家公司做推廣優(yōu)化好
  • 南通網(wǎng)站排名站長(zhǎng)是什么級(jí)別
  • 小企業(yè)做網(wǎng)站多少錢(qián)惠州網(wǎng)站營(yíng)銷(xiāo)推廣
  • 塔城地區(qū)建設(shè)工程信息網(wǎng)站谷歌搜索廣告
  • 建個(gè)好網(wǎng)站網(wǎng)絡(luò)推廣外包公司
  • 網(wǎng)站導(dǎo)航做多大神馬seo服務(wù)
  • 九九電視劇免費(fèi)觀看完整版seo搜索培訓(xùn)
  • 大連商城網(wǎng)站建設(shè)百度營(yíng)銷(xiāo)登錄入口
  • 廣東微信網(wǎng)站制作哪家好西安網(wǎng)站優(yōu)化公司
  • 網(wǎng)頁(yè)設(shè)計(jì)與制作教程web前端開(kāi)發(fā)整站優(yōu)化提升排名
  • 平?jīng)鍪凶》亢统青l(xiāng)建設(shè)局網(wǎng)站sem賬戶(hù)托管外包
  • 網(wǎng)站登陸驗(yàn)證怎么用java做拓客最有效方案