二、MySQL基礎操作

来源:https://www.cnblogs.com/TheHypocrite/p/18286788
-Advertisement-
Play Games

二、MySQL基礎操作 1. 資料庫操作 顯示所有資料庫 SHOW DATABASES; 創建資料庫 CREATE DATABASE MyDb; 刪除資料庫 -- 直接刪除庫,不檢查是否存在 DROP DATABASE MyDb; -- 或檢查是否存在 DROP DATABASE [IF EXIST ...


二、MySQL基礎操作

1. 資料庫操作

顯示所有資料庫

SHOW DATABASES;

創建資料庫

CREATE DATABASE MyDb;

刪除資料庫

-- 直接刪除庫,不檢查是否存在
DROP DATABASE MyDb;
-- 或檢查是否存在
DROP DATABASE [IF EXISTS] MyDb;

2. 表操作

選擇資料庫

USE MyDb;

創建表

CREATE TABLE Tb ( id INT(11), name VARCHAR(32), weigh FLOAT );

查看表結構

DESC Tb;

刪除表

-- 直接刪除表,不檢查是否存在
DROP TABLE Tb ;
-- 或檢查是否存在
DROP TABLE [IF EXISTS] Tb;

設置主鍵

-- 直接在創建表時設置主鍵
CREATE TABLE Tb ( id INT(11) PRIMARY KEY, name VARCHAR(32), weigh FLOAT );
-- 或者在創建表後設置主鍵
ALTER TABLE Tb ADD PRIMARY KEY (id);

聯合主鍵

CREATE TABLE Tb ( id INT(11), name VARCHAR(32), weigh FLOAT, PRIMARY KEY (id, name) );

設置外鍵

ALTER TABLE 表名 ADD CONSTRAINT 外鍵名 FOREIGN KEY (欄位名) REFERENCES 主表名 (主鍵名);

添加約束

-- 唯一約束
ALTER TABLE Tb ADD UNIQUE (欄位名);

-- 非空約束
ALTER TABLE Tb MODIFY 欄位名 數據類型 NOT NULL;

-- 預設約束
ALTER TABLE Tb MODIFY 欄位名 數據類型 DEFAULT 預設值;

設置自動增加

ALTER TABLE Tb MODIFY id INT(11) AUTO_INCREMENT;

查看表詳細結構

SHOW CREATE TABLE Tb;

修改表結構

-- 更改表名
ALTER TABLE 舊表名 RENAME TO 新表名;

-- 修改欄位名
ALTER TABLE 表名 CHANGE 舊欄位名 新欄位名 新數據類型;

-- 修改欄位數據類型
ALTER TABLE 表名 MODIFY 欄位名 新數據類型;

-- 添加欄位
ALTER TABLE 表名 ADD 新欄位名 新數據類型 約束條件;

-- 在第一列添加欄位
ALTER TABLE 表名 ADD 新欄位名 新數據類型 約束條件 FIRST;

-- 在指定列後面添加欄位
ALTER TABLE 表名 ADD 新欄位名 新數據類型 約束條件 AFTER 指定列;

修改欄位排列位置

-- 修改為表的第一個欄位
ALTER TABLE 表名 MODIFY 欄位名 新數據類型 FIRST;

-- 修改為指定列後
ALTER TABLE 表名 MODIFY 欄位名 新數據類型 AFTER 指定列;

刪除表的外鍵約束

ALTER TABLE 表名 DROP FOREIGN KEY 外鍵名;

3. 數據操作

插入數據

INSERT INTO 表名 (欄位1, 欄位2, 欄位3, 欄位n) VALUES (數據1, 數據2, 數據3, 數據n), (數據1, 數據2, 數據3, 數據n), ...;

更新數據

UPDATE 表名 SET 欄位1 = "值", 欄位2 = 數值 WHERE 過濾條件;

刪除數據

-- 根據條件刪除
DELETE FROM 表名 WHERE 條件語句;

-- 刪除所有行
DELETE FROM 表名;

4. 查詢操作

基本查詢語句

-- 查詢某欄位
SELECT 欄位1, 欄位2 FROM 表名;

-- 查詢全部欄位
SELECT * FROM 表名;

條件查詢

-- 帶IN關鍵字查詢
SELECT 欄位1, 欄位2 FROM 表名 WHERE 欄位 IN (值1, 值2, 值3, ...);

SELECT 欄位1, 欄位2 FROM 表名 WHERE 欄位 NOT IN (值1, 值2, 值3, ...);

-- 帶BETWEEN AND的範圍查詢
SELECT 欄位1, 欄位2 FROM 表名 WHERE 欄位 BETWEEN 值1 AND 值2;

SELECT 欄位1, 欄位2 FROM 表名 WHERE 欄位 NOT BETWEEN 值1 AND 值2;

-- 帶LIKE的字元匹配查詢
SELECT 欄位1, 欄位2 FROM 表名 WHERE 欄位 LIKE '%字元%';

SELECT 欄位1, 欄位2 FROM 表名 WHERE 欄位 LIKE '______字元';

-- 查詢空值
SELECT 欄位1, 欄位2 FROM 表名 WHERE 欄位 IS NULL;

-- 去除重覆項
SELECT DISTINCT 欄位 FROM 表名;

-- 帶AND與OR的多條件查詢
SELECT 欄位1, 欄位2 FROM 表名 WHERE 欄位1 條件語句 AND 欄位2 條件語句;

SELECT 欄位1, 欄位2 FROM 表名 WHERE 欄位1 條件語句 OR 欄位2 條件語句;
( 雖然兩種寫法功能一樣,但是我們更推薦使用 IN 關鍵字。因為它不僅邏輯清晰,執行的速度也會快於 OR 關鍵字。更重要的是,使用 IN 關鍵字,我們以後可以執行更加複雜的嵌套語句。)

排序與分組

-- 對查詢結果進行排序
SELECT 欄位1, 欄位2 FROM 表名 ORDER BY 欄位 [ASC|DESC];

-- 分組查詢
SELECT 欄位1, 欄位2 FROM 表名 GROUP BY 欄位;查詢的是每個分組中 首次出現的一條記錄。

限制查詢結果

-- 查詢前x條數據
SELECT 欄位1, 欄位2 FROM 表名 LIMIT x;查詢表中前x條數據。

-- 從a往後查詢b條數據,不包含a
SELECT 欄位1, 欄位2 FROM 表名 LIMIT a, b;


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

-Advertisement-
Play Games
更多相關文章
  • 測試環境中,新搭建的Oracle 19c DG,在主備切換後,新的主庫的告警日誌中一直出現類似下麵這樣的錯誤: .........................................2024-07-08T13:40:55.384302+08:00 rfs (PID:146054): Da ...
  • redis筆記 1. Redis是什麼? Redis( Remote Dictionary Server )是一個使用 C 語言編寫的,高性能非關係型的鍵值對資料庫。 與傳統資料庫不同的是,Redis 的數據是存在記憶體中的,所以讀寫速度非常快,被廣泛應用於緩存方 向。Redis可以將數據寫入磁碟中, ...
  • 各位熱愛Apache DolphinScheduler的小伙伴們,社區6月月報更新啦!這裡將記錄Apache DolphinScheduler社區每月的重要更新,歡迎關註。 月度Merge Stars 感謝以下小伙伴上個月為Apache DolphinScheduler所做的精彩貢獻(排名不分先後) ...
  • 各位熱愛Apache SeaTunnel的小伙伴們,社區6月份月報來啦!這裡將記錄Apache SeaTunnel社區每月的重要更新,歡迎關註。 月度Merge Stars 感謝以下小伙伴上個月為Apache SeaTunnel所做的精彩貢獻(排名不分先後): @baicie,@TaoZex,@lo ...
  • 設想我們在一家很大的互聯網公司做IT方面的規劃、開發和維護,有以下這樣的應用場景: 公司里有若幹個不同的開發團隊,開發語言有Java、.net、Python、C++....十來種,還有很多外包團隊對項目進行開發,大中小系統已經多的數不過來;並且各個團隊、系統間都需要進行海量數據的交換(比如搜索引擎實 ...
  • GaussDB(DWS)成功將Greenplum上數萬個數據模型、數萬個代碼腳本、數百萬行代碼全部遷移至安全可控的數據倉庫平臺。 ...
  • MySql 1. 事務的四大特性? 事務特性ACID:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)。 1.原子性是指事務包含的所有操作要麼全部成功,要麼全部失敗回滾。 2.一致性是指一個事務執行之前和執行之後都必須處於一 ...
  • 《Spark 快速大數據分析》是一本為 Spark 初學者準備的書,它沒有過多深入實現細節,而是更多關註上層用戶的具體用法。不過,本書絕不僅僅限於 Spark 的用法,它對 Spark 的核心概念和基本原理也有較為全面的介紹,讓讀者能夠知其然且知其所以然。 Spark快速大數據分析PDF下載 本書作 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 微服務架構已經成為搭建高效、可擴展系統的關鍵技術之一,然而,現有許多微服務框架往往過於複雜,使得我們普通開發者難以快速上手並體驗到微服務帶了的便利。為瞭解決這一問題,於是作者精心打造了一款最接地氣的 .NET 微服務框架,幫助我們輕鬆構建和管理微服務應用。 本框架不僅支持 Consul 服務註 ...
  • 先看一下效果吧: 如果不會寫動畫或者懶得寫動畫,就直接交給Blend來做吧; 其實Blend操作起來很簡單,有點類似於在操作PS,我們只需要設置關鍵幀,滑鼠點來點去就可以了,Blend會自動幫我們生成我們想要的動畫效果. 第一步:要創建一個空的WPF項目 第二步:右鍵我們的項目,在最下方有一個,在B ...
  • Prism:框架介紹與安裝 什麼是Prism? Prism是一個用於在 WPF、Xamarin Form、Uno 平臺和 WinUI 中構建鬆散耦合、可維護和可測試的 XAML 應用程式框架 Github https://github.com/PrismLibrary/Prism NuGet htt ...
  • 在WPF中,屏幕上的所有內容,都是通過畫筆(Brush)畫上去的。如按鈕的背景色,邊框,文本框的前景和形狀填充。藉助畫筆,可以繪製頁面上的所有UI對象。不同畫筆具有不同類型的輸出( 如:某些畫筆使用純色繪製區域,其他畫筆使用漸變、圖案、圖像或繪圖)。 ...
  • 前言 嗨,大家好!推薦一個基於 .NET 8 的高併發微服務電商系統,涵蓋了商品、訂單、會員、服務、財務等50多種實用功能。 項目不僅使用了 .NET 8 的最新特性,還集成了AutoFac、DotLiquid、HangFire、Nlog、Jwt、LayUIAdmin、SqlSugar、MySQL、 ...
  • 本文主要介紹攝像頭(相機)如何採集數據,用於類似攝像頭本地顯示軟體,以及流媒體數據傳輸場景如傳屏、視訊會議等。 攝像頭採集有多種方案,如AForge.NET、WPFMediaKit、OpenCvSharp、EmguCv、DirectShow.NET、MediaCaptre(UWP),網上一些文章以及 ...
  • 前言 Seal-Report 是一款.NET 開源報表工具,擁有 1.4K Star。它提供了一個完整的框架,使用 C# 編寫,最新的版本採用的是 .NET 8.0 。 它能夠高效地從各種資料庫或 NoSQL 數據源生成日常報表,並支持執行複雜的報表任務。 其簡單易用的安裝過程和直觀的設計界面,我們 ...
  • 背景需求: 系統需要對接到XXX官方的API,但因此官方對接以及管理都十分嚴格。而本人部門的系統中包含諸多子系統,系統間為了穩定,程式間多數固定Token+特殊驗證進行調用,且後期還要提供給其他兄弟部門系統共同調用。 原則上:每套系統都必須單獨接入到官方,但官方的接入複雜,還要官方指定機構認證的證書 ...
  • 本文介紹下電腦設備關機的情況下如何通過網路喚醒設備,之前電源S狀態 電腦Power電源狀態- 唐宋元明清2188 - 博客園 (cnblogs.com) 有介紹過遠程喚醒設備,後面這倆天瞭解多了點所以單獨加個隨筆 設備關機的情況下,使用網路喚醒的前提條件: 1. 被喚醒設備需要支持這WakeOnL ...
  • 前言 大家好,推薦一個.NET 8.0 為核心,結合前端 Vue 框架,實現了前後端完全分離的設計理念。它不僅提供了強大的基礎功能支持,如許可權管理、代碼生成器等,還通過採用主流技術和最佳實踐,顯著降低了開發難度,加快了項目交付速度。 如果你需要一個高效的開發解決方案,本框架能幫助大家輕鬆應對挑戰,實 ...