Linux云計算訓練營筆記day09(MySQL數據庫)

Linux云計算訓練營筆記day09(MySQL數據庫)

目錄

  • Linux云計算訓練營筆記day09(MySQL數據庫)
    • 外鍵約束
    • 數據的導入和導出
      • 數據的導出
      • 數據的導入
    • DQL 數據查詢語言
      • 查指定字段
      • 查所有字段
      • where 過濾條件
        • and 和 or
        • in 和 not in
        • between...and...
      • distinct
      • 練習:
        • like 模糊查詢
        • NULL
      • order by
      • 分頁查詢

主鍵約束
PRIMARY KEY 非空 唯一

外鍵約束

FOREIGN KEY 聲明了外鍵的列上插入的值必須在另一個表的主鍵上出現過

-- Active: 1747188627686@@127.0.0.1@3306@tedu
CREATE DATABASE job CHARSET=utf8;use job;-- 部門表 dept
CREATE TABLE dept(did INT PRIMARY KEY AUTO_INCREMENT,dname VARCHAR(10) UNIQUE
);INSERT INTO dept VALUES(10,"研發部");
INSERT INTO dept VALUES(20,"運營部");
INSERT INTO dept VALUES(30,"市場部");SELECT * from dept;
-- 員工表 emp
CREATE Table emp(eid INT PRIMARY KEY AUTO_INCREMENT,ename VARCHAR(10) not NULL,birthday date,salary DOUBLE(8,2),deptId INT,Foreign Key (deptId) REFERENCES dept(did)
);INSERT INTO emp VALUES(1,"王林","1999-11-17",8888.88,10);
INSERT INTO emp VALUES(2,"李木婉","2000-11-17",9999.99,20);SELECT * from emp;

數據的導入和導出

數據的導出

mysqldump -u用戶名 -p密碼 數據庫的名字 > 文件的名字.sql
把當前電腦的數據庫導入出去

mysqldump -uroot -proot job > job.sql

數據的導入

數據準備tedu.sql
點擊如下鏈接可以下載
https://download.csdn.net/download/weixin_46411355/90842134

把別人的數據庫導入進來

mysql -uroot -proot < tedu.sql

DQL 數據查詢語言

查詢 SELECT

查指定字段

select 字段1,字段2 from 表; 查指定字段

查所有字段

select * from 表; 查所有字段

where 過濾條件

where 過濾條件 ,會把滿足的條件查詢出來

use tedu;-- 查詢所有字段
SELECT * FROM teacher;desc teacher;-- 查看指定字段
SELECT name,salary,gender,title from teacher;
-- 查看所有學生的名字,年齡,性別,生日
desc student;
SELECT name,age,gender,birth from student;-- 查看職稱為 一級講師 的老師的名字,職稱,工資,年齡
select name,title,salary,age
from teacher
where title="一級講師";-- 查看除了 劉蒼松 以為的所有老師的名字,工資,獎金,職位
SELECT name,salary,comm,title
from teacher
where name <> "劉蒼松";-- 查看 職位是 大隊長 的學生的名字,年齡, 性別
SELECT name,age,gender 
FROM student
where job="大隊長";-- 查看年齡在30歲以上(包含)的老師的名字,職稱,工資,獎金
SELECT name,title,salary,comm
from teacher
where age>=30;-- 查看2層以上(包含)的班級有哪些,列出班級名字,所在樓層
SELECT name,floor
from class
WHERE floor>=2;
and 和 or

連接多個條件
and 與 并且 兩邊都為真結果才為真
or 或 兩邊都為假結果才是假

and的優先級高于or的
如果想提高優先級,可以使用( )

-- 查看 7歲 的 大隊長 都有誰,列出這些學生的名字,年齡,性別和職稱
SELECT name,age,gender,job
from student
where age=7 and job="大隊長";-- 查看班級編號小于6的所有中隊長都有誰,列出這些學生的名字,年齡,性別,班級編號和職位
SELECT name,age,gender,class_id,job
from student
WHERE class_id<6 and job="中隊長";-- 查看所有一級講師和三級講師的名字,職稱title,工資
SELECT name,title,salary
from teacher
where title="一級講師" or title="三級講師";-- 查看所有大隊長, 中隊長,小隊長的名字,性別,年齡和職位job
SELECT name,gender,age,job
from student
WHERE job="大隊長" or job="中隊長" or job="小隊長";-- 查看班級編號在6(包含)以下的所有大隊長和中隊長的名字,年齡,性別,班級和職位
SELECT name,age,gender,class_id,job
from student
WHERE class_id<=6 and (job="大隊長" or job="中隊長");desc student;
in 和 not in

