MySQL 基礎學習文檔

一、MySQL 概述

1.1 核心概念

  • 數據庫 (DB):存儲數據的結構化倉庫
  • 數據庫管理系統 (DBMS):操作數據庫的軟件(如 MySQL、Oracle)
  • SQL:操作關系型數據庫的標準語言

1.2 安裝與配置

  1. 下載地址:MySQL Installer
  2. 安裝步驟
    • 選擇 "Developer Default" 安裝類型
    • 設置 root 用戶密碼
    • 配置 Windows 服務(默認名稱:MySQL80)
  3. 環境變量配置:將C:\Program Files\MySQL\MySQL Server 8.0\bin添加到 Path

1.3 連接方式

  • 命令行工具mysql -u root -p
  • 圖形化工具:推薦使用 DataGrip

二、SQL 基礎語法

2.1 通用規則

  • 語句以分號結尾
  • 不區分大小寫(建議關鍵字大寫)
  • 注釋:--?單行,/* */?多行

2.2 分類

類型功能關鍵字
DDL定義數據庫對象CREATE/DROP/ALTER
DML操作數據INSERT/UPDATE/DELETE
DQL查詢數據SELECT
DCL控制權限GRANT/REVOKE

三、DDL 操作

3.1 數據庫操作

-- 創建數據庫(指定字符集)
CREATE DATABASE db_name DEFAULT CHARSET utf8mb4;-- 刪除數據庫
DROP DATABASE IF EXISTS db_name;-- 切換數據庫
USE db_name;

3.2 表操作

3.2.1 數據類型
類型示例說明
整數TINYINT(1)0-255(無符號)
字符串VARCHAR(50)可變長度字符串
日期DATEYYYY-MM-DD
3.2.2 表結構操作
-- 創建表
CREATE TABLE user (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50) NOT NULL,age TINYINT UNSIGNED
);-- 修改表(添加字段)
ALTER TABLE user ADD COLUMN email VARCHAR(100);-- 刪除表
DROP TABLE IF EXISTS user;

四、DML 操作

4.1 數據插入

-- 插入單條記錄
INSERT INTO user (name, age) VALUES ('張三', 20);-- 批量插入
INSERT INTO user (name, age) 
VALUES ('李四', 25), ('王五', 30);

4.2 數據更新

-- 更新單條記錄
UPDATE user SET age = 26 WHERE id = 1;-- 更新多條記錄
UPDATE user SET age = age + 1 WHERE age < 30;

4.3 數據刪除

-- 刪除單條記錄
DELETE FROM user WHERE id = 1;-- 刪除所有記錄(保留表結構)
TRUNCATE TABLE user;

五、DQL 查詢

5.1 基礎查詢

-- 查詢所有字段
SELECT * FROM user;-- 查詢指定字段并去重
SELECT DISTINCT age FROM user;-- 字段別名
SELECT name AS 姓名, age AS 年齡 FROM user;

5.2 條件查詢

-- 范圍查詢
SELECT * FROM user WHERE age BETWEEN 20 AND 30;-- 模糊查詢
SELECT * FROM user WHERE name LIKE '張%';-- 空值處理
SELECT * FROM user WHERE email IS NULL;

5.3 聚合函數

函數功能
COUNT()統計數量
AVG()平均值
MAX()最大值
SUM()求和
-- 統計總人數
SELECT COUNT(*) AS 總人數 FROM user;-- 計算平均年齡
SELECT AVG(age) AS 平均年齡 FROM user;

5.4 分組與排序

-- 按性別分組統計人數
SELECT gender, COUNT(*) FROM user GROUP BY gender;-- 按年齡降序排序
SELECT * FROM user ORDER BY age DESC;

5.5 分頁查詢

-- 每頁10條,顯示第2頁
SELECT * FROM user LIMIT 10 OFFSET 10;

六、約束

6.1 類型

約束關鍵字說明
主鍵PRIMARY KEY唯一標識,非空
外鍵FOREIGN KEY關聯其他表主鍵
唯一UNIQUE字段值唯一
非空NOT NULL字段值不能為空

6.2 外鍵示例

-- 創建部門表
CREATE TABLE dept (id INT PRIMARY KEY,name VARCHAR(50)
);-- 創建員工表(外鍵關聯)
CREATE TABLE emp (id INT PRIMARY KEY,name VARCHAR(50),dept_id INT,FOREIGN KEY (dept_id) REFERENCES dept(id)
);

七、多表查詢

7.1 連接類型

類型說明
內連接只返回匹配的數據
左外連接返回左表所有數據
右外連接返回右表所有數據
全外連接返回所有數據(MySQL 不支持)

7.2 示例

