MySQL數據庫操作合集

一、SQL通用語法

①SQL語句可以單行或多行書寫,以分號結尾。

②SQL語句可以使用空格/縮進來增強語句可讀性。

③MySQL數據庫的SQL語句不區分大小寫關鍵字建議使用大寫

④注釋:? 單行注釋: -- 注釋內容 或 # 注釋內容(MySQL特有)

? ? ? ? ? ? ? ? ?多行注釋: /* 注釋內容 */?

二、SQL分類

DDL(Data Definition Language):數據定義語言,用于定義數據庫對象(數據庫,表,字段)

DML(Data Manipulation?Language):數據操作語言,用來對數據庫表中的數據進行增刪改

DQL(Data Query Language):數據查詢語言,用來查詢數據庫中的表的記錄

DCL(Data Control Language):數據控制語言,用來創建數據庫用戶、控制數據庫的訪問權限

三、DDL

數據庫操作:

--查詢所有的數據庫:??SHOW DATABASES;--查詢當前數據庫:SELECT DATABASE();--創建:CREATE DATABASE [IF NOT EXISTS] 數據庫名 [DEFAULT CHARSET 字符集] [COLLATE 排序規則];--刪除:DROP DATABASE [IF EXISTS] 數據庫名;--使用:USE 數據庫名

表操作:

-- 查詢當前數據庫所有表:SHOW TABLES;-- 查詢表結構:DESC 表名;--查詢指定表的建表語句:SHOW CREATE TABLE 表名;-- 創建表:CREATE TABLE 表名(字段1  字段1類型[COMMENT 字段1注釋],   -- id int comment '編號'字段2  字段2類型[COMMENT 字段2注釋],字段3  字段3類型[COMMENT 字段3注釋],字段4  字段4類型[COMMENT 字段4注釋],...字段N  字段N類型[COMMENT 字段N注釋]    -- 最后一個參數沒有 ,
)[COMMENT 表注釋];   -- comment 'xx表';

數據類型:

數值類型:

精度:整個數值的長度

標度:小數部分的位數?

UNSIGNED: 標記為無符號(非負)

字符串類型:

char(10)、varchar(10)? ?: 10代表最多存儲10個字符,如果超出則會報錯

char(10):即使存儲一個字符也會占用10個字符空間,未使用空間使用空格補充(效率高)

varchar(10):存儲一個字符占用1個字符空間,會根據實際內容計算存儲空間(效率低)

日期類型:

表操作:

-- 添加字段:ALTER TABLE 表名 ADD 字段名 類型(長度)[COMMENT 注釋][約束];
--ALTER TABLE emp ADD nickname varchar(20) COMMENT '昵稱';-- 修改數據類型:ALTER TABLE 表名 MODIFY 字段名 新數據類型(長度);-- 修改字段名和字段類型:ALTER TABLE 表名 CHANGE 舊字段名 新字段名 類型(長度)[COMMENT 注釋][約束];
--ALTER TABLE emp CHANGE nickname username varchar(30) COMMENT '用戶名';-- 刪除字段:ALTER TABLE 表名 DROP 字段名;
-- ALTER TABLE emp DROP username;-- 修改表名:ALTER TABLE 表名 RENAME TO 新表名;
--ALTER TABLE emp RENAME TO  employee;-- 刪除表:DROP TABLE [IF EXISTS] 表名; -- 刪除指定表,并重新創建該表:TRUNCATE TABLE 表名;   --刪除表時,表中所有數據都會被刪除

四、DML

數據操作:

-- 給指定字段添加數據:INSERT INTO 表名(字段名1,字段名2,....) VALUES (值1,值2,...);-- 給全部字段添加數據:INSERT INTO 表名 VALUES(值1,值2,...);-- 批量添加數據:INSERT INTO 表名(字段名1,字段名2,...) VALUES (值1,值2,...),(值1,值2,...),(值1,值2,...);INSERT INTO 表名 VALUES (值1,值2,...),(值1,值2,...),(值1,值2,...);--插入數據時,指定字段順序應該與值保持一致--字符串和日期類型數據應該包含在引號中--插入數據的大小,應該在字段的規定范圍內-- 修改數據:UPDATE 表名 SET 字段名1=值1, 字段名2=值2, ... [WHERE 條件];-- 修改語句的條件可以有,也可以沒有,如果沒有條件,則會修改整張表所有的數據。-- 刪除數據:DELETE FROM 表名 [WHERE 條件]-- DELETE語句的條件可以有,也可以沒有,如果沒有條件,則會刪除整張表的所有數據
-- DELETE語句不能刪除某一個字段的值 (可以使用UPDATE)