in(列表) 表示字段的值在列表中
not in(列表) 表示字段的值不在列表中

-- 查看所有大隊長,中隊長和小隊長的名字,性別,年齡和職位
SELECT name,gender,age,job
from student
WHERE job in ("大隊長","中隊長","小隊長");-- 查看所有 一級講師, 二級講師,三級講師的名字,職稱,工資和性別
SELECT name,title,salary,gender
from teacher
WHERE title in ("一級講師", "二級講師","三級講師");-- 查看除了一級講師和二級講師之外的所有老師的名字,職稱,工資
SELECT name,title,salary
from teacher
WHERE title not in ("一級講師", "二級講師");
-- WHERE title <> "一級講師" and title <> "二級講師";-- 查看除了大隊長,中隊長,小隊長之外的其他學生的名字,職位,性別和年齡
SELECT name,job,gender,age
from student
WHERE job not in ("大隊長","中隊長","小隊長");
between…and…

between n and m 在n和m之間
not between n and m 不在n和m之間

-- 查看工資在2000到5000之間的老師的名字,性別,年齡,工資
SELECT name,gender,age,salary
from teacher
WHERE salary BETWEEN 2000 and 5000;-- 查看年齡在7歲到10歲的學生名字,性別,年齡
SELECT name,gender,age 
from student
WHERE age BETWEEN 7 and 10;-- 查看年齡在20到35之間的男老師都有誰,列出名字,性別,年齡,職稱
SELECT name,gender,age,title
from teacher
WHERE age BETWEEN 20 and 35
and gender="男";-- 查看所有3-5層的班級都有哪些,列出班級名稱和所在樓層
SELECT name,floor
from class
WHERE floor BETWEEN 3 and 5;-- 查看年齡在7到10歲以外的學生的名字,性別,年齡
SELECT name,gender,age 
from student
WHERE age not BETWEEN 7 and 10;

distinct

distinct 去除重復行
distinct用在select關鍵字之后,可以將結果中指定字段重復的記錄去除
distinct后面可以指定多個字段

-- 查看老師都有哪些職稱
SELECT DISTINCT title
from teacher;
-- 查看學生都有哪些職位
select DISTINCT job
from student;
-- 查看各年齡段的學生都有哪些職位
SELECT DISTINCT age,job
from student;

練習:

-- 1.查看負責課程編號為1的男老師都有誰?
SELECT name
from teacher
WHERE subject_id=1 and gender="男";-- 2.查看工資高于5000的女老師都有誰?
SELECT name
from teacher
WHERE salary>5000 and gender="女";-- 3.查看工資高于5000的男老師或所有女老師的工資?
SELECT name,gender,salary
from teacher
WHERE salary>5000 and gender="男" or gender="女"
;
-- 4.查看所有9歲學生的學習委員和語文課代表都有誰?
SELECT name,age,job
from student
WHERE age=9 and job in ("學習委員","語文課代表");-- 5.查看工資在6000到10000之間的老師以及具體工資
SELECT name,salary
from teacher
WHERE salary BETWEEN 6000 and 10000;-- 6.查看工資在4000到8000以外的老師以及具體工資
SELECT name,salary
from teacher
WHERE salary NOT BETWEEN 4000 and 8000;-- 7.查看老師負責的課程編號都有什么?
SELECT DISTINCT subject_id
from teacher;-- 8.查看所有女老師的職稱都是什么?
SELECT DISTINCT title
from teacher
WHERE gender="女";-- 9.查看7-10歲男同學的職位都有哪些?
SELECT DISTINCT job
from student
WHERE age BETWEEN 7 and 10
AND gender="男";-- 10.查看一級講師和二級講師的獎金是多少?
SELECT name,comm 
from teacher
WHERE title IN ("一級講師","二級講師");-- 11.查看除了老板和總監的其他老師的工資和獎金是多少?
SELECT name,salary,comm
from teacher
WHERE title not in ("老板","總監");-- 12.查看 3年級2班 和 5年級3班 在哪個樓層?
SELECT name,floor 
from class
WHERE name in ("3年級2班","5年級3班");
like 模糊查詢