-- 內連接查詢員工及其部門
SELECT e.name, d.name 
FROM emp e 
JOIN dept d ON e.dept_id = d.id;-- 左外連接查詢所有員工
SELECT e.name, d.name 
FROM emp e 
LEFT JOIN dept d ON e.dept_id = d.id;

八、事務

8.1 基本操作

-- 開啟事務
START TRANSACTION;-- 提交事務
COMMIT;-- 回滾事務
ROLLBACK;

8.2 隔離級別

級別臟讀不可重復讀幻讀
READ UNCOMMITTED
READ COMMITTED
REPEATABLE READ
SERIALIZABLE

九、函數

9.1 常用函數

類型函數示例
字符串CONCAT(a,b)CONCAT('Hello', 'MySQL') → 'HelloMySQL'
日期CURDATE()獲取當前日期
流程控制IF(condition, t, f)IF (age>18, ' 成年 ', ' 未成年 ')

十、權限管理

10.1 用戶管理

-- 創建用戶
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';-- 修改密碼
ALTER USER 'user'@'localhost' IDENTIFIED BY 'new_password';-- 刪除用戶
DROP USER 'user'@'localhost';

10.2 權限控制

-- 授予權限
GRANT SELECT, INSERT ON db.* TO 'user'@'localhost';-- 撤銷權限
REVOKE INSERT ON db.* FROM 'user'@'localhost';

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

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

相關文章

火山引擎(豆包大模型)(抖音平臺)之火山方舟的Prompt的使用測試

前言 在大模型的使用過程當中&#xff0c;Prompt的使用非常的關鍵。原來&#xff0c;我對Prompt的理解不深&#xff0c;覺得Prompt的產生并不是很有必要。但是&#xff0c;自從使用了火山方舟中的“Prompt優解”之后&#xff0c;感受加深了&#xff0c;覺得Prompt是我們和大模型…

SpringBoot入門-(2) Spring IOC機制【附實例代碼】

SpringBoot入門-(2) Spring IOC機制 Spring Spring是一個當前主流的輕量級的框架&#xff0c;發展到形狀已經不僅僅是一個框架&#xff0c;而是形成以Spring為基礎的生態圈&#xff0c;如(Spring Boot,Spring Cloud,Spring Security等) Spring 兩大核心技術 控制反轉(IoC)面…

備賽藍橋杯之第十六屆模擬賽3期職業院校組

提示&#xff1a;本篇文章僅僅是作者自己目前在備賽藍橋杯中&#xff0c;自己學習與刷題的學習筆記&#xff0c;寫的不好&#xff0c;歡迎大家批評與建議 由于個別題目代碼量與題目量偏大&#xff0c;請大家自己去藍橋杯官網【連接高校和企業 - 藍橋云課】去尋找原題&#xff0…

【AI大模型】提示詞(Prompt)工程完全指南:從理論到產業級實踐

【AI大模型】提示詞&#xff08;Prompt&#xff09;工程完全指南&#xff1a;從理論到產業級實踐 一、Prompt 提示詞介紹&#xff1a;AI的“密碼本” 1. Prompt的底層定義與價值 本質&#xff1a;Prompt是人與AI模型的“協議語言”&#xff0c;通過文本指令激活模型的特定推理…

Excel 小黑第12套

對應大貓13 涉及金額修改 -數字組 -修改會計專用 VLOOKUP函數使用&#xff08;查找目標&#xff0c;查找范圍&#xff08;F4 絕對引用&#xff09;&#xff0c;返回值的所在列數&#xff0c;精確查找或模糊查找&#xff09;雙擊填充柄就會顯示所有值 這個逗號要中文的不能英…

基于Spring Boot的冷鏈物流系統的設計與實現的設計與實現(LW+源碼+講解)

專注于大學生項目實戰開發,講解,畢業答疑輔導&#xff0c;歡迎高校老師/同行前輩交流合作?。 技術范圍&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬蟲、數據可視化、安卓app、大數據、物聯網、機器學習等設計與開發。 主要內容&#xff1a;…

python環境集成整理

接口測試過程中&#xff0c;可能會切換測試環境&#xff0c;通過配置相關信息修改 設計思路&#xff1a; 1、 準備各個環境配置文件信息&#xff0c;包括http、common 、redis、db 2、創建不同環境配置信息 測試環境&#xff1a;env_test.yml、 預生產環境:env_prepro.yml、生產…

動平衡仿真程序設計

以下是針對動平衡振動信號分析的模塊擴展方案&#xff0c;基于原有信號發生器架構進行增強&#xff1a; 一、動平衡專用信號生成器 // UnbalanceVibrationGenerator.h #pragma once #include "SignalGenerator.h" #include <vector>class UnbalanceVibration…

牛客周賽85 題解 Java ABCDEFG