五、DQL

查詢關鍵字: SELECT

查詢操作:

SELECT字段類表
FROM表名列表
WHERE條件列表
GROUP BY分組字段列表
HAVING 分組后條件列表
ORDER BY 排序字段列表
LIMIT分頁參數-- 條件查詢 (WHERE)
-- 聚合函數 (count、max、min、avg、sum)
-- 分組查詢 (GROUP BY)
-- 排序查詢 (ORDER BY)
-- 分頁查詢 (LIMIT)-- 查詢多個字段SELECT 字段1,字段2,字段3,... FROM 表名;SELECT * FROM 表名;-- 設置別名SELECT 字段1 [AS 別名1], 字段2 [AS 別名2] ... FROM 表名;-- 去除重復記錄SELECT DISTINCT 字段列表 FROM 表名;

WHERE條件查詢:

-- 查詢名字為兩個字的員工信息SELECT * FROM emp WHERE name = '__';-- 查詢身份證最后一位為x的員工信息SELEECT * FROM emp WHERE idcard = '%x';-- 查詢身份證信息為空的員工信息SELECT * FROM emp WHERE idcard IS NULL;

聚合函數:

count(統計數量)、max(最大值)、min(最小值)、avg(平均數)、sum(總計)

NULL值不參與聚合函數運算

-- 統計員工表員工數量SELECT COUNT(*) FROM emp;-- 統計員工表平均年齡SELECT AVG(age) FROM emp;-- 查詢最大員工的年齡SELECT MAX(age) FROM emp;-- 查詢最小員工的年齡SELECT MIN(age) FROM emp;-- 統計年齡總和SELECT SUM(age) FROM emp;

分組查詢:

-- 語法SELECT 字段列表 FROM 表名 [WHERE 條件] GROUP BY 分組字段名 [HAVING 分組后過濾條件]

關鍵詞:?GROUP BY

WHERE: 分組之前進行過濾,不滿足WHERE條件,不參與分組 ,且不能對分組查詢過濾

HAVING: 對分組之后的結果進行過濾

-- 根據性別分組,統計男性員工 和 女性員工的數量SELECT gender,COUNT(*) FROM emp GROUP BY gender;-- 根據性別進行分組,統計男性員工和女性員工的平均年齡SELECT gender,AVG(age) FROM emp GROUP BY gender;-- 查詢年齡小于45的員工,并根據工作地址分組,獲取員工數量大于等于3的工作地址SELECT address, count(*) address_count FROM emp WHERE age <= 45 GROUP BY address HAVING COUNT(*) >= 3;

執行順序:WHERE > 聚合函數 > HAVING

分組后,查詢的字段一般為聚合函數和分組字段,查詢其他字段無任何意義。

排序查詢:

關鍵詞:ORDER BY

SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1 , 字段2 排序方式2;
-- 根據年齡對公司的員工進行升序排序SELECT * FROM emp ORDER BY age asc;-- 根據年齡對公司的員工進行倒序排序SELECT * FROM emp ORDER BY age desc;-- 根據年齡對公司的員工進行升序排序,年齡相同則按入職時間降序排序SELECT * FROM emp ORDER BY age asc , entrydata desc;

分頁查詢:

關鍵詞:LIMIT

SELECT 字段列表 FROM 表名 LIMIT 起始索引 , 查詢記錄數;

起始索引從0開始,起始索引=(查詢頁面-1)* 每頁顯示的記錄數

分頁查詢在不同數據庫中有不同的實現,MySQL中是LIMIT

如果查詢的是第一頁數據,起始索引可以省略,簡寫為 LIMIT 10;

-- 查詢第一頁的員工數據,每頁展示10條記錄SELECT * FROM emp LIMIT 0,10;-- 查詢第二頁的員工數據,每頁展示10條記錄SELECT * FROM emp LIMIT 10,10;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/81939.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/81939.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/81939.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

傳統工程項目管理與業財一體化管理的區別?

