【MySQL】從零開始了解數據庫開發 --- 初步認識數據庫

在這里插入圖片描述

永遠記住,你的存在是有意義的,
你很重要,
你是被愛著的,
而且你為這個世界帶來了無可取代的東西。
-- 麥克西 《男孩、鼴鼠、狐貍和馬》--

從零開始了解數據庫開發

  • 安裝MySQL
  • 什么是數據庫
  • 常見主流數據庫
  • 初步了解SQL語句
  • 存儲引擎

安裝MySQL

學習數據庫開發之前首先要正確安裝MySQL,可以尋找網上的教程。這里我們先講解數據庫的基礎知識。
安裝好之后,MySQL程序是一直在運行的。這里存在兩個進程mysqld與mysql
在這里插入圖片描述
那么如何使用數據庫呢?我們先來了解mysql提供的選項:

  • -h:選擇連接的主機地址,mysql本質是一種網絡服務,mysql可以連接指定主機的數據庫服務。不指定默認本機服務
  • -P:指明服務端口號,不指定使用默認配置
  • -u:使用誰的身份登錄
  • -p:使用密碼

mysql -h 127.0.0.1 -P 3306 -u root -p 我們輸入密碼就能連接到數據庫:
在這里插入圖片描述

什么是數據庫

下面我們來了解數據庫基礎,首先來了解mysql與mysqld:

  1. mysql:MySQL服務的客戶端
  2. mysqld:MySQL服務的服務端

兩者結合在一起才是MySQL,是一種網絡服務。
在這里插入圖片描述
MySQL是一套給我們通過數據存取服務的網絡程序,而數據庫一般指在磁盤或者內存中存儲的特定結構的數據。

說到存儲數據為什么不直接使用文件進程存儲呢,為什么還需要數據庫?一般的文件確實提供了數據的儲存功能,但是文件并沒有提供非常好的數據內容的管理能力,并且存在安全性問題。如果想要便捷的增刪查改數據內容,使用數據庫是必須的。

數據庫本質是對數據存儲管理的一套解決方案。

我們來在linux里看一看數據庫具體是什么,我們建立數據庫,建立數據表來看下。我們進入MySQL,可以查看當前的數據庫:

在這里插入圖片描述
這些數據庫是儲存在哪里呢?我們去MySQL配置的儲存路徑查看一下

在這里插入圖片描述
可以發現這些數據庫就是這個目錄下的藍色目錄,執行創建數據庫來驗證一下create database helloworld;
在這里插入圖片描述
確實是出現了。所以建立數據庫的本質就是創建linux下的一個目錄。我們再來看一下數據表
create table student( name varchar(32), age int, gender varchar(32) );創建了數據表就建立了對應的文件
在這里插入圖片描述
總結一下:

  • 建立數據庫本質就是linux下的一個目錄
  • 在數據庫內建立表本質就是在linux下創建對應的文件
  • 這些工作都是MySQL幫助我們進行的,數據庫本質也是文件,只不過不需要程序員手動進行操作,程序員只需要訪問MySQL管理數據即可。
    在這里插入圖片描述

常見主流數據庫

  • SQLSever:微軟的產品,.Net程序員的最愛,中大型項目。
  • Oracle:甲骨文產品,適合大型項目,復雜的業務邏輯,并發一般來說不如MySQL。
  • MySQL:世界上最受歡迎的數據庫,屬于甲骨文,并發性好,不適合做復雜的業務。主要用在電商,SNS,論壇。對簡單的SQL處理效果好。
  • PostgreSQL:加州大學伯克利分校計算機系開發的關系型數據庫,不管是私用,商用,還是學術研究使用,可以免費使用,修改和分發。
  • SQLite:是一款輕型的數據庫,是遵守ACID的關系型數據庫管理系統,它包含在一個相對小的C庫中。它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它占用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。
  • H2:是一個用Java開發的嵌入式數據庫,它本身只是一個類庫,可以直接嵌入到應用項目中。

初步了解SQL語句

  • DDL【data definition language】數據定義語言,用來維護存儲數據的結構,代表指令:create,drop,alter
  • DML【data manipulation language】數據操縱語言,用來對數據進行操作代表指令:insert,delete,update,DML中又單獨分了一個DQL,數據查詢語言,代表指令:select
  • DCL【Data Control Language】 數據控制語言,主要負責權限管理和事務代表指令:grant,revoke,commit

