国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句

這篇具有很好參考價(jià)值的文章主要介紹了【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

DQL(Data Query Language),即數(shù)據(jù)查詢語(yǔ)言,用來(lái)查詢數(shù)據(jù)記錄。DQL 基本結(jié)構(gòu)由 SELECT FROM、WHERE、JOIN 等子句構(gòu)成。

DQL 語(yǔ)句并不會(huì)改變數(shù)據(jù)庫(kù),而是讓數(shù)據(jù)庫(kù)將查詢結(jié)果發(fā)送結(jié)果集給客戶端,返回的結(jié)果是一張?zhí)摂M表。



1、MySQL 中的 DQL 語(yǔ)句
1.1、數(shù)據(jù)查詢語(yǔ)言–DQL

DQL(Data Query Language),即數(shù)據(jù)查詢語(yǔ)言,用來(lái)查詢數(shù)據(jù)記錄。DQL 基本結(jié)構(gòu)由 SELECT FROM、WHERE、JOIN 等子句構(gòu)成。

DQL 語(yǔ)句并不會(huì)改變數(shù)據(jù)庫(kù),而是讓數(shù)據(jù)庫(kù)將查詢結(jié)果發(fā)送結(jié)果集給客戶端,返回的結(jié)果是一張?zhí)摂M表。

1.2、DQL 語(yǔ)句的格式

DQL 的語(yǔ)法格式:

SELECT *|columns_list   							 								 # columns_list 查詢字段(或表達(dá)式)列表 ,* 代表全部字段
FROM table_name							 													 # table_name 表名
[(LEFT | RIGHT | INNER | CROSS) JOIN join_table_name]  # join_table_name 聯(lián)合查詢表表名
[WHERE query_condition]																 # query_condition 是查詢條件
[GROUP BY group_columns_list [HAVING group_clause]]    # group_columns_list 分組字段列表 ,group_clause 分組條件
[ORDER BY order_columns_list [ASC|DESC]]							 # order_columns_list 排序字段列表 ,ASC 升序 ,DESC 降序
[LIMIT row_count OFFSET offset]												 # row_count 執(zhí)行返回的最大行數(shù) ,offset 指定返回的第一行的偏移量

2、MySQL 中 的 DQL 語(yǔ)句詳解
2.1、DQL 語(yǔ)句:SELECT FROM

SELECT FROM 語(yǔ)句用于從一個(gè)或多個(gè)表中檢索數(shù)據(jù),是 MySQL 中使用最多的語(yǔ)句。

以下是 SELECT FROM 語(yǔ)句的語(yǔ)法:

SELECT *|columns_list														# columns_list 查詢字段(或表達(dá)式)列表 ,* 代表全部字段
FROM table_name [;]															# table_name 表名 ,分號(hào) ; 表示語(yǔ)句結(jié)束

語(yǔ)句說(shuō)明:① 關(guān)鍵字 SELECT 后跟著一個(gè)或多個(gè)數(shù)據(jù)表的列;② columns_list 為查詢字段(或表達(dá)式)的列表,可以有多個(gè)列,列之間需要用逗號(hào) “,” 分隔;③ 當(dāng)要檢索數(shù)據(jù)表中的所有列的時(shí)候,使用星號(hào) “*” 表示全部字段;④ 關(guān)鍵字 FROM 后跟著要從中檢索數(shù)據(jù)的表名;⑤ 分號(hào) “;” 表示語(yǔ)句的結(jié)束,它是可選的。如果有兩條或更多條語(yǔ)句,則需要使用分號(hào) “;” 將它們分開(kāi),以便 MySQL 單獨(dú)執(zhí)行每條語(yǔ)句。

舉例:

我們以 MySQL 官方示例數(shù)據(jù)庫(kù) Employees 數(shù)據(jù)庫(kù)為例,分別使用星號(hào) “*” 的方式查詢 “employees(國(guó)家)表” 的全部字段和使用指定字段的方式查詢 “employees” 表的部分字段。

SELECT * FROM employees;     											# 使用 * 查詢?nèi)孔侄?/span>
SELECT
	emp_no,																				# 使用指定字段的方式查詢字段
	birth_date,																		# 效果與使用 * 相同
	first_name,
	last_name,
	gender,
	hire_date 
FROM
	employees

【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),MySQL,MySQL DQL 命令

2.1.1、關(guān)鍵字 AS

關(guān)鍵字 AS 可以用來(lái)給 列、表、派生表或者計(jì)算結(jié)果 取別名。

以下是關(guān)鍵字 AS 語(yǔ)句的語(yǔ)法:

SELECT column1,column2 AS "column2_alias" 
FROM table_name;																	# 可給列取一個(gè)新別名
--
SELECT column1,column2 
FROM table_name AS "table_name_alias";						# 可給表/派生表取一個(gè)新別名
--
SELECT column1 + column2 AS "alias"
FROM table_name;																	# 可給計(jì)算|總結(jié)的結(jié)果用另外一個(gè)新名稱來(lái)代替

語(yǔ)句說(shuō)明:①、AS 關(guān)鍵字后面跟的是列的別名 alias;②、當(dāng)別名 alias 中包含空格時(shí),必須使用將別名引起來(lái),即 alias;③ AS 關(guān)鍵字是可選的;④ 除了為字段指定別名,還可以為表達(dá)式指定別名。例如: SELECT NOW(); Current Time; FROM dual;。

舉例:

SELECT
	emp.emp_no,
	YEAR ( birth_date ) AS YEAR,									# 給計(jì)算表達(dá)式取別名
	first_name AS NAME 														# 給列取別名
FROM
	employees AS emp;															# 給表取別名

【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),MySQL,MySQL DQL 命令

根據(jù)結(jié)果我們可以看到,當(dāng)我們使用 AS 關(guān)鍵字表示查詢字段或計(jì)算結(jié)果別名時(shí),查詢的結(jié)果返回字段名稱將為別名名稱。

2.1.2、關(guān)鍵字 DISTINCT

關(guān)鍵詞 DISTINCT 用于返回唯一不同的值。SELECT DISTINCT 表示查詢結(jié)果中,去掉了重復(fù)的行。