A小紫的均勢博弈 判斷輸入的 n 是奇數還是偶數 import java.io.*; import java.math.*; import java.util.*;public class Main {static IoScanner sc new IoScanner();static final int mod(int) (1e97);static void solve() throws IOException {int nsc.nextInt();if(n%2…

python——UI自動化(1) selenium之介紹和環境配置

一、selenium介紹 selenium是一個第三方庫&#xff0c;python有很多庫&#xff1b; 1、什么是ui自動化? 通過模擬手工操作用戶ui頁面的方式&#xff0c;用代碼去實現自動化操作和驗證的行為。 2、ui自動化的優點&#xff1f; &#xff08;1&#xff09;解決重復性的功能測…

Can通信流程

下面給出一個更詳細的 CAN 發送報文的程序流程說明&#xff0c;結合 HAL 庫的使用及代碼示例&#xff0c;幫助你了解每一步的具體操作和內部原理。 一、系統與外設初始化 1.1 HAL 庫初始化 在 main() 函數開頭&#xff0c;首先調用 HAL 庫初始化函數&#xff1a; HAL_Init()…

15 數據結構及算法應用

15 數據結構及算法應用 15.1 算法策略區分 15.1.1、分治法 特征:把一個問題拆分成多個小規模的相同子問題&#xff0c;一般可用遞歸解決。 經典問題:斐波那契數列、歸并排序、快速排序、矩陣乘法、二分搜索、大整數乘法、漢諾塔。 15.1.2、貪心法 (一般用于求滿意解) …

基于大模型的唇裂手術全流程預測與應用研究報告

目錄 一、引言 1.1 研究背景與意義 1.2 研究目標與內容 二、唇裂相關醫學知識概述 2.1 唇裂的定義、分類與發病原因 2.2 唇裂對患者生理與心理的影響 2.3 傳統唇裂治療方法與局限性 三、大模型技術原理與應用基礎 3.1 大模型概述 3.2 適用于唇裂預測的大模型類型及特…

環境變量設置異常導致UOS文件管理器無法正常運行

編譯QT5.15.2&#xff0c;與UOS20.9的QT依賴沖突 現象原因解決方法 現象 重啟系統后UOS桌面變成黑色&#xff0c;沒有任何圖標&#xff0c;任務欄的應用本來是有預覽的&#xff0c;但也變得不可用。 原因 找了很久&#xff0c;查到原來是dde-file-manager未能正常啟動。直接…

《認知覺醒》改變的核心方法論

《認知覺醒》改變的核心方法論 一、認知覺醒的核心目標 改變 → 提升能力 → 獲得更好生活 二、大腦運作機制 腦區運算速度作用特點本能腦1.1億次/秒自動化反應&#xff0c;能量消耗低情緒腦1.1億次/秒情感驅動型決策?理智腦?40次/秒戰略指揮官角色 關鍵差異&#xff1a…

Python中的字典:深度解析與應用實踐

一、字典的本質與特性 Python字典&#xff08;Dictionary&#xff09;是以**鍵值對&#xff08;Key-Value Pair&#xff09;**形式存儲數據的無序集合&#xff0c;使用大括號{}定義。其核心特性包括&#xff1a; 快速查找&#xff1a;基于哈希表實現&#xff0c;通過鍵&#…

【藍橋杯python研究生組備賽】005 數學與簡單DP

題目1 01背包 有 N 件物品和一個容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的體積是 vi&#xff0c;價值是 wi。 求解將哪些物品裝入背包&#xff0c;可使這些物品的總體積不超過背包容量&#xff0c;且總價值最大。 輸出最大價值。 輸入格式 第一行兩個整數&a…

2024年國賽高教杯數學建模E題交通流量管控解題全過程文檔及程序

2024年國賽高教杯數學建模 E題 交通流量管控解題 原題再現 隨著城市化進程的加快、機動車的快速普及&#xff0c;以及人們活動范圍的不斷擴大&#xff0c;城市道路交通擁堵問題日漸嚴重&#xff0c;即使在一些非中心城市&#xff0c;道路交通擁堵問題也成為影響地方經濟發展和…

穿越是時空之門(java)

emm&#xff0c;之前做過一道類似的題目&#xff0c;但是這次又忘了 一開始的錯誤代碼 package Lanqiao;import javax.swing.plaf.synth.SynthTextAreaUI; import java.math.BigInteger;/*** author zb* date2025/3/19 21:33*/ public class L19701 {public static void main…

npm : 無法加載文件 C:\Program Files\nodejs\npm.ps1,因為在此系統上禁止運行腳本的處理方法

1、安裝了node.js后&#xff0c;windows powershell中直接輸入npm&#xff0c;然后就報錯 2、出現原因&#xff1a;權限不夠 系統禁用了腳本的執行&#xff0c;所以我們在windows powershell輸入npm -v的時候&#xff0c;就會報上面的錯誤。 3、解決 Set-ExecutionPolicy Un…