久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

mysql常用功能有哪些

140次閱讀
沒有評論

共計 8256 個字符,預計需要花費 21 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

這篇文章主要介紹 mysql 常用功能有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

一、基礎部分一、使用 MySQL1.1、SELECT 語句 1.2、排序檢索數據 1.3、過濾數據 1.4、數據過濾 1.5、用通配符進行過濾 1.6、用正則表達式進行搜索 1.6.1 基本字符匹配 1.6.2 進行 OR 匹配 1.6.3 匹配幾個字符之一 1.6.4 匹配范圍 1.6.5 匹配特殊字符 1.6.6 匹配字符類 1.6.7 匹配多個實例 1.6.8 定位符 1.7、創建計算字段一、使用 MySQL

連接到 MySQL 時不會由數據庫打開,所以首先要做的就是打開一個數據庫:
USE user
USE 后面加上想要打開的數據庫,如果不知道數據庫的名字,使用 SHOW DATABASES 查看,使用 SHOW TABLES 可以查看一個數據庫中的表,當然也可以查看表中的列 SHOW user_id FROM user,它對每個字段返回一行,行中包含字段名、數據類型、是否允許 NULL、鍵信息、默認值以及其他信息(DESCRIBE user 是上面語句的快捷方式)

1.1、SELECT 語句

為了使用 SELECT 檢索表數據,必須至少給出兩條信息——想選擇什么,以及從什么地方選擇。
所需的列名在 SELECT 關鍵字之后給出,FROM 關鍵字指出從其中檢索數據的表名。
要想從一個表中檢索多個列,使用相同的 SELECT 語句。唯一的不同是必須在 SELECT 關鍵字后給出多個列名,列名之間必須以逗號分隔。
使用 DISTINCT 關鍵字可以只檢索出不同值的行,重復的不會再顯示(注意:DISTINCT 關鍵字應用于所有列而不僅是前置它的列)
SELECT 語句返回所有匹配的行,它們可能是指定表中的每個行。為了返回第一行或前幾行,可使用 LIMIT 子句。
LIMIT 5 ,5 指示 MySQL 返回從行 5 開始的 5 行。第一個數為開始位置,第二個數為要檢索的行數。

1.2、排序檢索數據

為了明確地排序用 SELECT 語句檢索出的數據,可使用 ORDER BY 子句。ORDER BY 子句取一個或多個列的名字,據此對輸出進行排序。
為了按多個列排序,只要指定列名,列名之間用逗號分開即可。
數據排序不限于升序排序(從 A 到 Z)。這只是默認的排序順序,還可以使用 ORDER BY 子句以降序(從 Z 到 A)順序排序。為了進行降序排序,必須指定 DESC 關鍵字。(DESC 關鍵字只應用到直接位于其前面的列名)

1.3、過濾數據

本章將講授如何使用 SELECT 語句的 WHERE 子句指定搜索條件。在 SELECT 語句中,數據根據 WHERE 子句中指定的搜索條件進行過濾。WHERE 子句在表名(FROM 子句)之后給出。在同時使用 ORDER BY 和 WHERE 子句時,應該讓 ORDER BY 位于 WHERE 之后。WHERE 子句操作符如下圖所示:
mysql 常用功能有哪些

1.4、數據過濾

本章講授如何組合 WHERE 子句以建立功能更強的更高級的搜索條件。我們還將學習如何使用 NOT 和 IN 操作符。
AND 操作符計算次序高于 OR 操作符

1.5、用通配符進行過濾

本章介紹什么是通配符、如何使用通配符以及怎樣使用 LIKE 操作符進行通配搜索,以便對數據進行復雜過濾。
為在搜索子句中使用通配符,必須使用 LIKE 操作符。LIKE 指示 MySQL,后跟的搜索模式利用通配符匹配而不是直接相等匹配進行比較。
最常使用的通配符是百分號(%)。在搜索串中,% 表示任何字符出現任意次數。(根據 MySQL 的配置方式,搜索可以是區分大小寫的。如果區分大小寫)。
另一個有用的通配符是下劃線(_)。下劃線的用途與 % 一樣,但下劃線只匹配單個字符而不是多個字符。
正如所見,MySQL 的通配符很有用。但這種功能是有代價的:通配符搜索的處理一般要比前面討論的其他搜索所花時間更長。這里給出一些使用通配符要記住的技巧。
1. 不要過度使用通配符。如果其他操作符能達到相同的目的,應該使用其他操作符。
2. 在確實需要使用通配符時,除非絕對有必要,否則不要把它們用在搜索模式的開始處。把通配符置于搜索模式的開始處,搜索起來是最慢的。
3. 仔細注意通配符的位置。如果放錯地方,可能不會返回想要的數據。