以下是關(guān)鍵字 DISTINCT 的語(yǔ)法:

SELECT DISTINCT columns_list FROM table_name			# 去掉查詢返回的記錄結(jié)果中重復(fù)的記錄

注意:SELECT 語(yǔ)句不加關(guān)鍵字 DISTINCT 時(shí),是有一個(gè)默認(rèn)關(guān)鍵字 ALL 存在的,表示返回所有的記錄。

舉例:

我們以 MySQL 官方示例數(shù)據(jù)庫(kù) Employees 數(shù)據(jù)庫(kù)為例,使用 DISTINCT 關(guān)鍵字查詢 “employees” 表中存在重復(fù)的字段。

SELECT DISTINCT gender FROM employees;

【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),MySQL,MySQL DQL 命令

根據(jù)結(jié)果我們可以看到,重復(fù)的記錄已經(jīng)被去除。

2.2、DQL 子句:JOIN

在 MySQL 中,JOIN 語(yǔ)句用于將數(shù)據(jù)庫(kù)中的兩個(gè)表或者多個(gè)表組合起來(lái)。

MySQL 目前支持 4 種類型的連接:交叉連接(CROSS JOIN)、內(nèi)聯(lián)接(INNER JOIN)、左連接(LEFT JOIN)、右連接(RIGHT JOIN)。

MySQL 目前不支持全連接(FULL OUTER JOIN)。

【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),MySQL,MySQL DQL 命令

以下是 MySQL 包含 JOIN 子句的 SELECT 語(yǔ)句語(yǔ)法:

# LEFT JOIN 左關(guān)聯(lián),此時(shí) a 表為主表,a、b 關(guān)聯(lián)后的臨時(shí)表中 a 表所有數(shù)據(jù)均存在
SELECT * FROM a LEFT JOIN b ON a.id = b.id
 --
# RIGHT JOIN 右關(guān)聯(lián),此時(shí) b 表為主表,a、b 關(guān)聯(lián)后的臨時(shí)表中 b 表所有數(shù)據(jù)均存在
SELECT * FROM a RIGHT JOIN b ON a.id = b.id
--
# INNER JOIN == JOIN 等值關(guān)聯(lián),返回兩個(gè)表中關(guān)聯(lián)字段相等的數(shù)據(jù)行
SELECT * FROM a INNER JOIN b ON a.id = b.id

語(yǔ)句說(shuō)明:①、ON 用來(lái)生成關(guān)聯(lián)臨時(shí)表,生成的臨時(shí)表會(huì)將主表的所有記錄保存下來(lái),等待 WHERE 語(yǔ)句的進(jìn)一步篩選;②、兩表以上關(guān)聯(lián)時(shí)需要用到多條 JOIN 語(yǔ)句,一般用 LEFT JOIN 確立唯一的主表。

2.2.1、關(guān)于示例

JOIN 相關(guān)的以下示例中,我們將使用 studentstudent_score 兩個(gè)表來(lái)完成,下面是兩張表的結(jié)構(gòu)創(chuàng)建和數(shù)據(jù)插入語(yǔ)句。

CREATE TABLE `student` (`student_id` int NOT NULL , `name` varchar(45) NOT NULL , PRIMARY KEY (`student_id`));
CREATE TABLE `student_score` (`student_id` int NOT NULL , `subject` varchar(45) NOT NULL , `score` int NOT NULL);
---
INSERT INTO `student` (`student_id`, `name`) VALUES (1,'Tim') , (2,'Jim') , (3,'Lucy');
INSERT INTO `student_score` (`student_id`, `subject`, `score`) VALUES (1,'English',90) , (1,'Math',80) , (2,'English',85) , (2,'Math',88) , (5,'English',92);

查看兩個(gè)表的結(jié)構(gòu):

SELECT * FROM student;																	# 學(xué)生信息表

【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),MySQL,MySQL DQL 命令

SELECT * FROM student_score;														# 學(xué)生成績(jī)表

【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),MySQL,MySQL DQL 命令

2.2.2、交叉連接(CROSS JOIN)

交叉連接返回兩個(gè)集合的笛卡爾積。也就是兩個(gè)表中的所有的行的所有可能的組合。這相當(dāng)于內(nèi)連接沒(méi)有連接條件或者連接條件永遠(yuǎn)為真。

如果一個(gè)有 m 行的表和另一個(gè)有 n 行的表,它們交叉連接將返回 m * n 行數(shù)據(jù)。

舉例:

我們以剛才示例中新建的 studentstudent_score 兩個(gè)表為例,分別采用顯式和隱式兩種方式交叉連接 studentstudent_score 表。

SELECT																									# 顯示交叉連接
  student.*,
  student_score.*
FROM
  student CROSS JOIN student_score;
---  
SELECT																									# 隱示交叉連接(這兩種方式的輸出一樣)
  student.*,
  student_score.*
FROM
  student, student_score;

【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),MySQL,MySQL DQL 命令

根據(jù)結(jié)果我們可以看到,使用 CROSS JOIN 子句的 SELECT 語(yǔ)句查詢后的結(jié)果為兩個(gè)集合的笛卡爾積。也就是兩個(gè)表中的所有的行的所有可能的組合。

2.2.3、內(nèi)連接(INNER JOIN JOIN)

內(nèi)連接基于連接條件組合兩個(gè)表中的數(shù)據(jù)。內(nèi)連接相當(dāng)于加了過(guò)濾條件的交叉連接。

內(nèi)連接將第一個(gè)表的每一行與第二個(gè)表的每一行進(jìn)行比較,如果滿足給定的連接條件,則將兩個(gè)表的行組合在一起作為結(jié)果集中的一行。

舉例:

我們以剛才示例中新建的 studentstudent_score 兩個(gè)表為例,將 student 表和 student_score 表內(nèi)連接。

SELECT
  student.*,
  student_score.*
FROM
  student
  INNER JOIN student_score
  ON student.student_id = student_score.student_id;
---
SELECT																									# 隱藏 INNER JOIN,二者等價(jià)
  student.*,
  student_score.*
FROM
  student, student_score
  WHERE student.student_id = student_score.student_id;

