MySQL常用資料庫語句

来源:https://www.cnblogs.com/Rover20230226/archive/2023/04/29/17364330.html
-Advertisement-
Play Games

==資料庫==1、創建資料庫create database [IF NOT EXISTS] 資料庫名; 2、刪除資料庫drop database [IF EXISTS] 資料庫名; 3、切換資料庫select database(); 4、查詢資料庫show databases; —————————— ...


==資料庫==
1、創建資料庫
create database [IF NOT EXISTS] 資料庫名;

2、刪除資料庫
drop database [IF EXISTS] 資料庫名;

3、切換資料庫
select database();

4、查詢資料庫
show databases;

————————————————————————————

==數據表==
1、創建數據表
create table 表名(
  欄位名1 欄位類型1(欄位長度) [ 約束 ] [ comment 欄位1註釋 ], -- 不是 ; 號
  欄位名2 欄位類型2(欄位長度) [ 約束 ] [ comment 欄位2註釋 ],
  ....
  欄位名n 欄位類型n(欄位長度) [ 約束 ] [ comment 欄位2註釋 ] -- 最後一列後面是沒有,的
) [ comment 表註釋 ];

2、刪除數據表
==刪除表==: drop table [ if exists ] 表名

3、修改數據表
==添加欄位==: alter table 表名 add 欄位名 類型(長度)

==修改欄位類型==: alter table 表名 modify 欄位名 新數據類型(長度)

==修改欄位名和欄位類型==: alter table 表名 change 舊欄位名 新欄位名 類型 (長度)

==刪除欄位==: alter table 表名 drop column 欄位名

==修改表名==: rename table 表名 to 新表名

4、查詢數據表
==查詢當前資料庫所有表==: show tables

==查詢表結構==: desc 表名

==查詢建表語句==: show create table 表名

————————————————————————————

==數據==

1、添加數據
==指定欄位添加數據==: insert into 表名 (欄位名1, 欄位名2) values (值1, 值2)

==全部欄位添加數據==: insert into 表名 values (值1, 值2, ...)

==批量添加數據(指定欄位)==: insert into 表名 (欄位名1, 欄位名2) values (值1, 值2), (值1, 值2)

==批量添加數據(全部欄位)==: insert into 表名 values (值1, 值2, ...), (值1, 值2, ...)

2、刪除數據
==刪除數據==: delete from 表名 [ where 條件 ]

3、修改數據
==修改數據==: update 表名 set 欄位名1 = 值1 , 欄位名2 = 值2 , .... [ where 條件 ]

4、查詢數據
==查詢指定欄位==: select 欄位1, 欄位2, 欄位3 from 表名

==查詢所有欄位==: select * from 表名

==設置別名==: select 欄位1 [ as 別名1 ] , 欄位2 [ as 別名2 ] from 表名

==去除重覆記錄==: select distinct 欄位列表 from 表名

==條件查詢==: select 欄位列表 from 表名 `where 條件列表 `

==聚合函數==: 將一列數據作為一個整體,進行縱向計算,語法為: select `聚合函數(欄位名)` from 表名

==分組過濾==: select 分組欄位,聚合函數() from 表名 `group by 分組欄位名` `having 分組後過濾條件`

==排序:== select 欄位列表 from 表名 order `by 欄位1 排序方式1 , 欄位2 排序方式2`
ASC:升序(預設值)DESC:降序

==分頁:== select 欄位列表 from 表名 `limit 起始索引, 查詢記錄數`


select 集合函數() from 表 [where 條件] [group by 分組] [having 過濾] [order by 排序] [limit 截取]
1. 普通條件: where
2. 排序: order by 列 asc升序(預設) desc降序
3. 聚合函數: count(列)
4. 分組: group by 列
5. 過濾: having 過濾條件
6. 截取: limit 開始,幾個


————————————————————————————

==外鍵約束==
1、創建表的時候添加
create table 表名(
  列名 列類型,
  [constraint 約束名: 外鍵列_fk] foreign key (列名) references 主表(主鍵)
)
2、創建表之後單獨添加
alter table 表名 add [constraint 約束名] foreign key (列名) references 主表(主鍵)