兩個通配符
_ 表示一個字符
% 表示任意多個字符 0-n
like %x% 只要包含x
like x% 表示以x開頭 iphone%
like %x 表示以x結尾
like _x% 表示第二個字符是x
like %x_y 倒數第三個是x,最后一個是y
like x%y 表示以x開頭,以y結尾
like __x% 表示第三個字符是x

- 查看名字中包含 晶 的老師都有誰
SELECT name
from teacher
WHERE name LIKE "%晶%";-- 查看姓張的學生都有誰
SELECT name 
from student
WHERE name LIKE "張%";-- 查看三個字名字中第二個字是 平 的學生都有誰
SELECT name
from student
WHERE name LIKE "_平_";-- 查看最后一個字是 晶 的老師都有誰
SELECT name 
from teacher
WHERE name LIKE "%晶";-- 1.查詢名字姓 李 的學生姓名
SELECT *
from student
WHERE name LIKE "李%";-- 2.查詢名字中包含 江 的學生姓名
SELECT *
from student
WHERE name LIKE "%江%";-- 3.查詢名字以 郭 結尾的學生姓名
SELECT *
from student
WHERE name LIKE "%郭";-- 4.查詢 9-12歲里是 課代表 的學生信息
SELECT *
from student
WHERE age BETWEEN 9 and 12
and job LIKE "%課代表";-- 5.查詢名字第二個是 苗 的學生信息
SELECT * 
from student
WHERE name LIKE "_苗%";-- 6.查詢姓 邱 的課代表都是誰
SELECT *
from student
WHERE name LIKE "邱%"
AND job LIKE "%課代表";-- 7.查看哪些學生是 課代表? 列出他的名字和職位
SELECT name,job
from student
WHERE job LIKE "%課代表";-- 8.查看所有的2班都在哪層?
SELECT *
from class
WHERE name LIKE "%2班";
NULL

在數據庫中 所有字段默認值都是NULL,他表示不存在,是空
NULL不能算作一個值,應該是一種狀態
判斷NULL
is NULL 判斷一個字段的值是否為空
is not NULL 判斷一個字段的值是否為非空
不可以用 = 或者 <> 來判斷NULL

-- 哪些老師沒有獎金
SELECT *
from teacher
WHERE comm is NULL;-- 哪些老師有獎金  (哪些老師的獎金不為空 is NOT NULL)
SELECT *
from teacher
WHERE comm is NOT NULL and comm <> 0;

order by

把查詢的結果按照指定的字段升序或降序
asc: 按照指定字段升序 小到大
desc: 按照指定字段降序 大到小
不指定排序方式,默認為升序
如果按照多字段排序:
首先將結果集按照第一個字段進行排序
當第一個字段值重復的時候,在按照第二個字段進行排序
優先級: order by后第一個字段為最先,第二個排第二

日期比較大小規則: 距離現在越近的日期越大
NULL在數據庫中被視作最小值

-- 查看老師的工資從高到底
SELECT name,salary
from teacher
ORDER BY salary desc;-- 查看老師的獎金排名
SELECT name,comm
from teacher
ORDER BY comm desc;-- 查看學生的生日,按照從遠到近(小到大 升序)
SELECT *
from student
ORDER BY birth ASC; -- 查看7-10歲的學生信息,學生按照年齡從大到小排序(同年齡的看生日)
SELECT name,birth 
from student
WHERE age BETWEEN 7 and 10
ORDER BY birth;-- 查看老師的工資和獎金,首先按照獎金的升序,在按照的工資的降序
SELECT name,salary,comm
from teacher
ORDER BY comm ASC,salary desc;

分頁查詢

分頁查詢: 將查詢的結果按照分段顯示出來
當查詢的結果較多時,就可以使用分頁查詢

語法:
select xx
from xx
where xx
order by xx
limit M,N
M和N是兩個整數

M: 表示跳過結果集中多少條記錄(起始位置)
N: 表示從M位置開始查詢出多少條記錄
分頁中常見的參數:

  1. 當前的頁數
  2. 每頁顯示多少條記錄
    M: (當前頁數-1)*每頁顯示的條目數
    N: 每頁顯示多少條
-- 查看老師工資的前5名
-- 1)按照工資進行降序  2)分頁查詢
-- M: (當前頁數-1)*N  M:(1-1)X5  => M: 0
-- N: 5
SELECT name,salary
from teacher
ORDER BY salary desc
LIMIT 0,5;
-- 第一頁的數據  M:(1-1)X5    M: 0     N:5
-- 第二頁的數據   M: (2-1)X5    M: 5    N: 5
SELECT name,salary
from teacher
ORDER BY salary desc
LIMIT 5,5;-- 查看老師獎金信息,按照降序排序后,每頁顯示3條,顯示第五頁?
-- M: (5-1)x3  =>M:12    N:3
SELECT name,comm
from teacher
ORDER BY comm desc
LIMIT 12,3;

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

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