【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),MySQL,MySQL DQL 命令

注意輸出結(jié)果中,student 表中 student_id3 的行和 student_score 表中 student_id5 的行沒(méi)有出現(xiàn)在輸出結(jié)果中,這是因?yàn)樗麄儧](méi)有滿足連接條件:student.student_id = student_score.student_id

由于兩個(gè)表都使用相同的字段進(jìn)行等值匹配,因此我們還可以使用 USING 以下查詢中所示的子句:

SELECT
  student.*,
  student_score.*
FROM
  student
  INNER JOIN student_score USING(student_id);
2.2.4、左連接(LEFT JOIN)

左連接是左外連接的簡(jiǎn)稱,左連接需要連接條件。兩個(gè)表左連接時(shí),第一個(gè)表稱為左表,第二表稱為右表。例如 A LEFT JOIN B,A 是左表,B 是右表。

左連接以左表的數(shù)據(jù)行為基礎(chǔ),根據(jù)連接匹配右表的每一行,如果匹配成功則將左表和右表的行組合成新的數(shù)據(jù)行返回;如果匹配不成功則將左表的行和 NULL 值組合成新的數(shù)據(jù)行返回。

舉例:

我們以剛才示例中新建的 studentstudent_score 兩個(gè)表為例,將 student 表和 student_score 進(jìn)行左連接。

SELECT
  student.*,
  student_score.*
FROM
  student
  LEFT JOIN student_score
  ON student.student_id = student_score.student_id;

【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),MySQL,MySQL DQL 命令

根據(jù)結(jié)果我們可以看到:① 結(jié)果集中包含了 student 表的所有記錄行;② student_score 表中不包含 student_id = 3 的記錄行,因此結(jié)果幾種最后一行中來(lái)自 student_score 的列的內(nèi)容為 NULL;③ student_score 表存在多條 student_id12 的記錄,因此 student 表也產(chǎn)生了多行數(shù)據(jù)。

由于兩個(gè)表都使用相同的字段進(jìn)行等值匹配,因此我們同樣可以使用 USING 以下查詢中所示的子句:

SELECT
  student.*,
  student_score.*
FROM
  student
  LEFT JOIN student_score USING(student_id);
2.2.5、右連接(RIGHT JOIN)

右連接是右外連接的簡(jiǎn)稱,右連接需要連接條件。

右連接與左連接處理邏輯相反,右連接以右表的數(shù)據(jù)行為基礎(chǔ),根據(jù)條件匹配左表中的數(shù)據(jù)。如果匹配不到左表中的數(shù)據(jù),則左表中的列為 NULL 值。

舉例:

我們以剛才示例中新建的 studentstudent_score 兩個(gè)表為例,將 student 表和 student_score 進(jìn)行右連接。

SELECT
  student.*,
  student_score.*
FROM
  student
  RIGHT JOIN student_score
  ON student.student_id = student_score.student_id;

【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),MySQL,MySQL DQL 命令

根據(jù)結(jié)果我們可以看到,由于左表中不存在到與右表 student_id = 5 匹配的記錄,因此最后一行左表的列的值為 NULL。

注意:① 右連接其實(shí)是左右表交換位置的左連接,即 A RIGHT JOIN B 就是 B LEFT JOIN A,因此右連接很少使用;② 由于兩個(gè)表都使用相同的字段進(jìn)行等值匹配,因此我們依舊可以使用 USING 關(guān)鍵字。

2.3、DQL 子句:WHERE

默認(rèn)情況下,SELECT 查詢數(shù)據(jù)表中的所有行數(shù)。但我們只想查詢滿足一定條件的數(shù)據(jù),就要用到 WHERE 子句。

WHERE 子句允許您為 SELECT 查詢指定搜索條件。

以下是包含 WHERE 子句的 SELECT 語(yǔ)句語(yǔ)法:

SELECT *|columns_list   							 								 # columns_list 查詢字段(或表達(dá)式)列表 ,* 代表全部字段
FROM table_name							 													 # table_name 表名
WHERE query_condition 																 # query_condition 是查詢條件

說(shuō)明:① 其中 query_condition 就是查詢條件,它的結(jié)果是一個(gè)布爾值,其值可能為 TRUE, FALSEUNKNOWN。最終, SELECT 語(yǔ)句返回的結(jié)果集就是滿足查詢條件結(jié)果為 TRUE 的記錄;② WHERE 的查詢條件一般用來(lái)比較某個(gè)字段是否匹配某個(gè)值,一般形式為:column_name = value;③ 查詢條件也可以是使用 AND , ORNOT 邏輯運(yùn)算符一個(gè)或多個(gè)表達(dá)式的組合;④ 除了用在 SELECT 語(yǔ)句之外, WHERE 子句還可以用在 UPDATEDELETE 語(yǔ)句中,用來(lái)指定要更新或刪除的行。

舉例:

我們以 MySQL 官方示例數(shù)據(jù)庫(kù) Employees 數(shù)據(jù)庫(kù)為例,使用 WHERE 查詢指定搜索條件的記錄。

SELECT
	* 
FROM
	employees 
WHERE
	gender = 'M';																					# 查詢性別為 M(male) 的員工

【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),MySQL,MySQL DQL 命令

2.3.1、運(yùn)算符 AND

當(dāng)使用 SELECT 查詢數(shù)據(jù)時(shí),如果 WHERE 子句中有多個(gè)條件,可以根據(jù)需要使用 AND, OR, 或者 NOT 運(yùn)算符將他們組合起來(lái)。

AND 運(yùn)算符是一個(gè)雙目邏輯運(yùn)算符,用來(lái)組合兩個(gè)操作數(shù)。只有當(dāng)兩個(gè)操作數(shù)都為真時(shí),結(jié)果才返回真,否則返回假或者 NULL。

AND 運(yùn)算符語(yǔ)法:

a AND b

其中,abAND 的兩個(gè)操作數(shù),可以是表達(dá)式,也可以是值。不像一些編程語(yǔ)言,MySQL 中沒(méi)有布爾類型,AND 的運(yùn)算結(jié)果是 1, 0, 或著 NULL。