在工程項目管理領域&#xff0c;傳統管理模式與新興的業財一體化管理模式正在形成鮮明對比。隨著數字化轉型的加速&#xff0c;工程行業對高效、透明、協同的管理需求日益迫切。傳統工程項目管理依賴人工操作、分散系統和分模塊管理&#xff0c;難以應對復雜項目的全生命周期需…

敦煌網測評從環境搭建到風控應對,精細化運營打造安全測評體系

自養號測評&#xff0c;搶占流量為快速提升產品權重和銷量&#xff0c;很多賣家常采用自己養號補單測評的方式&#xff0c;技術搭建需要很多要素 一、硬件參數的關聯性 在我們使用設備進行注冊或操作賬號的過程中&#xff0c;系統會記錄下大量的系統與網絡參數&#xff0c;其中…

redis Pub/Sub 簡介 -16 (PUBLISH、SUBSCRIBE、PSUBSCRIBE)

Redis Pub/Sub 簡介&#xff1a;PUBLISH、SUBSCRIBE、PSUBSCRIBE Redis Pub/Sub 是一種強大的消息傳遞范例&#xff0c;可在應用程序的不同部分之間實現實時通信。它是構建可擴展和響應式系統的基石&#xff0c;允許組件在沒有直接依賴的情況下進行交互。本章將全面介紹 Redis…

JavaSE核心知識點03高級特性03-01(集合框架)

&#x1f91f;致敬讀者 &#x1f7e9;感謝閱讀&#x1f7e6;笑口常開&#x1f7ea;生日快樂?早點睡覺 &#x1f4d8;博主相關 &#x1f7e7;博主信息&#x1f7e8;博客首頁&#x1f7eb;專欄推薦&#x1f7e5;活動信息 文章目錄 JavaSE核心知識點03高級特性03-01&#xff0…

日志分析-IIS日志分析

環境準備 https://xj.edisec.net/challenges/115 題目要求 windows系統中才有的IIS服務 既然是windows平臺&#xff0c;當然需要rdp登錄&#xff0c;在ssh登錄失敗 解題過程 phpstudy--2018站點日志.(.log文件)所在路徑&#xff0c;提供絕對路徑 Windows服務的日志一般有固定…

一、web安全基礎入門

1、Windows命令 文件和目錄操作 dir&#xff1a;列出當前目錄下的文件和子目錄。cd&#xff1a;切換目錄&#xff0c;例如 cd C:\Users 切換到C盤的Users目錄。md 或 mkdir&#xff1a;創建新目錄&#xff0c;如 md testdir。rd 或 rmdir&#xff1a;刪除空目錄&#xff0c;例…

動態規劃應用場景 + 代表題目清單(模板加上套路加上題單)

1. 序列型DP&#xff08;Sequence DP&#xff09; ? 應用場景 單個或多個序列&#xff08;數組/字符串&#xff09;&#xff0c;求最優子結構。 常見問題&#xff1a;最長遞增子序列、最長公共子序列、回文子序列。 &#x1f9e0; 套路總結 單序列&#xff1a;dp[i] max(…

Linux iSCSI存儲共享實驗指南

實驗介紹 1、在Linux平臺上通過iSCSI協議實現IP-SAN存儲共享 2、掌握存儲導出(export)和存儲導入(import)的配置方法 3、學習iSCSI存儲的發現、連接、斷開和管理操作 1、實驗環境 兩臺同網段的Linux虛擬機&#xff08;無需物理交換機&#xff09; 操作系統&#xff1a;Lin…

從 Docker 到 runC

從 Docker 到 runC:容器底層原理詳解 目錄 1. Docker 與 runC 的關系 2. Docker 的核心組件 3. runC 的核心功能 4. 實戰示例:從 Docker 到 runC 4.1 示例場景:運行一個簡單容器 4.2 Docker 底層調用 runC 的流程 4.3 查看 runC 的調用 4.4 直接調用 runC 創建容器 …

使用Python在PowerPoint中插入形狀(Shape)

在進行演示文稿設計時&#xff0c;形狀&#xff08;Shape&#xff09;不僅可以增強視覺效果&#xff0c;還可以用于展示流程圖、標注、數據圖示等。借助Python&#xff0c;我們可以通過代碼快速批量地在PPT中添加各種形狀&#xff0c;提升設計效率。本文將介紹如何使用Python向…

Windows系統下MySQL 8.4.5壓縮包安裝詳細教程

