MySQL面試題-基礎

来源:https://www.cnblogs.com/blogxu/archive/2020/05/14/gitMRL.html
-Advertisement-
Play Games

MySQL面試題-基礎 1、SQL中文全稱 結構化查詢語言2、SQL語句分類 (1)數據查詢語言DQL包括select欄位名from表名where條件 (2)數據操縱語言DML包括Insertupdatedelete (3)數據定義語言DDL包括createalterdroptruncate (4) ...


MySQL面試題-基礎

1、SQL中文全稱

結構化查詢語言
2、SQL語句分類

(1)數據查詢語言DQL包括select欄位名from表名where條件

(2)數據操縱語言DML包括Insertupdatedelete

(3)數據定義語言DDL包括createalterdroptruncate

(4)數據控制語言DCL包括grant(授權)DENY語句(拒絕授權)REVOKE語句(撤

銷許可權)

(5)事務控制語言TCL包括commitrollbacksavepoint

3、資料庫約束

(1)主鍵約束primarykey

(2)外鍵約束foreignkey

(3)非空約束notnull

(4)唯一約束unique

(5)檢查約束check(Oracle有效)

(6)預設約束default

4、資料庫聚合函數

(1)Sum求和

(2)Avg平均

(3)Max最大值

(4)Min最小值

(5)Count計數

5、查看資料庫showdatabases
6、查看表showtables
7、查看表欄位desc表名
8、修改表名rename表名1to表名2
9、添加表欄位altertablet1addageintfirst/afterxxx;
10、刪除表欄位altertablet1dropage;
11、修改欄位名和類型altertablet1change原名新名新類型;
12、修改欄位類型和位置altertablet1modify欄位名新類型first/afterxxx;
13、數據類型

(1)-整數:int(m)bigint(m)m代表顯示長度需要結合zerofill補0

(2)-浮點數:double(m,d)m代表總長度d代表小數長度超高精度浮點數

decimal(m,d)

(3)-字元串:char固定長度最大255執行效率高varchar可變長度最大65535超

高255建議使用texttext可變長度最大65535

(4)-日期:date年月日time時分秒datetime預設為null,最大9999-12-31

timestamp預設為當前系統時間,最大2038-01-19

14、數據去重distinct
15、模糊查詢like_單個未知字元%代表0或多個未知字元
16、排序orderby欄位1asc/desc,欄位2asc/desc;
17、分頁limit跳過的條數,請求條數
18、字元串相關:

(1)concat()字元串拼接

(2)char_length()字元串長度

(3)instr()查找字元

(4)insert()插入字元

(5)upper()轉成大寫

(6)lower()轉成小寫

(7)trim()去除空格

(8)substring()截取字元串

(9)repeat()重覆

(10)replace()替換

(11)reverse()反轉

19、分組groupby
20、笛卡爾積
如果關聯查詢不寫關聯關係會得到兩張表數據的乘積,這個乘積稱為笛卡爾積
工作中切記不要出現,如果數據量大,會占用大量記憶體,甚至系統崩潰
21、左外連接和右外連接的區別
(1)外連接分為左外和右外得到的是一張表的全部數據和另外一張表的交集數據
(2)左外連接以左表為驅動表,右表為匹配表,右表可能會出現重覆數據或者更null
(3)右外連接情況與做外連接相反
22、什麼是視圖:
(1)視圖和表都是資料庫中的對象,視圖可以理解成一張虛擬的表,視圖本質就是取代
了一段SQL查詢語句
(2)為什麼使用視圖:可以起到SQL語句重用的作用,隱藏敏感信息
23、視圖的作用:重用SQL、隱藏敏感信息
24、視圖的分類:簡單視圖(不包含去重、函數、分組、關聯查詢,可以進行增刪改查)
和複雜視圖(和簡單視圖相反,只能查詢)
25、什麼是索引:索引是資料庫中用於提高查詢效率的技術,類似於目錄
26、為什麼使用索引:如果不使用索引,數據會零散的保存在磁碟塊中,查詢數據需要挨個
遍歷每一個磁碟塊,直到找到數據為止,使用索引後會將磁碟塊以樹樁結構進行保存,查詢
數據時會大大降低磁碟塊的訪問數量,從而提高查詢效率。
27、索引是越多越好嗎?
不是,因為索引會占用存儲空間,只針對常用的查詢欄位創建索引。
28、有索引就一定好嗎?
如果數據量小,添加索引反而會降低查詢效率。
29、索引分類(瞭解)
1.聚集索引:給表添加主鍵約束的時候資料庫會自動通過主鍵創建索引,這個索引稱
為聚集索引。聚集索引的磁碟塊中保存數據
2.非聚集索引:通過其它欄位創建的索引稱為非聚集索引,非聚集索引的磁碟塊中只
保存磁碟塊的地址沒有數據(因為數據只需要有一份)
30、事務
資料庫中執行同一業務多條SQL語句的工作單元,可以保證全部執行成功,或全部執行
失敗
31、事務的ACID特性是保證事務正確執行的四大基本要素
-Atomicity:原子性,最小不可拆分,保證全部成功全部失敗
-Consistency:一致性,從一個一致狀態到另一個一致狀態
-Isolation:隔離性,多個事務之間互不影響
-Durability:持久性,事務完成後數據提交到資料庫中持久生效


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