說(shuō)明:① AND 是雙目運(yùn)算符,需要兩個(gè)布爾操作數(shù); ② 如果兩個(gè)操作數(shù)都不為 0 (FALSE) 并且不為 NULL 時(shí),則 AND 運(yùn)算的結(jié)果為 1;③ 如果有一個(gè)操作數(shù)為 0 (FALSE),則 AND 運(yùn)算的結(jié)果為 0;④ 如果兩個(gè)操作數(shù)中有一個(gè)為 NULL,且另一個(gè)不為 0 (FALSE),則返回 NULL;⑤ 兩個(gè)操作數(shù)的前后順序不影響 AND 操作符的運(yùn)算結(jié)果; ⑥ WHERE 子句中的 AND 連接兩個(gè)比較條件,過(guò)濾那些同時(shí)滿足兩個(gè)比較條件的記錄行。

2.3.2、運(yùn)算符 OR

OR 運(yùn)算符是一個(gè)雙目邏輯運(yùn)算符,用來(lái)組合兩個(gè)操作數(shù)。只要兩個(gè)操作數(shù)中的一個(gè)為真時(shí),結(jié)果就返回真,否則返回假或者 NULL

OR 運(yùn)算符語(yǔ)法:

a AND b

其中,abOR 的兩個(gè)操作數(shù),可以是表達(dá)式,也可以是值。不像一些編程語(yǔ)言,MySQL 中沒(méi)有布爾類型,OR 的運(yùn)算結(jié)果是 1, 0, 或著 NULL。

說(shuō)明:① OR 是雙目運(yùn)算符,需要兩個(gè)布爾操作數(shù);② 如果兩個(gè)操作數(shù)中至少一個(gè)操作數(shù)為 1 (TURE),則 OR 運(yùn)算的結(jié)果為 1;③ 如果兩個(gè)操作數(shù)都為 0 (FALSE),則 OR 運(yùn)算的結(jié)果為 0;④ 如果兩個(gè)操作數(shù)有一個(gè)為 NULL,另一個(gè)為 0 (FALSE) 或者 NULL,則 OR 運(yùn)算的結(jié)果為 NULL;⑤ 兩個(gè)操作數(shù)的前后順序不影響 OR 操作符的運(yùn)算結(jié)果;⑥ AND 運(yùn)算符的優(yōu)先級(jí)高于 OR。使用括號(hào)更改計(jì)算順序;⑦ WHERE 子句中的 OR 連接兩個(gè)比較條件,過(guò)濾那些至少滿足其中一個(gè)比較條件的記錄行。

2.3.3、運(yùn)算符 IN

在使用 SQL 查詢的時(shí)候,我們可能需要判斷一個(gè)字段的值是否位于一組值中,這就需要用到 IN 運(yùn)算符了。IN 運(yùn)算符用來(lái)檢查一個(gè)字段或值是否包含在一個(gè)集合中,如果值包含在集合中返回 1,否則返回 0。

IN 是一個(gè)雙目運(yùn)算符,它需要 2 個(gè)操作數(shù)。以下是 IN 運(yùn)算符的語(yǔ)法:

expression IN (value1, value2, ...)										  # expression 可以是一個(gè)字段名、值或其他的表達(dá)式

說(shuō)明:① IN 是一個(gè)雙目運(yùn)算符,需要 2 個(gè)操作數(shù);② IN 運(yùn)算符左側(cè)操作數(shù)是字段名或者值,右側(cè)操作數(shù)是值列表或者子查詢結(jié)果;③ IN 運(yùn)算符左側(cè)的操作數(shù)的值是右側(cè)操作數(shù)集合列表中的其中一個(gè)時(shí),返回 1。否則 返回 0;④ IN 運(yùn)算符可以看作是多個(gè) OR 運(yùn)算符組合的簡(jiǎn)化版本;⑤ IN 運(yùn)算符的否定操作是 NOT IN。

2.3.4、運(yùn)算符 NOT IN

NOT 是一個(gè)邏輯運(yùn)算符,用來(lái)用來(lái)否定一個(gè)操作。NOT ININ 的否定操作符。

NOT ININ 用法幾乎一樣,只是在 IN 前面添加一個(gè) NOT 關(guān)鍵字,IN 的否定操作符。 NOT IN 語(yǔ)法如下:

expression NOT IN (value1, value2, ...)									# expression 可以是一個(gè)字段名、值或其他的表達(dá)式

說(shuō)明:① NOT IN 檢查左側(cè)值是否不包含于右側(cè)的值列表中;② NOT ININ 運(yùn)算符的否定操作。

2.3.5、運(yùn)算符 BETWEEN

BETWEEN 運(yùn)算符確定一個(gè)值是否介于某兩個(gè)值之間。BETWEEN 運(yùn)算符常用于比較數(shù)字和日期類型的數(shù)據(jù)。

BETWEEN 運(yùn)算符是一個(gè)三目運(yùn)算符,它需要 3 個(gè)操作數(shù)。下面 BETWEEN 運(yùn)算符的語(yǔ)法:

expression BETWEEN min AND max													# expression 可以是一個(gè)字段名、值或其他的表達(dá)式
																												# min 是范圍的最小值 max 是范圍的最大值
expression NOT BETWEEN min AND max										  # NOT 是否定運(yùn)算符,NOT BETWEEN 與 BETWEEN 相反

說(shuō)明:① BETWEEN 運(yùn)算符來(lái)測(cè)試一個(gè)值是否位于一個(gè)數(shù)值區(qū)間或者時(shí)間區(qū)間內(nèi);② BETWEEN min AND maxmin 是區(qū)間的最小值,max 是區(qū)間的最大值;③ expression BETWEEN min AND maxexpression >= min AND expression <= max 結(jié)果相同;④ BETWEEN 運(yùn)算符可以結(jié)合 NOT 運(yùn)算符進(jìn)行否定操作;⑤ expression NOT BETWEEN min AND maxexpression < min OR expression > max 結(jié)果相同。

舉例:

我們以 MySQL 官方示例數(shù)據(jù)庫(kù) Employees 數(shù)據(jù)庫(kù)為例,使用 BETWEEN 操作作為 WHERE 查詢搜索的條件來(lái)查詢相關(guān)記錄。

