Mysql資料庫基礎學習筆記

来源:https://www.cnblogs.com/yuzly/archive/2019/03/23/10582295.html
-Advertisement-
Play Games

Mysql資料庫基礎學習筆記 1.mysql查看當前登錄的賬戶名以及資料庫 一、單表查詢 1、創建資料庫yuzly,創建表fruits 創建表 插入內容 2、查詢所有欄位 3.查詢指定欄位 4.帶IN關鍵字的查詢 IN關鍵字:IN(xx,yy,...) 滿足條件範圍內的一個值即為匹配項 5.帶BET ...


Mysql資料庫基礎學習筆記

1.mysql查看當前登錄的賬戶名以及資料庫

 

一、單表查詢

1、創建資料庫yuzly,創建表fruits

  創建表     

CREATE TABLE fruits(f_id CHAR(10) NOT NULL,s_id INT NOT NULL,f_name char(255) NOT NULL,f_price DECIMAL(8,2) NOT NULL,PRIMARY KEY(f_id));

  插入內容   

INSERT INTO fruits(f_id,s_id,f_name,f_price) VALUES('a1',101,'apple',5.2);
INSERT INTO fruits(f_id,s_id,f_name,f_price) VALUES('b1',101,'blackberry',10.2);
INSERT INTO fruits(f_id,s_id,f_name,f_price) VALUES('bs1',102,'orange',11.2);
INSERT INTO fruits(f_id,s_id,f_name,f_price) VALUES('bs2',105,'melon',8.2);
INSERT INTO fruits(f_id,s_id,f_name,f_price) VALUES('t1',102,'banana',10.3);
INSERT INTO fruits(f_id,s_id,f_name,f_price) VALUES('t2',102,'grape', 5.3);
INSERT INTO fruits(f_id,s_id,f_name,f_price) VALUES('o2',103,'coconut',9.2);
INSERT INTO fruits(f_id,s_id,f_name,f_price) VALUES('c0',101,'cherry',3.2);
INSERT INTO fruits(f_id,s_id,f_name,f_price) VALUES('a2',103,'apricot',2.2);
INSERT INTO fruits(f_id,s_id,f_name,f_price) VALUES('l2',104,'lemon',6.4);
INSERT INTO fruits(f_id,s_id,f_name,f_price) VALUES('b2',104,'berry',7.6);
INSERT INTO fruits(f_id,s_id,f_name,f_price) VALUES('m1',106,'mango',15.6);
INSERT INTO fruits(f_id,s_id,f_name,f_price) VALUES('m2',105,'xbabay',2.6);
INSERT INTO fruits(f_id,s_id,f_name,f_price) VALUES('t4',107,'xbababa',3.6);
INSERT INTO fruits(f_id,s_id,f_name,f_price) VALUES('m3',105,'xxtt',11.6);
INSERT INTO fruits(f_id,s_id,f_name,f_price) VALUES('b5',107,'xxxx',3.6 );

2、查詢所有欄位

  

3.查詢指定欄位

  

4.帶IN關鍵字的查詢

IN關鍵字:IN(xx,yy,...) 滿足條件範圍內的一個值即為匹配項

  

5.帶BETWEEN AND的範圍查詢

BETWEEN ... AND ... : 在...到...範圍內的值即為匹配項

  

6.帶LIKE的字元匹配查詢

LIKE: 相當於模糊查詢,和LIKE一起使用的通配符有  "%"、"_" 

  "%":作用是能匹配任意長度的字元。

  "_":只能匹配任意一個字元

  

7.查詢空值

空值不是指為空字元串""或者0,一般表示數據未知或者在以後在添加數據,也就是在添加數據時,其欄位上預設為NULL,也就是說,如果該欄位上不插入任何值,就為NULL。此時就可以查詢出來。

SELECT * FROM 表名 WHERE 欄位名 IS NULL;  //查詢欄位名是NULL的記錄

SELECT * FROM 表名 WHERE 欄位名 IS NOT NULL;  //查詢欄位名不是NULL的記錄

8.帶AND的多條件查詢

  

9.帶OR的多條件查詢

  

10.關鍵字DISTINCT(查詢結果不重覆)

  

11.對查詢結果排序(ORDER BY)

  

  

12.分組查詢(GROUP BY)

分組之後還可以進行條件過濾,將不想要的分組丟棄,使用關鍵字 HAVING

HAVING和WHERE都是進行條件過濾的,區別就在於 WHERE 是在分組之前進行過濾,而HAVING是在分組之後進行條件過濾。

  

  

13.使用LIMIT限制查詢結果的數量

  

14.COUNT()函數

COUNT(*):計算表中的總的行數,不管某列有數值或者為空值,因為*就是代表查詢表中所有的數據行。

COUNT(欄位名):計算該欄位名下總的行數,計算時會忽略空值的行,也就是NULL值的行。

 

15.SUM()函數

  

16.AVG()函數

  

17.MAX()函數、MIN()函數

  

二、多表查詢

1.創建表,插入數據 

CREATE TABLE suppliers(s_id INT NOT NULL,s_name CHAR(50) NOT NULL,s_city CHAR(50) NULL,s_zip CHAR(10) NULL,s_call CHAR(50) NOT NULL,PRIMARY KEY(s_id));