1.6、用正則表達式進行搜索 1.6.1 基本字符匹配

我們從一個非常簡單的例子開始。下面的語句檢索列 prod_name 包含文本 1000 的所有行:
SELECT prod_name
FROM products
WHERE prod_name REGEXP‘1000’
ORDER BY prod_name;

它告訴 MySQL:REGEXP 后所跟的東西作為正則表達式(與文字正文 1000 匹配的一個正則表達式)處理。

SELECT prod_name
FROM products
WHERE prod_name REGEXP‘.000’
ORDER BY prod_name;

. 是正則表達式語言中一個特殊的字符。它表示匹配任意一個字符,因此,1000 和 2000 都匹配且返回。
MySQL 中的正則表達式匹配(自版本 3.23.4 后)不區分大小寫(即,大寫和小寫都匹配)。為區分大小寫,可使用 BINARY 關鍵字,如 WHERE prod_name REGEXP BINARY‘JetPack .000’。

1.6.2 進行 OR 匹配

為搜索兩個串之一(或者為這個串,或者為另一個串),使用 |,如下所示:
SELECT prod_name
FROM products
WHERE prod_name REGEXP‘1000|2000’
ORDER BY prod_name;

1.6.3 匹配幾個字符之一

如果你只想匹配特定的字符,怎么辦?可通過指定一組用 [和] 括起來的字符來完成,如下所示:
SELECT prod_name
FROM products
WHERE prod_name REGEXP‘[123] Ton’
ORDER BY prod_name;
字符集合也可以被否定,即,它們將匹配除指定字符外的任何東西。為否定一個字符集,在集合的開始處放置一個 ^ 即可。因此,盡管[123] 匹配字符 1、2 或 3,但[^123] 卻匹配除這些字符外的任何東西。

1.6.4 匹配范圍

SELECT prod_name
FROM products
WHERE prod_name REGEXP‘[1-5] Ton’
ORDER BY prod_name;

1.6.5 匹配特殊字符

正則表達式語言由具有特定含義的特殊字符構成。我們已經看到.、[]、| 和 - 等,還有其他一些字符。請問,如果你需要匹配這些字符,應該怎么辦呢?例如,如果要找出包含. 字符的值,怎樣搜索?為了匹配特殊字符,必須用 \\ 為前導。\\- 表示查找 -,\\. 表示查找.。

SELECT vend_nameFROM vendorsWHERE vend_name REGEXP \\. ORDER BY vend_name;

正則表達式內具有特殊意義的所有字符都必須以這種方式轉義。這包括.、|、[] 以及迄今為止使用過的其他特殊字符。

1.6.6 匹配字符類

存在找出你自己經常使用的數字、所有字母字符或所有數字字母字符等的匹配。為更方便工作,可以使用預定義的字符集,稱為字符類(characterclass)。
mysql 常用功能有哪些

1.6.7 匹配多個實例

目前為止使用的所有正則表達式都試圖匹配單次出現。如果存在一個匹配,該行被檢索出來,如果不存在,檢索不出任何行。但有時需要對匹配的數目進行更強的控制。例如,你可能需要尋找所有的數,不管數中包含多少數字,或者你可能想尋找一個單詞并且還能夠適應一個尾隨的 s(如果存在),等等。
mysql 常用功能有哪些
mysql 常用功能有哪些

SELECT prod_nameFROM productsWHERE prod_name REGEXP \\([0-9] sticks?\\) ORDER BY prod_name; 正則表達式 \\([0-9]sticks?\\) 需要解說一下。\\(匹配(,[0-9] 匹配任意數字(這個例子中為 1 和 5),sticks? 匹配 stick 和 sticks(s 后的? 使 s 可選,因為? 匹配它前面的任何字符的 0 次或 1 次出現),\\) 匹配)。沒有?,匹配 stick 和 sticks 會非常困難。

以下是另一個例子。這次我們打算匹配連在一起的 4 位數字:

SELECT prod_nameFROM productsWHERE prod_name REGEXP [[:digit:]]{4} ORDER BY prod_name;

1.6.8 定位符

目前為止的所有例子都是匹配一個串中任意位置的文本。為了匹配特定位置的文本,需要使用下表列出的定位符。
mysql 常用功能有哪些

例如,如果你想找出以一個數(包括以小數點開始的數)開始的所有產品,怎么辦?簡單搜索[0-9\.](或[[:digit:]\. ])不行,因為它將在文本內任意位置查找匹配。解決辦法是使用 ^ 定位符,如下所示:

SELECT prod_nameFROM productsWHERE prod_name REGEXP ^[0-9\\.] ORDER BY prod_name;

1.7、創建計算字段

存儲在表中的數據都不是應用程序所需要的。我們需要直接從數據庫中檢索出轉換、計算或格式化過的數據;而不是檢索出數據,然后再在客戶機應用程序或報告程序中重新格式化。這就是計算字段發揮作用的所在了。與前面各章介紹過的列不同,計算字段并不實際存在于數據庫表中。計算字段是運行時在 SELECT 語句內創建的。
在 MySQL 的 SELECT 語句中,可使用 Concat() 函數來拼接兩個列。

SELECT Concat(vend_name, ( , vend_country,) )FROM vendorsORDER BY vend_name;

過刪除數據右側多余的空格來整理數據,這可以使用 MySQL 的 RTrim() 函數來完成,如下所示:

SELECT Concat(RTrim(vend_name), (, RTrim(vend_country), ) )FROM vendorsORDER BY vend_name;

別名(alias)是一個字段或值的替換名。別名用 AS 關鍵字賦予。請看下面的 SELECT 語句:

SELECT Concat(RTrim(vend_name), (, RTrim(vend_country), ) ) ASvend_titleFROM vendorsORDER BY vend_name;

一、基礎部分一、使用 MySQL1.1、SELECT 語句 1.2、排序檢索數據 1.3、過濾數據 1.4、數據過濾 1.5、用通配符進行過濾 1.6、用正則表達式進行搜索 1.6.1 基本字符匹配 1.6.2 進行 OR 匹配 1.6.3 匹配幾個字符之一 1.6.4 匹配范圍 1.6.5 匹配特殊字符 1.6.6 匹配字符類 1.6.7 匹配多個實例 1.6.8 定位符 1.7、創建計算字段一、使用 MySQL

連接到 MySQL 時不會由數據庫打開,所以首先要做的就是打開一個數據庫:
USE user
USE 后面加上想要打開的數據庫,如果不知道數據庫的名字,使用 SHOW DATABASES 查看,使用 SHOW TABLES 可以查看一個數據庫中的表,當然也可以查看表中的列 SHOW user_id FROM user,它對每個字段返回一行,行中包含字段名、數據類型、是否允許 NULL、鍵信息、默認值以及其他信息(DESCRIBE user 是上面語句的快捷方式)

1.1、SELECT 語句

為了使用 SELECT 檢索表數據,必須至少給出兩條信息——想選擇什么,以及從什么地方選擇。
所需的列名在 SELECT 關鍵字之后給出,FROM 關鍵字指出從其中檢索數據的表名。
要想從一個表中檢索多個列,使用相同的 SELECT 語句。唯一的不同是必須在 SELECT 關鍵字后給出多個列名,列名之間必須以逗號分隔。
使用 DISTINCT 關鍵字可以只檢索出不同值的行,重復的不會再顯示(注意:DISTINCT 關鍵字應用于所有列而不僅是前置它的列)
SELECT 語句返回所有匹配的行,它們可能是指定表中的每個行。為了返回第一行或前幾行,可使用 LIMIT 子句。
LIMIT 5 ,5 指示 MySQL 返回從行 5 開始的 5 行。第一個數為開始位置,第二個數為要檢索的行數。

1.2、排序檢索數據

為了明確地排序用 SELECT 語句檢索出的數據,可使用 ORDER BY 子句。ORDER BY 子句取一個或多個列的名字,據此對輸出進行排序。
為了按多個列排序,只要指定列名,列名之間用逗號分開即可。
數據排序不限于升序排序(從 A 到 Z)。這只是默認的排序順序,還可以使用 ORDER BY 子句以降序(從 Z 到 A)順序排序。為了進行降序排序,必須指定 DESC 關鍵字。(DESC 關鍵字只應用到直接位于其前面的列名)