SELECT
	* 
FROM
	employees 
WHERE
	birth_date BETWEEN "1960-01-01" 											# 查詢出生日期在 1960 年的員工
	AND "1960-12-31";

【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),MySQL,MySQL DQL 命令

2.3.6、運(yùn)算符 LIKE

在 MySQL 中, LIKE 運(yùn)算符可以根據(jù)指定的模式過(guò)濾數(shù)據(jù)。LIKE 運(yùn)算符一般用于模糊匹配字符數(shù)據(jù)。

LIKE 運(yùn)算符是一個(gè)雙目比較運(yùn)算符,需要兩個(gè)操作數(shù)。 LIKE 運(yùn)算符語(yǔ)法如下:

expression 																							# expression 可以是一個(gè)字段名、值或其他的表達(dá)式
LIKE pattern																						# pattern 是一個(gè)字符串模式

說(shuō)明:① expression 可以是一個(gè)字段名、值或其他的表達(dá)式(比如函數(shù)調(diào)用、運(yùn)算等);② pattern 是一個(gè)字符串模式。MySQL 字符串模式支持兩個(gè)通配符:“%” 和 “_”,且當(dāng)使用通配符匹配文本時(shí),不區(qū)分字母大小寫(xiě)。;③ “%” 匹配零或多個(gè)任意字符;④ “_” 匹配單個(gè)任意字符;⑤ 如果需要匹配通配符,則需要使用 “\” 轉(zhuǎn)義字符,如 “\%” 和 “\_”;⑥ 使用通配符匹配文本時(shí),不區(qū)分字母大小寫(xiě);⑦ 如果 expressionpattern 匹配,LIKE 運(yùn)算符返回 1,否則返回 0;⑧ 可使用 NOT 運(yùn)算符來(lái)否定 LIKE 運(yùn)算符。

舉例:

我們以 MySQL 官方示例數(shù)據(jù)庫(kù) Employees 數(shù)據(jù)庫(kù)為例,使用 LIKE 操作作為 WHERE 查詢搜索的條件來(lái)查詢相關(guān)記錄。

SELECT * FROM employees WHERE first_name like "a______";				# 查詢以 A 開(kāi)頭 7  位 FirstName 的員工

【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),MySQL,MySQL DQL 命令

SELECT * FROM employees WHERE last_name like "%ok%";					  # 查詢 LasrName 中包含 ok 的員工

【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),MySQL,MySQL DQL 命令

2.3.7、運(yùn)算符 NULL

在 MySQL 中,NULL 是一個(gè)特殊的值,它代表什么都沒(méi)有。它不是空,也不是 0。

IS NULL 運(yùn)算符用來(lái)測(cè)試一個(gè)值是不是 NULL,如果是 NULL 返回 1,否則返回 0

IS NULL 是一個(gè)單目比較運(yùn)算符,只需要一個(gè)操作數(shù)。IS NULL 運(yùn)算符的語(yǔ)法是:

expression IS NULL																		 # expression 可以是一個(gè)字段名、一個(gè)值或者一個(gè)表達(dá)式
expression IS NOT NULL																 # IS NOT NULL 是 IS NULL 的否定運(yùn)算

說(shuō)明:① IS NULLIS NOT NULL 可以用在 SELECT 語(yǔ)句或者 WHERE 子句中;② 當(dāng) IS NULL 運(yùn)算符左側(cè)的操作數(shù)是 NULL 時(shí),IS NULL 運(yùn)算符返回 1,否則返回 0。

2.3.8、操作符 EXISTS

在 MySQL 中,EXISTS 操作符用來(lái)判斷一個(gè)子查詢是否返回?cái)?shù)據(jù)行。如果一個(gè)子查詢返回了至少一個(gè)數(shù)據(jù)行,則 EXISTS 的計(jì)算結(jié)果為 TRUE,否則計(jì)算結(jié)果為 FALSE。

SELECT column_name
FROM table_name
WHERE EXISTS(subquery);

說(shuō)明:① EXISTS 一般用在 WHERE 子句中;② EXISTS 是一個(gè)單目操作符,它需要一個(gè)子查詢 subquery 作為參數(shù);③ 如果子查詢 subquery 返回了至少一個(gè)數(shù)據(jù)行,則 EXISTS 的計(jì)算結(jié)果為 TRUE,否則計(jì)算結(jié)果為 FALSE;④ EXISTS 運(yùn)算時(shí),一旦子查詢找到一個(gè)匹配的行,EXISTS 運(yùn)算就會(huì)返回。這對(duì)提高查詢新能很有幫助;⑤ EXISTS 不關(guān)心子查詢中的列的數(shù)量或者名稱,它只在乎子查詢是否返回?cái)?shù)據(jù)行。所以在 EXISTS 的子查詢中,無(wú)論你是使用 SELECT 1 還是 SELECT *,亦或是 SELECT column_list,都不影響 EXISTS 運(yùn)算的結(jié)果;⑥ NOT EXISTS 則是 EXISTS 的否定操作;⑦ 大多數(shù)情況下,使用 EXISTS 的語(yǔ)句的性能比對(duì)應(yīng)的使用 IN 的語(yǔ)句要好。

舉例:

我們以 MySQL 官方示例數(shù)據(jù)庫(kù) Employees 數(shù)據(jù)庫(kù)為例,使用 EXISTS 操作作為 WHERE 查詢搜索的條件來(lái)查詢相關(guān)記錄。

SELECT e.*#
FROM employees e
WHERE EXISTS (																				# 查詢當(dāng)下在職的員工信息
    SELECT 1
    FROM dept_emp de
    WHERE e.emp_no = de.emp_no
    AND de.to_date > NOW()
);

【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),MySQL,MySQL DQL 命令

2.4、DQL 子句:GROUP BY

在 MySQL 中, GROUP BY 子句用于將結(jié)果集根據(jù)指定的字段或者表達(dá)式進(jìn)行分組。

