MySQL數據庫基礎:使用、架構、SQL語句、存儲引擎

文章目錄

  • 什么是數據庫
    • CS模式
  • 基本使用
    • 安裝
    • 鏈接服務器
    • 服務器、數據庫、表關系
    • 簡單使用
    • 數據庫在Linux下的體現
  • MySQL架構
    • 連接器層
    • 客戶端層
    • 服務層
    • 存儲引擎層
    • 物理存儲層
  • SQL分類
  • 存儲引擎

什么是數據庫

  • mysql:數據庫服務的客戶端
  • mysqld:數據庫服務的服務器端
  • mysql本質:基于CS模式的一種網絡服務。

    mysql是一套提供給我們進行數據存取服務的網絡程序。

CS模式

CS模式(Client-Server模式,客戶端-服務器模式),是一種網絡架構模型,在這種模型中,任務和工作負載分布在提供資源或服務的服務器和請求服務的客戶端之間。

  • 客戶端
    客戶端是請求服務的一方。它通常是一個終端用戶或一個應用程序。客戶端通過發送請求來訪問服務器上的資源或服務,然后處理服務器返回的響應。
  • 服務端
    服務器是提供服務或資源的一方。它提供并處理來自客戶端的請求,然后將結果返回給客戶端。服務器可以托管在物理機或虛擬機上,常見的服務器有web服務器,數據庫服務器,文件服務器等。

基本使用

安裝

MySQL詳細安裝、配置過程,多圖,詳解-CSDN博客

鏈接服務器

mysql -h 127.0.0.1 -P 3306 -u root -p
  • mysql:這是MySQL客戶端命令,用于連接MySQL數據庫服務器

  • -h:選項-h用于指定MySQL服務器的主機名或者IP地址

  • 1270.0.0.1:是本地主機的IP地址,表示連接到運行在同一臺計算機上的MySQL服務器。

  • -P:選項-P(大寫P),用于指定MySQL服務器的端口號。默認情況下,MySQL使用端口3306

  • -u:用于指定用于連接MySQL服務器的用戶名。實例中的用戶名是root,它是MySQL默認的超級用戶。

  • -p:選項-p用于提示輸入密碼

  • 在登錄指令中,不寫-h 127.0.0.1,則默認連接到本地

  • 在登錄指令中,不寫-p 3306,則默認鏈接的是配置文件中默認的端口號

登錄

登錄成功

服務器、數據庫、表關系

  • 所謂安裝數據庫服務器,只是在機器上安裝了一個數據庫管理系統程序,這個管理程序可以管理多個數據庫,一般開發人員會針對每一個應用創建一個數據庫。
  • 為了保護應用中實體的數據,一般會在數據庫中創建多個表,以保存程序中實體的數據。

簡單使用

查看已存在的數據庫

show databases;

創建數據庫

create database helloworld;

使用數據庫

use helloworld;

創建數據庫表

create table student(id int,name varchar(32),gender varchar(2)
);

在當前打開的數據庫中,創建一個名為student的表,其中包含三個列:id、name、gender。

在表中插入數據

insert into student (id, name, gender) values (1, '張三', '男');
  • insert into student (id, name, gender):指定要插入數據的表,以及表中的列

查詢表中的數據

select * from student;

數據庫在Linux下的體現

在上面的操作中,我們使用mysql建立了一個名為LearnMySql的數據庫,并且建立了一個名為student的表結構,也插入了一些數據。那么這些數據在Linux下是如何表現的呢?

  1. 建立數據庫,本質就是Linux下的一個目錄。
  2. 在數據庫內,建立表結構,本質就是在Linux下創建對應的文件。
  3. 數據庫本質其實也是文件,只不過這些文件不是由用戶直接操作,而是由數據庫服務幫我們直接進行操作。

MySQL架構

連接器層

這一層包括各種客戶端連接器和接口,允許用戶使用不同的編程語言和工具與MySQL服務器通信。

  • JDBC\ODBC.NET\PHP\PYTHON\PERL\C API等連接器
  • 這些連接器允許應用程序通過標準化的接口與MySQL進行交互。

客戶端層

  • 客戶端層寶庫與MySQL服務器進行通信的各種客戶端組件,如命令行工具、圖形化界面工具、編程語言中的MySQL鏈接庫等。
  • 客戶端負責向服務器發送請求,并處理服務器返回的結果,同時向用戶提供交互界面和操作功能。