INSERT INTO suppliers VALUES(101,'Supplies A','Tianjin','400000','18075');
INSERT INTO suppliers VALUES(102,'Supplies B','Chongqing','400000','44333');
INSERT INTO suppliers VALUES(103,'Supplies C','Shanghai','400000','90046');
INSERT INTO suppliers VALUES(104,'Supplies D','Zhongshan','400000','11111');
INSERT INTO suppliers VALUES(105,'Supplies E','Taiyuang','400000','22222');
INSERT INTO suppliers VALUES(106,'Supplies F','Beijing','400000','45678');
INSERT INTO suppliers VALUES(107,'Supplies G','Zhengzhou','400000','33332');
INSERT INTO suppliers VALUES(108,'Supplies H','Xiaan','400000','44442');
INSERT INTO suppliers VALUES(109,'Supplies I','Fuzhou','400000','55552');
INSERT INTO suppliers VALUES(110,'Supplies J','Xiamen','400000','66662');

2.普通雙表連接查詢

  

3.內連接查詢

格式:表名 INNER JOIN 表名 ON 連接條件

  

4.外連接查詢

內連接是將符合查詢條件(符合連接條件)的行返回,也就是相關聯的行就返回。

外連接除了返回相關聯的行之外,將沒有關聯的行也會顯示出來。

左外連接查詢

格式: 表名 LEFT JOIN 表名 ON 條件;

返回包括左表中的所有記錄和右表中連接欄位相等的記錄,通俗點講,就是除了顯示相關聯的行,還會將左表中的所有記錄行都顯示出來。

  

5.右外連接查詢

格式: 表名 RIGHT JOIN 表名 ON 條件 

返回包括右表中的所有記錄和右表中連接欄位相等的記錄

  

6.複合條件連接查詢

 

7.使用INNER JOIN語法進行內連接查詢,並對查詢結果進行排序

 

8.子查詢

將查詢一張表得到的結果來充當另一個查詢的條件,這樣嵌套的查詢就稱為子查詢。

搭建環境

  

9.帶ANY、SOME關鍵字的子查詢

ANY關鍵字接在一個比較操作符的後面,表示若與子查詢返回的任何值比較為TRUE,則返回TRUE,通俗點講,只要滿足任意一個條件,就返回TRUE。

10.帶ALL關鍵字的子查詢

使用ALL時表示需要同時滿足所有條件。

  

11.帶EXISTS關鍵字的子查詢

EXISTS關鍵字後面的參數是任意一個子查詢,如果子查詢有返回記錄行,則為TRUE,外層查詢語句將會進行查詢,如果子查詢沒有返回任何記錄行,則為FALSE,外層查詢語句將不會進行查詢。

  

12.帶IN關鍵字的子查詢

  

13.合併結果查詢

利用UNION關鍵字,可以將查詢出的結果合併到一張結果集中,也就是通過UNION關鍵字將多條SELECT語句連接起來,註意,合併結果集,只是增加了表中的記錄,並不是將表中的欄位增加,僅僅是將記錄行合併到一起。其顯示的欄位應該是相同的,不然不能合併。 

UNION:執行的時候會刪除重覆的記錄,所有返回的行度是唯一的,

UNION ALL:不刪除重覆航也不對結果進行自動排序。

  

14.使用UNION,而不用UNION ALL的話,重覆的記錄就會被刪除掉。

  

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 報錯信息:com.microsoft.sqlserver.jdbc.SQLServerException: 到主機 的 TCP/IP 連接失敗。 java.net.ConnectException: Connection refused: connect Exception in thread "m ...
  • Oracle 18c 資料庫中scott用戶不存在的解決方法 註:該文為轉載 上面標題可直接跳轉 原文地址:http://www.cnblogs.com/zangdalei/p/5482732.html -- 使用超級管理員登錄 CONN sys/change_on_install AS SYSDB ...
  • 直接上圖比較直觀 tips one:先看看自己 控制台的 SQLplus 可以登錄不 可以直接往下麵走 ,如果不可以就現在服務裡面找到 Oracle 開頭的服務啟動就好 實在不會可以百度 註:由於該步太簡單且Oracle的服務預設開啟 博主就不多贅述了 tips two: 如果自己的資料庫提示沒有S ...
  • 資料庫的介紹 mysql資料庫介紹 開放源碼的輕量級關係型資料庫管理系統,體積小、速度快、操作便捷。 資料庫的啟動和連接 mysql資料庫啟動 在終端輸入以下命令,啟動mysql伺服器 輸入命令,查詢mysql伺服器狀態 出現如下提示表示mysql伺服器以啟動成功 mysql資料庫連接 輸入賬戶和密 ...
  • CREATE TRIGGER m_trigger AFTER UPDATE ON table1 FOR EACH ROW BEGIN IF( old.status!= new.status) THEN SELECT COUNT(id) FROM table1 WHERE stats='Y' INTO ...
  • MySQL資料庫備份與還原 資料庫備份也叫SQL數據備份,備份的結果都是SQL指令。 在MySQL中專門提供了一個用於資料庫備份的SQL客戶端:mysqldump.exe(MySql document copy),sql備份是一種MySQL非常常見的備份與還原方式,SQL備份不只是備份數據,還備份對 ...
  • 安裝環境:CentOS 6.5 MySQL 5.7.22 MHA 0.56 1、找不到mysql 命令 Sat Mar 23 07:17:50 2019 - [info] Connecting to [email protected](server2:22).. Checking slave r ...
  • 一、HDFS運行機制 概述:用戶的文件會被切塊後存儲在多台datanode節點中,並且每個文件在整個集群中存放多個副本,副本的數量可以通過修改配置自己設定。 HDFS:Hadoop Distributed file system,分散式文件系統。 HDFS的機制: HDFS集群中,有兩種節點,分別為 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...