有時(shí)候,我們需要將結(jié)果集按照某個(gè)維度進(jìn)行匯總。這在統(tǒng)計(jì)數(shù)據(jù)的時(shí)候經(jīng)常用到,例如以下的場(chǎng)景:

  • 按班級(jí)求取平均成績(jī);
  • 按學(xué)生匯總某個(gè)人的總分;
  • 按年或者月份統(tǒng)計(jì)銷售額;
  • 按國(guó)家或者地區(qū)統(tǒng)計(jì)用戶數(shù)量。

這些正是 GROUP BY 子句發(fā)揮作用的地方。

GROUP BY 子句是 SELECT 語(yǔ)句的可選子句。 GROUP BY 子句語(yǔ)法如下:

SELECT column1[, column2,...]													# column 為分組依據(jù)的字段,至少一個(gè)字段,可以多個(gè)字段
			, aggregate_function(ci) 												# 聚合函數(shù)。這是可選的,但是一般都用得到
FROM table
[WHERE clause]																				# 可選的,用來(lái)過(guò)濾結(jié)果集中的數(shù)據(jù)
GROUP BY column1[, column2, ...];
[HAVING clause]																				# 子句是可選的,用來(lái)過(guò)濾分組數(shù)據(jù)

說(shuō)明:① GROUP BY 子句用于將結(jié)果集根據(jù)指定的字段或者表達(dá)式進(jìn)行分組;② GROUP BY 子句的分組字段或表達(dá)式至少一個(gè),可以多個(gè);③ 子句是可選的,用來(lái)過(guò)濾分組數(shù)據(jù),需要使用邏輯表達(dá)式作為條件,其中邏輯表達(dá)式中的字段或表達(dá)式只能使用分組使用的字段和聚合函數(shù)。 ④ GROUP BY 子句經(jīng)常用于數(shù)據(jù)統(tǒng)計(jì)匯總,通常使用聚合函數(shù);⑤ 經(jīng)常使用的聚合函數(shù)主要有:SUM() 求總和 、AVG() 求平均值、MAX() 求最大值、MIN() 求最小值、COUNT() 計(jì)數(shù) …

舉例:

我們以 MySQL 官方示例數(shù)據(jù)庫(kù) Employees 數(shù)據(jù)庫(kù)為例,使用 GROUP BY 子句對(duì)結(jié)果集進(jìn)行分組及聚合計(jì)算。

SELECT																								# 計(jì)算不同性別員工的平均/最大/最小年齡
	gender,
	AVG( DATEDIFF( CURRENT_DATE (), birth_date ) / 365 ) AS avg_age,
	MAX( DATEDIFF( CURRENT_DATE (), birth_date ) / 365 ) AS max_age,
	MIN( DATEDIFF( CURRENT_DATE (), birth_date ) / 365 ) AS min_age 
FROM
	employees 
GROUP BY
	gender;

【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),MySQL,MySQL DQL 命令

2.5、DQL 子句:ORDER BY

通常情況下,SELECT 語(yǔ)句返回的結(jié)果集是按照數(shù)據(jù)庫(kù)默認(rèn)的規(guī)則排序的。如果我們想按照自定義自定義規(guī)則排序結(jié)果集,可以使用 ORDER BY 子句。

我們可以通過(guò) ORDER BY 子句指定排序的字段以及升序排序還是降序排序。

ORDER BY 子句中,我們可以指定一個(gè)或多個(gè)排序的字段。 ORDER BY 子句的語(yǔ)法如下:

SELECT
   column1, column2, ...
FROM
   table_name
[WHERE clause]
ORDER BY
   column1 [ASC|DESC],
   column2 [ASC|DESC],
   ...;

說(shuō)明:① ORDER BY 子句可以指定一個(gè)或多個(gè)字段;② ASC 代表升序,DESC 代表降序,這是可選的;③ 未指定 [ASC|DESC] 時(shí),默認(rèn)值是 ASC。即,默認(rèn)是按指定的字段升序排序;④ 當(dāng)指定多個(gè)列時(shí),首先按照前面的字段排序,其次按照后面的字段排序。 ⑤ 使用 FIELD() 函數(shù)或者 CASE 子句可按照自定義的序列排序;⑥ 升序排序時(shí), NULL 在非 NULL 值之前;降序排序時(shí),NULL 在非 NULL 值之后。

2.5.1、使用 CASE 實(shí)現(xiàn)自定義排序

有時(shí)候單純的按照字段的值排序并不能滿足要求,我們需要按照自定義的順序的排序。即按照列表中元素的索引位置進(jìn)行排序。我們分別使用 CASE 子句或 FIELD() 函數(shù)實(shí)現(xiàn)它。

舉例:

我們以 MySQL 官方示例數(shù)據(jù)庫(kù) Employees 數(shù)據(jù)庫(kù)為例,使用 CASE 自定義 ORDER BY 子句對(duì)結(jié)果集進(jìn)行排序。

SELECT * FROM departments
ORDER BY CASE dept_no
    WHEN 'Finance' THEN 1
    WHEN 'Human Resources' THEN 2
    WHEN 'Research' THEN 3
    WHEN 'Development' THEN 4
    WHEN 'Customer Service' THEN 5
		WHEN 'Sales' THEN 6
END;

【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),MySQL,MySQL DQL 命令

值得注意的是,根據(jù)查詢結(jié)果我們可以看到,未包含在自定義規(guī)則內(nèi)的記錄,會(huì)在自定義查詢時(shí)排定義規(guī)則內(nèi)的記錄的前面。

2.5.2、使用 FIELD 函數(shù)實(shí)現(xiàn)自定義排序

對(duì)于上面實(shí)例中的 CASE 語(yǔ)句,我們可以如下的使用 FIELD() 代替。

SELECT DISTINCT Continent FROM country 								# 根據(jù)自定義規(guī)則對(duì)大陸進(jìn)行排列
ORDER BY FIELD(rating, 'Finance', 'Human Resources', 'Research', 'Development', 'Customer Service', 'Sales');

輸出結(jié)果與上面實(shí)例完全相同。

2.6、DQL 子句:LIMIT

在 MySQL 中,我們使用 LIMIT 子句來(lái)限定 SELECT 語(yǔ)句返回的行的數(shù)量。