相關文章

對心理幸福感含義的探索 | 幸福就是一切嗎?

注&#xff1a;機翻&#xff0c;未校。 Happiness Is Everything, or Is It? Explorations on the Meaning of Psychological Well-Being 幸福就是一切嗎&#xff1f;對心理幸福感含義的探索 Journal of Personality and Social Psychology 1989, Vol. 57, No. 6,1069-1081 …

零基礎學Java——第十一章:實戰項目 - 微服務入門

第十一章&#xff1a;實戰項目 - 微服務入門 隨著互聯網應用的復雜性不斷增加&#xff0c;單體應用&#xff08;Monolithic Application&#xff09;在可擴展性、可維護性、技術棧靈活性等方面逐漸暴露出一些問題。微服務架構&#xff08;Microservices Architecture&#xff…

git 本地提交后修改注釋

dos命令行進入目錄&#xff0c;idea可以點擊Terminal 進入命令行 git commit --amend -m "修改內容"

Python訓練打卡Day22

復習日&#xff1a; 1.標準化數據&#xff08;聚類前通常需要標準化&#xff09; scaler StandardScaler() X_scaled scaler.fit_transform(X) StandardScaler() &#xff1a;這部分代碼調用了 StandardScaler 類的構造函數。在Python中&#xff0c;當你在類名后面加上括號…

氣動排渣煤粉爐專用V型球閥——法蘭連接耐磨閥門生產廠家解析-耀圣

氣動排渣煤粉爐專用V型球閥——法蘭連接耐磨閥門生產廠家解析 副標題&#xff1a;開關靈活無泄漏 標配行程開關/電磁閥/過濾器 一、產品概述&#xff1a;氣動排渣煤粉爐專用V型球閥核心優勢 作為專業的氣動耐磨V型球閥生產廠家&#xff0c;我們針對煤粉爐排渣工況研發的法蘭連…

Linux云計算訓練營筆記day08(MySQL數據庫)

Linux云計算訓練營筆記day08&#xff08;MySQL數據庫&#xff09; 目錄 Linux云計算訓練營筆記day08&#xff08;MySQL數據庫&#xff09;數據準備修改更新update刪除delete數據類型1.整數類型2.浮點數類型(小數)3.字符類型4.日期5.枚舉: 表頭的值必須在列舉的值里選擇拷貝表復…

致遠OA人事標準模塊功能簡介【附應用包百度網盤下載地址,官方售價4W】

人事管理應用&#xff0c;圍繞崗位配置、招聘管理、員工檔案、入轉調離、員工自助申報、數據信息管理等人力資源管理關鍵業務&#xff0c;構建全員可參與的人事工作協同平臺&#xff0c;讓人事從繁雜瑣碎的事務中解脫出來&#xff0c;高質高效工作&#xff0c;讓管理層清楚掌握…

數字孿生工廠實戰指南:基于Unreal Engine/Omniverse的虛實同步系統開發

引言&#xff1a;工業元宇宙的基石技術 在智能制造2025與工業元宇宙的交匯點&#xff0c;數字孿生技術正重塑傳統制造業。本文將手把手指導您構建基于Unreal Engine 5.4與NVIDIA Omniverse的實時數字孿生工廠系統&#xff0c;集成Kafka實現毫秒級虛實同步&#xff0c;最終交付…

【向量模型 + HNSW 參數如何選擇】

目錄 一、embedding_function&#xff08;向量模型&#xff09; 可選方式 選型建議 二、HNSW 參數選擇&#xff08;核心影響搜索速度與準確率&#xff09; 2.1 參數解釋和推薦值 2.2 配置模板參考 1、推薦默認配置&#xff08;適合大多數項目&#xff09;&#xff1a; 2…

fpga系列 HDL : Microchip FPGA開發軟件 Libero Soc 安裝 license申請

啟動 注冊賬號&#xff1a;https://login.microchip.com/申請免費許可&#xff1a;https://www.microchipdirect.com/fpga-software-products C:\Windows\System32>vol驅動器 C 中的卷是 Windows卷的序列號是 ****-****為“D:\Microsemi\License.dat”創建環境變量“LM_LICE…