————————————————————————————

==連接==

==交叉連接==:select * from 左表,右表

==內連接==
隱式內連接:select * from 左表,右表 where 連接條件
顯示內連接:select * from 左表 [inner] join 右表 on 連接條件

==左外連接==
select * from 左表 left [outer] join 右表 on 連接條件

==右外連接==
select * from 左表 right outer join 右表 on 連接條件

==子查詢==
單個值,使用 = > < 等進行條件判斷 : SELECT 欄位列表 FROM 表 WHERE 欄位名 = (子查詢);
多個值,使用in、not in進行條件判斷 : SELECT 欄位列表 FROM 表 WHERE 欄位名 in (子查詢);
一張表,將此結果聲明為臨時表來使用 : SELECT * FROM (子查詢) AS 表 JOIN 表 ON 條件;


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

-Advertisement-
Play Games
更多相關文章
  • 教程簡介 Python 3入門教程 - 從基本概念開始,簡單易學地瞭解Python 3,包括Python 3語法面向對象語言,環境設置,基本語法,變數類型,基本運算符,決策,迴圈,方法,字元串等示例,列表,元組,字典,日期和時間,函數,模塊,文件I / O,工具/實用程式,異常處理,正則表達式,CG ...
  • 大數據時代,各行各業對數據採集的需求日益增多,網路爬蟲的運用也更為廣泛,越來越多的人開始學習網路爬蟲這項技術,K哥爬蟲此前已經推出不少爬蟲進階、逆向相關文章,為實現從易到難全方位覆蓋,特設【0基礎學爬蟲】專欄,幫助小白快速入門爬蟲,本期為自動化工具 playwright 的使用。 概述 上期文章中講 ...
  • 開心一刻 中午和哥們一起喝茶 哥們說道:晚上喝酒去啊 我:不去,我女朋友過生日 哥們瞪大眼睛看著我:你有病吧,充氣的過什麼生日 我生氣到:有特麽生產日期的好吧 需求背景 系統對接了外部系統,調用外部系統的介面需要付費,一個介面一次調用付費 0.03 元 同一個月內,同一個介面最高付費 25 元 統計 ...
  • 最近遇到公司的一個項目,需要將多張圖片合併成一個播放的視頻,找了很多資料和嘗試了工具,遇到很多的坑,這裡記下來,希望大家也能順利解決遇到的問題。 合併視頻,主要可以借用OpenCV 和 ffmpeg,這裡是嘗試用ffmpeg.exe的工具去實現圖片文件合併成視頻。 輸入存儲視頻文件的路徑,通過Pro ...
  • 書寫識別,網上的大佬們都有輸出。 書寫識別存在的2個問題: 直接拿官網的案例(將 Windows Ink 筆劃識別為文本和形狀 - Windows apps | Microsoft Learn),會發現輸出準確度不高。 另外如果書寫過快,片語識別也是個問題,畢竟無法準確分割字之間的筆跡。 我結合之前 ...
  • .Net Core在調用其他服務時,調用通常使用HttpClient,而HttpClient預設使用HTTP/1.1 。 配置 HttpClient 以使用 HTTP/2 h2 連接 自 .NET Core 3.0 發佈以來, .NET 開發人員可以使用 HttpClient 啟用 HTTP/2 。 ...
  • 本文為大家介紹使用 .NET Core部署到Linux伺服器的方法,通過本文你將瞭解到Linux在虛擬機下的安裝、Xshell,Xftp的使用方法、git在linux下的交互使用以及.net core在linux下的發佈與運行全過程,本文皆在總結了一些經驗與筆記在部署過程中遇到的一些問題,同時分享給... ...
  • 最近在開發用的台式機上啟用了 Windows 的 Hyper-V 虛擬化功能,利用虛擬機運行了一臺 Windows Server 2022 和 一臺 Ubuntu Server,為了方便別的機器直接訪問這兩台虛擬機,所以網路採用了外部網路橋接的模式,讓虛擬機和物理機保持在了同一網段。 為了實現在這一 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...