LIMIT 子句可用于限制 SELECT 語(yǔ)句返回的行數(shù)。 LIMIT 接受一個(gè)或兩個(gè)非負(fù)數(shù)正數(shù)作為參數(shù)。 LIMIT 子句的語(yǔ)法如下:

LIMIT [offset,] row_count;
--- 
LIMIT row_count OFFSET offset;										  	# 二者效果相同

說(shuō)明:① offset 指定要返回的第一行的偏移量。偏移量是相對(duì)于未使用 LIMIT 語(yǔ)句時(shí)的原始結(jié)果集而言的。offset 可理解為在原始結(jié)果集的基礎(chǔ)上跳過(guò)的行數(shù);② row_count 執(zhí)行要返回的最大行數(shù);③ offset 是可選的。當(dāng)未指定 offset 時(shí),默認(rèn)的值 offset0;④ LIMIT 一般位于 SELECT 語(yǔ)句的最后。

舉例:

我們以 MySQL 官方示例數(shù)據(jù)庫(kù) Employees 數(shù)據(jù)庫(kù)為例,使用 LIMIT 子句限定結(jié)果返回?cái)?shù)量。

SELECT * FROM employees LIMIT 60,10;								# 限定返回?cái)?shù)量 10 ,偏移量 60

【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句,數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù),MySQL,MySQL DQL 命令

2.7、DQL子查詢

MySQL 子查詢是嵌套一個(gè)語(yǔ)句中的查詢語(yǔ)句,也被稱為內(nèi)部查詢。子查詢經(jīng)常用在 WHERE 子句中。

例如,我前面提到的操作符 EXISTS 就屬于子查詢的范疇。

此外,我們還可以將查詢結(jié)果作為 IN 的列表項(xiàng)以實(shí)現(xiàn)最終的查詢結(jié)果,這里需要注意在子查詢中返回的結(jié)果必須是一個(gè)字段列表項(xiàng)。

但大多數(shù)情況下,使用 IN 的自查詢的性能不如使用操作符 EXISTS 的性能的。最后,還存在一種在 FROM 中使用子查詢的方式,即當(dāng)一個(gè)子查詢位于 FORM 子句中時(shí),這個(gè)子查詢被稱為派生表。

2.8、DQL集合操作符:UNION

UNION 是一個(gè)集合操作符,它用于合并 2 個(gè)結(jié)果集中的所有的行

SQL 標(biāo)準(zhǔn)中定義了 3 個(gè)集合操作符: UNION, INTERSECTMINUS。目前 MySQL 只支持 UNION。

以下是集合操作符 UNION 的語(yǔ)法:

SELECT statementA
UNION [DISTINCT | ALL]																	# UNION 默認(rèn)為 UNION DISTINCT 會(huì)去除重復(fù)記錄
SELECT statementB

說(shuō)明:① UNION 為雙目操作符,需要兩個(gè) SELECT 語(yǔ)句作為操作數(shù);② UNION 中的 SELECT 語(yǔ)句中的列數(shù)、列順序必須相同;③ UNION 運(yùn)算包括 UNION DISTINCTUNION ALL 兩種算法,其中 UNION DISTINCT 可以簡(jiǎn)寫(xiě)為 UNION; ④UNION 會(huì)刪除兩個(gè)結(jié)果集中的重復(fù)記錄行,而 UNION ALL 則保留全部記錄行;⑤ UNION 運(yùn)算取第一個(gè)參與運(yùn)算的結(jié)果集的列名作為最終的列名文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-839707.html