存儲引擎

接下來我們來了解存儲引擎。存儲引擎是數據庫管理系統如何存儲數據,如何為存儲數據建立新的索引和如何更新,查詢數據等技術的實現方法。

MySQL的核心就是插件式的存儲引擎,支持多種存儲引擎。我們可以看一下有哪些儲存引擎:
在這里插入圖片描述
其中MySQL中最主要的就是MyISAM和InnoDB,如果遇到這兩種引擎解決不好的問題,既可以不考慮使用MySQL數據庫了。

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

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

相關文章

Altium Designer(AD24)切換工作界面為淺灰色的方法

??《專欄目錄》 目錄 1,概述 2,界面介紹 1,概述 本文演示AD24軟件黑色界面切換為淺灰色的方法。 2,界面介紹 第1步:點擊設置小圖標,然后點擊View 第2步:在UI Theme,點擊Current旁邊的Altium Dark Gtay ,在下拉選項中選擇Altium Light Gtay,然后點擊OK確認 第4步…

SDRAM詳細分析—07 存儲器陣列尋址

大家好,這里是大話硬件 這篇文章將分析實際SDRAM內部是如何進行尋址以及內存單元分布方式。 根據前面的內容,從小容量到大容量進行迭代分析。 1. 1bit容量 這個存儲單元只能存儲1個bit位。假設現在需要8bit內存容量顆粒,則需要8顆這樣的存儲器件。 2. 4bit容量 這個存儲…

【GitOps】Argo CD高級操作鉤子

Argo CD高級操作鉤子 文章目錄Argo CD高級操作鉤子資源列表一、Argo CD鉤子1.1、鉤子介紹1.2、構建的幾個執行階段1.3、鉤子刪除策略1.4、示例二、鉤子演示2.1、創建GitLab公共倉庫2.2、Argo CD創建Application2.3、同步(SYNC)資源列表 操作系統配置主機…

諳流 ASK 技術解析(一):秒級擴容

諳流 ASK 是諳流團隊自主研發的國產新一代云原生流平臺,與 Apache Kafka 100% 協議兼容,全棧自主可控,專注私有化部署與行業場景賦能。傳統Kafka存儲之殤IO模型缺陷每個分區對應獨立文件,采用單分區異步批量順序寫機制。當多分區并…

從挑西瓜到樹回歸:用生活智慧理解機器學習算法

一、生活中的決策樹:媽媽的挑瓜秘籍夏天的菜市場里,媽媽總能精準挑出最甜的西瓜。她的秘訣是一套簡單的決策流程:先看色澤,青綠有光澤的優先;再敲一敲,聲音沉悶的更可能熟;最后摸硬度&#xff0…

SpringBoot+PDF.js實現按需分片加載(包含可運行樣例源碼)

SpringBootPDF.js實現按需分片加載前言一、實現思路與實現效果1.1 pdf.js的分片加載的實現思路1.2 pdf分片加載的效果二、前端項目2.1 項目引入2.2 核心代碼2.3 項目運行三、后端項目3.1 項目結構3.2 核心代碼3.3 項目運行四、項目運行效果4.1 首次訪問4.2 分片加載五、項目優化…

常見Bash腳本漏洞分析與防御

引言 在Unix/Linux系統中,Bash腳本因其簡潔、高效而成為自動化任務、系統管理和快速原型開發的首選工具。然而,Bash的強大功能和其獨特的語法特性,也為安全漏洞埋下了隱患。許多開發者在追求便捷性的過程中,無意間引入了命令注入、…

JAVA快速學習(二)