1.3、過濾數據

本章將講授如何使用 SELECT 語句的 WHERE 子句指定搜索條件。在 SELECT 語句中,數據根據 WHERE 子句中指定的搜索條件進行過濾。WHERE 子句在表名(FROM 子句)之后給出。在同時使用 ORDER BY 和 WHERE 子句時,應該讓 ORDER BY 位于 WHERE 之后。WHERE 子句操作符如下圖所示:
mysql 常用功能有哪些

1.4、數據過濾

本章講授如何組合 WHERE 子句以建立功能更強的更高級的搜索條件。我們還將學習如何使用 NOT 和 IN 操作符。
AND 操作符計算次序高于 OR 操作符

1.5、用通配符進行過濾

本章介紹什么是通配符、如何使用通配符以及怎樣使用 LIKE 操作符進行通配搜索,以便對數據進行復雜過濾。
為在搜索子句中使用通配符,必須使用 LIKE 操作符。LIKE 指示 MySQL,后跟的搜索模式利用通配符匹配而不是直接相等匹配進行比較。
最常使用的通配符是百分號(%)。在搜索串中,% 表示任何字符出現任意次數。(根據 MySQL 的配置方式,搜索可以是區分大小寫的。如果區分大小寫)。
另一個有用的通配符是下劃線(_)。下劃線的用途與 % 一樣,但下劃線只匹配單個字符而不是多個字符。
正如所見,MySQL 的通配符很有用。但這種功能是有代價的:通配符搜索的處理一般要比前面討論的其他搜索所花時間更長。這里給出一些使用通配符要記住的技巧。
1. 不要過度使用通配符。如果其他操作符能達到相同的目的,應該使用其他操作符。
2. 在確實需要使用通配符時,除非絕對有必要,否則不要把它們用在搜索模式的開始處。把通配符置于搜索模式的開始處,搜索起來是最慢的。
3. 仔細注意通配符的位置。如果放錯地方,可能不會返回想要的數據。

1.6、用正則表達式進行搜索 1.6.1 基本字符匹配

我們從一個非常簡單的例子開始。下面的語句檢索列 prod_name 包含文本 1000 的所有行:
SELECT prod_name
FROM products
WHERE prod_name REGEXP‘1000’
ORDER BY prod_name;

它告訴 MySQL:REGEXP 后所跟的東西作為正則表達式(與文字正文 1000 匹配的一個正則表達式)處理。

SELECT prod_name
FROM products
WHERE prod_name REGEXP‘.000’
ORDER BY prod_name;

. 是正則表達式語言中一個特殊的字符。它表示匹配任意一個字符,因此,1000 和 2000 都匹配且返回。
MySQL 中的正則表達式匹配(自版本 3.23.4 后)不區分大小寫(即,大寫和小寫都匹配)。為區分大小寫,可使用 BINARY 關鍵字,如 WHERE prod_name REGEXP BINARY‘JetPack .000’。

1.6.2 進行 OR 匹配

為搜索兩個串之一(或者為這個串,或者為另一個串),使用 |,如下所示:
SELECT prod_name
FROM products
WHERE prod_name REGEXP‘1000|2000’
ORDER BY prod_name;

1.6.3 匹配幾個字符之一

如果你只想匹配特定的字符,怎么辦?可通過指定一組用 [和] 括起來的字符來完成,如下所示:
SELECT prod_name
FROM products
WHERE prod_name REGEXP‘[123] Ton’
ORDER BY prod_name;
字符集合也可以被否定,即,它們將匹配除指定字符外的任何東西。為否定一個字符集,在集合的開始處放置一個 ^ 即可。因此,盡管[123] 匹配字符 1、2 或 3,但[^123] 卻匹配除這些字符外的任何東西。

1.6.4 匹配范圍

SELECT prod_name
FROM products
WHERE prod_name REGEXP‘[1-5] Ton’
ORDER BY prod_name;

1.6.5 匹配特殊字符

正則表達式語言由具有特定含義的特殊字符構成。我們已經看到.、[]、| 和 - 等,還有其他一些字符。請問,如果你需要匹配這些字符,應該怎么辦呢?例如,如果要找出包含. 字符的值,怎樣搜索?為了匹配特殊字符,必須用 \\ 為前導。\\- 表示查找 -,\\. 表示查找.。