服務層

  • 這一層包括MySQL服務器的核心功能,如SQL解析、查詢優化、事務管理、權限哦控制、鏈接管理等。
  • MySQL服務器接收客戶端的請求,在查詢處理、事務管理和權限控制等方面進行處理,并將結果返回給客戶端。

存儲引擎層

  • 存儲引擎是MySQL中負責實際數據存儲和檢索的組件
  • 支持多種可插拔的存儲引擎
  • 不同的存儲引擎有不同的特性和適用場景。
    • InnoDB
    • Merge

物理存儲層

  • 這一層負責管理數據在磁盤上的存儲,包括表數據文件、索引文件等。
  • 管理數據的物理存儲格式和組織結構。

SQL分類

  1. DDL,數據定義語言
    用來維護存儲數據的結構。主要包括創建、修改和刪除數據庫對象(表、試圖、索引等)
    • create:用于創建數據庫、表、視圖、索引等
    • drop:用于刪除數據庫、表、視圖、索引等
    • alter:用于修改現有數據庫對象那個的結構,如表的添加或者刪除列
  2. DML,數據控制語言
    DML用于對數據庫中的數據進行查詢和修改,包括插入、更新、刪除和查詢數據。
    • insert:用于向表中插入數據
    • update:用于修改表中的數據
    • delete:用于刪除表中的數據

存儲引擎

存儲引擎:數據庫管理系統如何存儲數據,如何為存儲的數據建立索引和如何更新、查詢數據等技術的實現方法。

  • MySQL的核心是插件式存儲引擎,支持多種存儲引擎。

查看存儲引擎

show engines;

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

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

相關文章

PLC_博圖系列?R_TRIG:檢測信號上升沿

PLC_博圖系列?R_TRIG:檢測信號上升沿 文章目錄 PLC_博圖系列?R_TRIG:檢測信號上升沿背景介紹R_TRIG: 檢測信號上升沿說明參數示例 關鍵字: PLC、 西門子、 博圖、 Siemens 、 R_TRIG 背景介紹 這是一篇關于PLC編程的文章&a…

[ C++ ] 類和對象( 中 ) 2