到了這里,關(guān)于【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • MySQL數(shù)據(jù)庫(kù)基礎(chǔ)(十):DQL數(shù)據(jù)查詢語(yǔ)言

    MySQL數(shù)據(jù)庫(kù)基礎(chǔ)(十):DQL數(shù)據(jù)查詢語(yǔ)言

    文章目錄 DQL數(shù)據(jù)查詢語(yǔ)言 一、數(shù)據(jù)集準(zhǔn)備 二、select查詢 三、簡(jiǎn)單查詢 四、條件查詢 1、比較查詢 2、范圍查詢 3、邏輯查詢 4、模糊查詢 5、非空查詢 五、排序查詢 六、聚合查詢 七、分組查詢與having子句 1、分組查詢介紹 2、group by的使用 3、group by + 聚合函數(shù)的使用 4、gro

    2024年02月21日
    瀏覽(18)
  • 數(shù)據(jù)庫(kù)MySQL(三):DML、DQL、DCL

    數(shù)據(jù)操作語(yǔ)言(Data Manipulation Language,DML) 該語(yǔ)言主要對(duì)數(shù)據(jù)庫(kù)表中的數(shù)據(jù)進(jìn)行增刪改 數(shù)據(jù)查詢語(yǔ)言(Data Query Language,DQL) 該語(yǔ)言主要用于查詢數(shù)據(jù)庫(kù)表的記錄 命令格式 SELECT [DISTINCT] ???字段1 [AS 字段別名], [字段2 [AS 字段別名]], … FROM ???表名列表 WHERE ???條件

    2024年02月08日
    瀏覽(34)
  • MYSQL數(shù)據(jù)庫(kù)基本操作-DQL-基本查詢

    MYSQL數(shù)據(jù)庫(kù)基本操作-DQL-基本查詢

    一.概念 數(shù)據(jù)庫(kù)管理系統(tǒng)一個(gè)重要功能就是數(shù)據(jù)查詢。數(shù)據(jù)查詢不應(yīng)是簡(jiǎn)單返回?cái)?shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù),還應(yīng)該根據(jù)需要對(duì)數(shù)據(jù)進(jìn)行篩選以及確定數(shù)據(jù)以什么樣的格式顯示。 MySQL提供了功能強(qiáng)大,靈活的語(yǔ)句來(lái)實(shí)現(xiàn)這些操作。 MySQL數(shù)據(jù)庫(kù)使用select語(yǔ)句來(lái)查詢數(shù)據(jù)。 二:語(yǔ)法 ?

    2024年01月25日
    瀏覽(24)
  • Mysql-------SQL:DDL數(shù)據(jù)定義語(yǔ)言、DDM數(shù)據(jù)操作語(yǔ)言、DQL數(shù)據(jù)庫(kù)查詢語(yǔ)言、DQL數(shù)據(jù)控制語(yǔ)言

    Mysql-------SQL:DDL數(shù)據(jù)定義語(yǔ)言、DDM數(shù)據(jù)操作語(yǔ)言、DQL數(shù)據(jù)庫(kù)查詢語(yǔ)言、DQL數(shù)據(jù)控制語(yǔ)言

    SQL語(yǔ)言可以分為: DDL(Data Definition Language)語(yǔ)言:數(shù)據(jù)定義語(yǔ)言,用于 創(chuàng)建或更改數(shù)據(jù)庫(kù)中的表、視圖、索引等對(duì)象 DML(Data Manipulation Language)語(yǔ)言:數(shù)據(jù)操作語(yǔ)言,用來(lái)對(duì) 數(shù)據(jù)庫(kù)表中的數(shù)據(jù)進(jìn)行增刪改查操作; DQL(Data Query Language)語(yǔ)言: 數(shù)據(jù)查詢語(yǔ)言,用來(lái)查詢數(shù)據(jù)庫(kù)

    2024年02月13日
    瀏覽(37)
  • 【MySQL 系列】MySQL 語(yǔ)句篇_DQL 語(yǔ)句

    DQL(Data Query Language),即數(shù)據(jù)查詢語(yǔ)言,用來(lái)查詢數(shù)據(jù)記錄。DQL 基本結(jié)構(gòu)由 SELECT FROM 、 WHERE 、 JOIN 等子句構(gòu)成。 DQL 語(yǔ)句并不會(huì)改變數(shù)據(jù)庫(kù),而是讓數(shù)據(jù)庫(kù)將查詢結(jié)果發(fā)送結(jié)果集給客戶端,返回的結(jié)果是一張?zhí)摂M表。 1、MySQL 中的 DQL 語(yǔ)句 1.1、數(shù)據(jù)查詢語(yǔ)言–DQL DQL(Data Q

    2024年03月14日
    瀏覽(25)
  • 數(shù)據(jù)庫(kù)(mysql語(yǔ)句)循環(huán)語(yǔ)句

    數(shù)據(jù)庫(kù)(mysql語(yǔ)句)循環(huán)語(yǔ)句

    例題1: 20到50之間能被5除余1的所有自然數(shù)的和 ? 例題2: 實(shí)現(xiàn)如下圖 代碼 ?例題3: 代碼:power表示power(i,j)-----i的j次方 例題4: ?實(shí)現(xiàn) 代碼: ?注:substring是從1開(kāi)始,第一個(gè)參數(shù)表示要截取的字符串,第二個(gè)i和第三個(gè)j表示從第i個(gè)開(kāi)始截,截取j個(gè),如:str=HELLO,?subs

    2024年02月05日
    瀏覽(19)
  • MySQL常用數(shù)據(jù)庫(kù)語(yǔ)句

    ==數(shù)據(jù)庫(kù)== 1、創(chuàng)建數(shù)據(jù)庫(kù) create database [IF NOT EXISTS] 數(shù)據(jù)庫(kù)名; 2、刪除數(shù)據(jù)庫(kù) drop database [IF EXISTS] 數(shù)據(jù)庫(kù)名; 3、切換數(shù)據(jù)庫(kù) select database(); 4、查詢數(shù)據(jù)庫(kù) show databases; ———————————————————————————— ==數(shù)據(jù)表== 1、創(chuàng)建數(shù)據(jù)表 create table 表名( 字段名

    2024年02月01日
    瀏覽(30)
  • MySQL數(shù)據(jù)庫(kù)管理高級(jí)語(yǔ)句

    MySQL數(shù)據(jù)庫(kù)管理高級(jí)語(yǔ)句

    復(fù)制表及內(nèi)容 ? ??克隆表 獲取數(shù)據(jù)表的表結(jié)構(gòu)、索引等信息 ? ?清空表,刪除表內(nèi)的所有數(shù)據(jù) ? ? ? 刪除的特點(diǎn): 創(chuàng)建臨時(shí)表 臨時(shí)表創(chuàng)建成功之后,使用SHOWTABLES命令是看不到創(chuàng)建的臨時(shí)表的, 臨時(shí)表會(huì)在連接退出后被銷毀。 如果在退出連接之前,也可以可執(zhí)行增刪改查

    2024年02月11日
    瀏覽(101)
  • MySQL數(shù)據(jù)庫(kù)高級(jí)查詢語(yǔ)句

    MySQL數(shù)據(jù)庫(kù)高級(jí)查詢語(yǔ)句

    基于這兩個(gè)數(shù)據(jù)庫(kù)表格來(lái)實(shí)現(xiàn)以下實(shí)驗(yàn) concat(x,y)將提供的參數(shù)x和y拼接成一個(gè)字符串 trim()返回去除指定格式的值 GROUP BY 有一個(gè)原則,凡是在 GROUP BY 后面出現(xiàn)的字段,必須在 SELECT 后面出現(xiàn); 凡是在 SELECT 后面出現(xiàn)的、且未在聚合函數(shù)中出現(xiàn)的字段,必須出現(xiàn)在 GROUP BY 后

    2024年02月11日
    瀏覽(97)
  • MySQL數(shù)據(jù)庫(kù)——高級(jí)查詢語(yǔ)句

    MySQL數(shù)據(jù)庫(kù)——高級(jí)查詢語(yǔ)句

    數(shù)據(jù)庫(kù)是用來(lái)存儲(chǔ)數(shù)據(jù),更新,查詢數(shù)據(jù)的工具,而查詢數(shù)據(jù)是一個(gè)數(shù)據(jù)庫(kù)最為核心的功能,數(shù)據(jù)庫(kù)是用來(lái)承載信息,而信息是用來(lái)分析和查看的。所以掌握更為精細(xì)化的查詢方式是很有必要的。本文將圍繞數(shù)據(jù)的高級(jí)查詢語(yǔ)句展開(kāi)。 1.指定指字段進(jìn)行查詢——SELECT 語(yǔ)法:

    2024年02月11日
    瀏覽(106)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包