SELECT vend_nameFROM vendorsWHERE vend_name REGEXP \\. ORDER BY vend_name;

正則表達式內具有特殊意義的所有字符都必須以這種方式轉義。這包括.、|、[] 以及迄今為止使用過的其他特殊字符。

1.6.6 匹配字符類

存在找出你自己經常使用的數字、所有字母字符或所有數字字母字符等的匹配。為更方便工作,可以使用預定義的字符集,稱為字符類(characterclass)。
mysql 常用功能有哪些

1.6.7 匹配多個實例

目前為止使用的所有正則表達式都試圖匹配單次出現。如果存在一個匹配,該行被檢索出來,如果不存在,檢索不出任何行。但有時需要對匹配的數目進行更強的控制。例如,你可能需要尋找所有的數,不管數中包含多少數字,或者你可能想尋找一個單詞并且還能夠適應一個尾隨的 s(如果存在),等等。
mysql 常用功能有哪些
mysql 常用功能有哪些

SELECT prod_nameFROM productsWHERE prod_name REGEXP \\([0-9] sticks?\\) ORDER BY prod_name; 正則表達式 \\([0-9]sticks?\\) 需要解說一下。\\(匹配(,[0-9] 匹配任意數字(這個例子中為 1 和 5),sticks? 匹配 stick 和 sticks(s 后的? 使 s 可選,因為? 匹配它前面的任何字符的 0 次或 1 次出現),\\) 匹配)。沒有?,匹配 stick 和 sticks 會非常困難。

以下是另一個例子。這次我們打算匹配連在一起的 4 位數字:

SELECT prod_nameFROM productsWHERE prod_name REGEXP [[:digit:]]{4} ORDER BY prod_name;

1.6.8 定位符

目前為止的所有例子都是匹配一個串中任意位置的文本。為了匹配特定位置的文本,需要使用下表列出的定位符。
mysql 常用功能有哪些

例如,如果你想找出以一個數(包括以小數點開始的數)開始的所有產品,怎么辦?簡單搜索[0-9\.](或[[:digit:]\. ])不行,因為它將在文本內任意位置查找匹配。解決辦法是使用 ^ 定位符,如下所示:

SELECT prod_nameFROM productsWHERE prod_name REGEXP ^[0-9\\.] ORDER BY prod_name;

1.7、創建計算字段

存儲在表中的數據都不是應用程序所需要的。我們需要直接從數據庫中檢索出轉換、計算或格式化過的數據;而不是檢索出數據,然后再在客戶機應用程序或報告程序中重新格式化。這就是計算字段發揮作用的所在了。與前面各章介紹過的列不同,計算字段并不實際存在于數據庫表中。計算字段是運行時在 SELECT 語句內創建的。
在 MySQL 的 SELECT 語句中,可使用 Concat() 函數來拼接兩個列。

SELECT Concat(vend_name, ( , vend_country,) )FROM vendorsORDER BY vend_name;

過刪除數據右側多余的空格來整理數據,這可以使用 MySQL 的 RTrim() 函數來完成,如下所示:

SELECT Concat(RTrim(vend_name), (, RTrim(vend_country), ) )FROM vendorsORDER BY vend_name;

別名(alias)是一個字段或值的替換名。別名用 AS 關鍵字賦予。請看下面的 SELECT 語句:

SELECT Concat(RTrim(vend_name), (, RTrim(vend_country), ) ) ASvend_titleFROM vendorsORDER BY vend_name;

以上是“mysql 常用功能有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注丸趣 TV 行業資訊頻道!

向 AI 問一下細節

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-18發表,共計8256字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 克东县| 理塘县| 建瓯市| 嘉定区| 玉林市| 林芝县| 克拉玛依市| 永和县| 古田县| 柳河县| 游戏| 邵阳市| 大名县| 仪陇县| 丹阳市| 远安县| 宽甸| 神池县| 南乐县| 浪卡子县| 阳原县| 灯塔市| 韶山市| 蓬莱市| 孟津县| 醴陵市| 博爱县| 万载县| 定陶县| 连平县| 惠来县| 文登市| 平度市| 克什克腾旗| 商丘市| 浦东新区| 延长县| 鲁山县| 乐东| 新邵县| 桓仁|