目錄 前置和后置重載 運算符重載和函數重載 流插入流提取的重載 全局函數訪問類私有變量 友員 const成員 取地址及const取地址操作符重載 前置和后置重載 運算符重載和函數重載 流插入流提取的重載 重載成成員函數會出現順序不同的情況(函數重載形參順序必須相…

數據結構(五)樹與二叉樹

2024年5月26日一稿(王道P142) 基本概念 術語 性質 二叉樹 5.2.2 二叉樹存儲結構

Spring從零開始學使用系列(三)--Spring框架中@Value注解和配置管理詳解

如果各位老爺覺得可以,請點贊收藏評論,謝謝啦!! 文章中涉及到的圖片均由AI生成 公眾號在最下方!!! 目錄 1. 如何在Spring中使用Value注解 1.1 基本用法 1.2提供默認值 2. 如何配置和使用Prop…

嵌入式進階——數碼管2

🎬 秋野醬:《個人主頁》 🔥 個人專欄:《Java專欄》《Python專欄》 ??心若有所向往,何懼道阻且長 文章目錄 驅動封裝封裝的一些疑問數字走馬燈實現擴展知識 驅動封裝 根據前面的內容可以將代碼進行封裝,封裝后作為一個獨立的整…

貪心題目總結

1. 最長遞增子序列 我們來看一下我們的貪心策略體現在哪里??? 我們來總結一下: 我們在考慮最長遞增子序列的長度的時候,其實并不關心這個序列長什么樣子,我們只是關心最后一個元素是誰。這樣新來一個元素之后&#xf…

HTML5 Web組件技術應用

目錄 Custom ElementsShadow DOMHTML TemplatesHTML ImportsHTML5 Web Components技術是一組相關標準和API的集合,旨在增強Web開發中的組件化能力,允許開發者創建可重用、封裝良好的自定義UI組件,這些組件擁有獨立的視圖層(樣式)、邏輯(行為)和結構(模板)。Web Compon…

【Week-R1】RNN實現心臟病預測,基于tensorflow框架

文章目錄 一、什么是RNN?二、準備環境和數據2.1 導入數據 三、構建模型四、訓練和預測五、其他(1)sklearn模塊導入報錯:ModuleNotFoundError: No module named sklearn(2)優化器改為SGD,accurac…

類和對象2

三、C對象模型和this指針 3.1 成員變量和成員函數分開存儲 在C中&#xff0c;類內的成員變量和成員函數分開存儲&#xff0c;只有非靜態成員變量才屬于類的對象上 #define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> #include <string.h> using namespace …

Linux系統之GoAccess實時Web日志分析工具的基本使用

Linux系統之GoAccess實時Web日志分析工具的基本使用 一、GoAccess介紹1.1 GoAccess簡介1.2 GoAccess功能1.3 Web日志格式 二、本地環境介紹2.1 本地環境規劃2.2 本次實踐介紹 三、檢查本地環境3.1 檢查本地操作系統版本3.2 檢查系統內核版本3.3 檢查系統鏡像源3.4 更新軟件列表…

JavaFX安裝與使用

前言 最近學習了javafx,開始時在配置環境和導包時遇到了一些麻煩,關于網上很多方法都嘗試過了,現在問題都解決了,和大家分享一下我是怎么實現javafx的配置,希望大家可以通過這個方法實現自己的環境配置! &#x1f648;個人主頁: 心.c &#x1f525;文章專題:javafx &#x1f49…

如何在linux命令行(終端)執行ipynb 文件。可以不依賴jupyter

1.安裝 runipy pip install runipy 2.終端運行 runipy <YourNotebookName>.ipynb 在終端命令行執行shell腳本&#xff0c;&#xff08;也可以在crontab 中執行&#xff09;&#xff1a; (base) [recommendapp-0-5-B-006 script]$ cat run1.sh #!/bin/bashcd /home/recom…

計算機網絡-Traffic-Filter流量過濾策略

一、概述 為提高網絡安全性&#xff0c;管理人員需要控制進入網絡的流量&#xff0c;將不信任的報文丟棄在網絡邊界。所謂的不信任報文是指對用戶來說存在安全隱患或者不愿意接收的報文。同時保證數據訪問安全性&#xff0c;企業網絡中經常會要求一些部門之間不能相互訪問。 背…

服務器數據恢復—同友存儲raid5陣列上層虛擬機數據恢復案例

服務器數據恢復環境&#xff1a; 某市教育局同友存儲&#xff0c;存儲中有一組由數塊磁盤組建的raid5陣列&#xff0c;存儲空間劃分若干lun。每個lun中有若干臺虛擬機&#xff0c;其中有數臺linux操作系統的虛擬機為重要數據。 存儲結構&#xff1a; 服務器故障&#xff1a; r…

前端面試個人技能總結

1.html5新特性 語義化標簽&#xff1a;header footer nav section artical aside媒體標簽&#xff1a;qudio video &#xff08;control autoplay loop &#xff09; source標簽表單新增屬性&#xff1a;輸入類型type:email url data month week color&#xff1b;新增屬性&…

slam14講(第9,10講 后端)

slam14講&#xff08;第9&#xff0c;10講 后端&#xff09; 后端分類基于濾波器的后端線性系統和卡爾曼濾波非線性系統和擴展卡爾曼濾波 BA優化H矩陣的稀疏性和邊緣化H矩陣求解的總結 位姿圖優化公式推導 基于滑動窗口的后端個人見解舊關鍵幀的邊緣化 后端分類 基于濾波器的后…

AtCoder Beginner Contest 355 A~F

A.Who Ate the Cake?(思維) 題意 已知有三個嫌疑人&#xff0c;有兩個證人&#xff0c;每個證人可以指出其中一個嫌疑人不是罪犯&#xff0c;如果可以排除兩個嫌疑人來確定犯人&#xff0c;輸出犯人的身份&#xff0c;如果無法確定&#xff0c;輸出"-1"。 分析 …

AT_abc351_c [ABC351C] Merge the balls 題解

題目傳送門 題目大意 你有一個空序列和 N N N 個球。第 i i i 個球 ( 1 ≤ i ≤ N ) (1 \leq i \leq N) (1≤i≤N) 的大小是 2 A i 2^{A_i} 2Ai?。 計算 N N N 操作后序列中剩余的球的個數。 你將進行 N N N 次運算。 在第 i i i 次操作中&#xff0c;你將第 i i…

springboot + Vue前后端項目(第十一記)

項目實戰第十一記 1.寫在前面2. 文件上傳和下載后端2.1 數據庫編寫2.2 工具類CodeGenerator生成代碼2.2.1 FileController2.2.2 application.yml2.2.3 攔截器InterceptorConfig 放行 3 文件上傳和下載前端3.1 File.vue頁面編寫3.2 路由配置3.3 Aside.vue 最終效果圖總結寫在最后…