一、MySQL 8.4.5新特性概覽 相較于舊版本&#xff0c;MySQL 8.4.5在性能與功能上實現了顯著提升&#xff1a; 性能優化&#xff1a;官方測試顯示&#xff0c;在高并發場景下&#xff0c;其讀寫性能較5.7版本提升近2倍&#xff0c;尤其在處理熱點數據競爭問題時表現更為出色。…

深度解析Vue項目Webpack打包分包策略 從基礎配置到高級優化,全面掌握性能優化核心技巧

深度解析Vue項目Webpack打包分包策略 從基礎配置到高級優化&#xff0c;全面掌握性能優化核心技巧 一、分包核心價值與基本原理 1.1 為什么需要分包 首屏加載優化&#xff1a;減少主包體積&#xff0c;提升TTI&#xff08;Time to Interactive&#xff09;緩存利用率提升&am…

【昇騰開發者訓練營:Dify大模型部署實戰】MindIE + Dify + DeepSeek + Embedding模型 + Rerank模型

文章目錄 部署 Dify1. Dify 適配 ARM2. 安裝 docker3. 啟動 Dify MindIEDify 實操手冊1. 基礎環境搭建1.1 環境檢查1.2 下載模型權重1.3 獲取MindIE鏡像 2. 啟動容器3. 純模型推理測試3.1 純模型對話測試3.2 性能測試 4. 服務化部署4.1 MindIE 配置4.2 MindIE 服務化4.3 發起測…

塔能高溫冰蓄冷技術:工廠能耗精準節能的創新之路

在工廠的能耗構成中&#xff0c;制冷系統是重要的耗能環節。傳統的水蓄冷和冰蓄冷技術在實際應用中存在一些局限性&#xff0c;難以滿足工廠對節能和成本控制的更高要求。塔能科技的高溫冰蓄冷技術&#xff0c;憑借其獨特的優勢&#xff0c;為工廠能耗精準節能提供了創新的解決…

通過現代數學語言重構《道德經》核心概念體系,形成一個兼具形式化與啟發性的理論框架

以下是對《道德經》的數學轉述嘗試&#xff0c;通過現代數學語言重構其核心概念&#xff0c;形成一個兼具形式化與啟發性的理論框架&#xff1a; 0. 基礎公理體系 定義&#xff1a; 《道德經》是一個動態宇宙模型 U(D,V,Φ)&#xff0c;其中&#xff1a; D 為“道”的無限維…

SQLMesh Typed Macros:讓SQL宏更強大、更安全、更易維護

在SQL開發中&#xff0c;宏&#xff08;Macros&#xff09;是一種強大的工具&#xff0c;可以封裝重復邏輯&#xff0c;提高代碼復用性。然而&#xff0c;傳統的SQL宏往往缺乏類型安全&#xff0c;容易導致運行時錯誤&#xff0c;且難以維護。SQLMesh 引入了 Typed Macros&…

5月23日day34打卡

GPU訓練及類的call方法 知識點回歸&#xff1a; CPU性能的查看&#xff1a;看架構代際、核心數、線程數GPU性能的查看&#xff1a;看顯存、看級別、看架構代際GPU訓練的方法&#xff1a;數據和模型移動到GPU device上類的call方法&#xff1a;為什么定義前向傳播時可以直接寫作…

集群、容器云與裸金屬服務器的全面對比分析

文章目錄 引言 集群 2.1 定義 2.2 特點 2.3 應用場景 容器云 3.1 定義 3.2 核心功能 3.3 應用場景 裸金屬 4.1 定義 4.2 特點 4.3 應用場景 三者的區別 5.1 架構與性能 5.2 管理與運維 5.3 成本與靈活性 總結 1. 引言 在云計算和數據中心領域&#xff0c;50…

Vscode +Keil Assistant編譯報錯處理

Vscode Keil Assistant編譯報錯處理 1.報錯圖片內容 所在位置 行:1 字符: 25 chcp.com 65001 -Command & c:\Users\92170.vscode\extensions\cl.keil-a … ~ 不允許使用與號(&)。& 運算符是為將來使用而保留的&#xff1b;請用雙引號將與號引起來(“&”)&…

Java實現中文金額轉換

概述 話不多說&#xff0c;直接上代碼 代碼 /*** Author: hweiyu* Description: TODO* Date: 2025/5/23 11:33*/ import java.math.BigDecimal; import java.util.Scanner;public class AmountToChinese {// 中文數字字符private static final String[] NUMBERS {"零&…