-Advertisement-
Play Games
更多相關文章
  • 1. CPU高速緩存:在電腦系統中,CPU高速緩存(英語:CPU Cache)是用於減少處理器訪問記憶體所需平均時間的部件。在金字塔式存儲體系中它位於自頂向下的第二層,僅次於CPU寄存器。其容量遠小於記憶體,但速度卻可以接近處理器的頻率。當處理器發出記憶體訪問請求時,會先查看緩存內是否有請求數據。如果存 ...
  • 學習筆記 目錄 前言 運維人員的核心職責:... 1 第一章伺服器硬體與組成原理... 1 伺服器... 1 1.伺服器的分類:... 1 2.伺服器的組成:... 2 1)電源:... 2 2)cpu. 2 3)記憶體... 2 4)磁碟... 3 5)RAID卡(陣列卡).. 3 6)遠程管理卡: ...
  • 一 K3S概述 1.1 K3S介紹 K3S是一個輕量級Kubernetes發行版。易於安裝,記憶體消耗低,所有二進位文件不到40mb。 適用於: 邊緣計算-Edge 物聯網-IoT CI ARM 1.2 K3S特點 k3s是完全相容的Kubernetes發行版,有以下更改: 移除過時的功能、Alpha ...
  • Zabbix監控TCP連接狀態(命令實現)適用centos7 1.添加自定義key配置文件 cat /etc/zabbix/zabbix_agentd.d/tcp_status.conf UserParameter=tcp_status[*],ss -ant |grep -c $1 ss直接讀/pr ...
  • 一 Helm概述 1.1 Helm介紹 Helm 是 Kubernetes 的軟體包管理工具。包管理器類似 Ubuntu 中使用的apt、Centos中使用的yum 或者Python中的 pip 一樣,能快速查找、下載和安裝軟體包。通常每個包稱為一個Chart,一個Chart是一個目錄(一般情況下會 ...
  • 前面我們看了Redis用到的主要數據結構,如簡單動態字元串(SDS)、雙向鏈表、字典、壓縮列表、整數集合等。 但是Redis並沒有直接使用這些數據結構來實現鍵值對,而是基於這些數據結構創建了一個對象系統,這個系統包括字元串對象、列表對象、哈希對象、集合對象、有序集合對象,除此之外,redis的對象系 ...
  • 1146 Table 'performance_schema.session_variables' doesn't exist 一 問題出現場景 1 在Flask使用SQLAlchemy操作mysql的時候會出現 2 使用Navicat連接資料庫會出現 附:連接Navicat成功的要點 (1) 需要 ...
  • 記憶體的讀寫速度遠大於磁碟的讀寫速度,減少磁碟讀寫,可以作為重點優化方向。 資料庫內部最重要的就是存儲結構,存儲結構必然涉及到數據結構知識。比如用到了常用的哈希圖、樹。 MYSQL資料庫常用兩種引擎,InnoDB、MyISAM,可以直接對錶指定資料庫引擎。 MYSQL索引是一種數據結構,幫助更快的查詢 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...