【C++】解析C++面向對象三要素:封裝、繼承與多態實現機制

解析C面向對象三要素&#xff1a;封裝、繼承與多態實現機制 1. 面向對象設計基石2. 封裝&#xff1a;數據守衛者2.1 訪問控制實現2.2 封裝優勢 3. 繼承&#xff1a;代碼復用藝術3.1 繼承的核心作用3.2 繼承類型對比3.3 典型應用場景3.4 構造函數與析構函數處理3.4.1 構造順序控…

Python并發編程:開啟性能優化的大門(7/10)

1.引言 在當今數字化時代&#xff0c;Python 已成為編程領域中一顆璀璨的明星&#xff0c;占據著編程語言排行榜的榜首。無論是數據科學、人工智能&#xff0c;還是 Web 開發、自動化腳本編寫&#xff0c;Python 都以其簡潔的語法、豐富的庫和強大的功能&#xff0c;贏得了廣大…

數學復習筆記 10

前言 我覺得數學的高分乃至滿分屬于那些&#xff0c;聰明&#xff0c;堅韌&#xff0c;勇敢&#xff0c;細致的人。我非常慚愧自己不是這樣的人&#xff0c;我在生活中發現了這樣的同學&#xff0c;和他們交流的時候我常常感到汗流浹背&#xff0c;因為他們非常扎實的基礎知識…

深入理解 Webpack 核心機制與編譯流程

&#x1f916; 作者簡介&#xff1a;水煮白菜王&#xff0c;一位前端勸退師 &#x1f47b; &#x1f440; 文章專欄&#xff1a; 前端專欄 &#xff0c;記錄一下平時在博客寫作中&#xff0c;總結出的一些開發技巧和知識歸納總結?。 感謝支持&#x1f495;&#x1f495;&#…

概率相關問題

問題匯總 1. 貝葉斯定理&#xff08;貝葉斯公式和全概率公式&#xff09;2. 概率題2.1 隨機發生器的概率為1/2 1. 貝葉斯定理&#xff08;貝葉斯公式和全概率公式&#xff09; 定義&#xff1a;在信息和條件有限的情況下&#xff0c;基于過去的數據&#xff0c;通過動態調整的…

【系統架構師】2025論文《WEB系統性能優化技術》

&#x1f60a;你好&#xff0c;我是小航&#xff0c;一個正在變禿、變強的文藝傾年。 &#x1f514;本文分享【系統架構師】2025論文《系統可靠性設計》&#xff0c;期待與你一同探索、學習、進步&#xff0c;一起卷起來叭&#xff01; 目錄 項目介紹背景介紹系統模塊技術棧性能…

ADS1220高精度ADC(TI)——應用 源碼

文章目錄 德州儀器ADS1220概述資料引腳&封裝布線寄存器配置寄存器0&#xff08;00h&#xff09;配置寄存器1&#xff08;01h&#xff09;配置寄存器2&#xff08;02h&#xff09;配置寄存器3&#xff08;03h&#xff09; 連續轉換流程驅動源碼ads1220.cads1220.h 德州儀器A…

Uniapp 安卓實現訊飛語音聽寫(復制即用)

在移動應用開發中&#xff0c;語音交互功能能夠極大提升用戶體驗&#xff0c;讓操作更加便捷自然。訊飛語音聽寫技術憑借其高準確率和穩定性&#xff0c;成為眾多開發者的選擇。本文將詳細介紹如何在 Uniapp 項目中&#xff0c;實現安卓端的訊飛語音聽寫功能&#xff0c;幫助你…

【golang】DNS 資源記錄(RR)接口

Go 中 miekg/dns 包對 DNS 資源記錄&#xff08;RR&#xff09;接口 的定義&#xff1a; type RR interface {Header() *RR_HeaderString() stringcopy() RRlen(off int, compression map[string]struct{}) intpack(...)unpack(...)parse(...)isDuplicate(r2 RR) bool }這個接…

16.2 VDMA視頻轉發實驗之模擬源

文章目錄 1 實驗任務2 系統框圖3 硬件設計3.1 IP核配置3.2 注意事項3.3 自定義IP核源碼 4 軟件設計4.1 注意事項4.2 工程源碼4.2.1 main.c文件 1 實驗任務 基于14.1&#xff0c;相較于16.1&#xff0c;使用自定義IP核vid_gen_motion替換Xilinx TPG IP核。 2 系統框圖 基于14…