類與對象因為本質是寫python的所以類與對象的概念就不贅述了,先看java中類與對象的創建方式public class Main {public static void main(String[] args) {Cat cat new Cat(); // Cat cat new Cat("zh",18); 這樣直接不對,這樣傳參就需要寫構造函數…

登錄優化(雙JWT+Redis)

流程 前端 → 后端 → 攔截器 → 限流 → AOP → Controller → 刷新 → 退出 前端登錄并獲取雙 JWT 1、前端:用戶在前端輸入用戶名和密碼,調用 /auth/login 接口。 fetch("/auth/login", {method: "POST",headers: {"Content-Type": &quo…

【雜類】Spring 自動裝配原理

這張圖,??正是理解現代 Spring Boot 自動配置的鑰匙??。它指出的 AutoConfiguration.imports 文件,是 Spring Boot 2.7 之后的新標準,比老式的 spring.factories 更簡潔。咱們就從這個文件開始說。一、自動配置是啥?為啥需要它…

【CSS,DaisyUI】自定義選取內容的顏色主題

當你的網站使用了多個主題,比如 light/dark。當用戶選擇一段文本,常常會出現一個主題沒問題,另一個主題顏色怪怪的。是因為選擇區域的主題通常沒有變化,導致與當前主題不配合。 下面四種方法可解決這個問題: The probl…

Linux網絡接口命名詳解:從eth0到ens33

在Linux系統中,網絡接口的命名方式直接影響管理員對設備的理解與管理。從早期的eth0、wlan0到現代的ens33、enp0s3、eno1,Linux網絡接口命名規則經歷了顯著的演變。一、Linux網絡接口命名的歷史與演變 Linux網絡接口命名的歷史可以分為兩個主要時代&…

如何在 FastAPI 中巧妙覆蓋依賴注入并攔截第三方服務調用?

url: /posts/2d992ef9e8962dc0a4a0b5348d486114/ title: 如何在 FastAPI 中巧妙覆蓋依賴注入并攔截第三方服務調用? date: 2025-09-06T03:34:14+08:00 lastmod: 2025-09-06T03:34:14+08:00 author: cmdragon summary: FastAPI 的依賴注入系統允許解耦復雜依賴關系,便于代碼重…

linux上nexus安裝教程

下載頁面 https://help.sonatype.com/en/download.html選擇 Unix/Linux Arch64 一欄點擊下載; 選擇非root 組的用戶登錄linux ,此處注意必須保證linux內存大于4G,否則無法啟動 解壓nexus包 tar -xzvf nexus-3.83.2-01-linux-aarch_64.tar.gz進入bin目錄 …

大語言模型的“思考”邏輯:從Token生成到上下文理解的內部流程

當你問“明天天氣如何”時,AI在“想”什么?當你向ChatGPT或文心一言輸入“明天北京天氣如何”,模型秒速回復“明天北京晴轉多云,氣溫15-25℃”——這個過程看似“思考”,實則是一套精密的“數據處理流水線”。大語言模…

Linux筆記---TCP套接字編程

1. 核心接口 1.1 監聽連接&#xff1a;listen() 使 TCP 套接字進入被動監聽狀態&#xff0c;準備接受客戶端連接&#xff08;僅服務器端使用&#xff09;。 #include <sys/socket.h>int listen(int sockfd, int backlog); 參數&#xff1a; sockfd&#xff1a;已綁定…

從零開始的python學習——文件

? ? ? ? ? づ?ど &#x1f389; 歡迎點贊支持&#x1f389; 個人主頁&#xff1a;勵志不掉頭發的內向程序員&#xff1b; 專欄主頁&#xff1a;python學習專欄&#xff1b; 文章目錄 前言 一、文件是什么 二、文件路徑 三、文件操作 &#xff08;1&#xff09;打開文件 …

set與multset的區別;less greater 函數對象實現比較 作為排序依據

Set 和 multiset 特點 set中元素插入過程是按排序規則插入&#xff0c;所以不能指定插入位置。set不可以直接存取元素。&#xff08;不可以使用at.(pos)與[]操作符&#xff09;。multiset與set的區別&#xff1a;set支持唯一鍵值&#xff0c;每個元素值只能出現一次&#xff1b…

計算機視覺(八):開運算和閉運算

計算機視覺中的開運算&#xff08;Opening&#xff09;和閉運算&#xff08;Closing&#xff09;是兩種非常重要的形態學&#xff08;Morphological&#xff09;圖像處理操作。它們主要用于圖像的去噪、分割、特征提取等任務。這兩種運算都基于兩種更基礎的操作&#xff1a;腐蝕…

nginx常用命令(備忘)

一、引言&#xff1a;Nginx 為何成為前端開發必備工具 ** 在前端開發的廣闊領域中&#xff0c;Nginx 已然成為了一個不可或缺的強大工具。它是一款輕量級的 HTTP 服務器和反向代理服務器&#xff0c;采用事件驅動的異步非阻塞處理方式框架&#xff0c;這賦予了它卓越的 I/O 性…