小白系列:資料庫基礎知識解析

来源:https://www.cnblogs.com/guoxiaoyu/p/18363713
-Advertisement-
Play Games

儘管我們在本文中只觸及了資料庫的基礎部分,實際應用中可能會遇到更複雜的業務邏輯和需求。這些複雜的場景通常需要深入瞭解更多高級特性和技巧。雖然這些內容超出了本文的範圍,但掌握基本操作是邁向高級技能的第一步。希望通過這篇文章,你能夠對資料庫有一個清晰的認識,併在實際工作中熟練運用這些基本操作。未來,隨著... ...


前言

今天,我打算用簡單明瞭的語言來講解一下資料庫的基本概念。總體上,這些內容與我在視頻中講解的基本一致。如果你發現視頻的講解有些難以理解,不妨看看這篇文字版的解釋,希望能夠更快速地幫助你掌握資料庫的相關知識。需要註意的是,本文討論的資料庫主要指的是關係型資料庫。

資料庫可以簡單地理解為一個大型的數據存儲倉庫。它的功能類似於圖書館,但在數據的存儲和管理方面,資料庫不僅能夠有效地組織大量的數據,還通過各種技術手段使得數據的查詢和檢索變得更加高效和便捷。正因為如此,我們有了資料庫這樣的工具,以幫助我們更快速、更準確地找到和利用存儲的信息。

關係型資料庫

什麼是關係型資料庫呢?簡單來說就是關係型資料庫就像一個整理得很好的文件櫃,每個抽屜里都有分類好的文件,方便你查找和管理。每個抽屜里有不同的文件夾,而每個文件夾里有很多文件,這些文件夾和文件之間有明確的關係和組織方式。

image

除了以上特點外,資料庫還具備一個至關重要的特性,那就是必須能夠高效地搜索和檢索數據。實際上,幾乎所有用戶在使用資料庫時,都能體驗到這種搜索功能的便利性。比如這樣的搜索功能,大家都用過啦。

image

Excel表格

在這裡,我們有必要詳細說明一下Excel表格,以便更好地理解資料庫的概念。雖然文件存儲和資料庫有一些類似的功能,但它們在數據管理和表達方式上存在顯著差異。

與文件存儲的簡單數據管理方式不同,Excel表格提供了一個直觀的界面,能夠更清晰地展示數據的存儲和操作過程。通過對比,我們可以更好地理解資料庫的結構和功能。接下來,我們將探討Excel表格是如何高效地組織和處理數據的,以便為理解資料庫的工作原理提供一個更加具體和形象的參考。

數據存儲

我們常見的表格通常都會設有列名,用於向其他人說明每一列的數據內容及其作用,這樣的列名起到了關鍵的描述作用。

在我的演示中,為了簡化說明,我僅列出了幾個基本的列名。接下來,我們通常會在每一行中輸入實際的數據。雖然在數據量較少時,我們可以很容易地通過肉眼識別和查找所需的信息,但一旦數據量增多,情況就會大不相同。

此時,簡單的視覺掃描已經無法有效地進行數據查找。例如,如果需要找到特定的內容,比如列G中的數據2,這種情況下,我們可能會發現查找過程變得異常繁瑣和耗時。因此,當面對大量數據時,依賴傳統的手工查找方法不僅低效,還可能導致錯誤和遺漏。

image

數據篩選

但是,我們都知道Excel具有強大的篩選功能,該功能允許我們按照每一列的內容進行篩選。通過這種方式,我們可以迅速找到所需數據所在的行。

image

例如,當我們需要查找特定條件下的數據時,只需應用相應的篩選條件,即可快速定位並查看符合條件的行,從而大大提高了數據處理的效率。

其實,這種操作實際上與資料庫中的常用操作非常類似。理解並掌握這些在Excel中的常見操作習慣,能夠幫助你更好地理解和應用資料庫中的相關功能。

在這方面,我們通常不需要詳細討論如何修改或刪除數據,因為這些操作通常是通過滑鼠手動完成的。然而,瞭解篩選功能是至關重要的。我們在進行數據刪除或修改之前,必須首先使用篩選功能來準確定位需要操作的數據,然後再進行相應的刪除或修改操作。

資料庫常見操作

通過對以上Excel表格處理的總結,我們可以歸納出幾種常見的操作方法,包括:添加數據、查詢數據、修改數據和刪除數據。在這裡,我們無需深入瞭解如何創建和刪除文件,因為在Coze智能體中,這些操作可以通過滑鼠直接完成,從而節省了我們一部分學習成本。例如:

image

好的,那麼接下來,我們將根據這些操作展開快速學習。通常情況下,當數據表創建完成後,它們最初是空的,也就是說沒有任何數據。因此,第一步是引導用戶在聊天過程中將數據添加到表中。由於大模型在SQL處理能力方面通常存在一定的局限性,而且對其進行精準控制也較為困難,所以在實際工作流中,我主要依賴資料庫節點來處理這些數據操作。

接下來,我們將使用智能體提供的模板資料庫來進行演示。通過這個示例,我們可以詳細展示如何在實際操作中應用上述方法。

添加數據

那麼,"添加"這個詞,在英文中直譯為“insert”。接下來,還有一個關鍵組成部分就是“表名”。你不可能創建一個學生表格,然後在老師表格中添加學生數據,對吧?這是同樣的道理。接著是列名,在資料庫中稱為“欄位”,每個欄位對應一列數據。為了添加數據,我們需要準確填寫“姓名”欄位,不能把數據放到其他地方,否則就會混亂。總之,這就是數據結構的基本概念。在資料庫中,這種操作被稱為SQL語句。

insert into book_notes (section,name)

當我們需要對資料庫中的欄位賦值時,在英文中通常使用“value”這個詞。然而,資料庫操作中,尤其是涉及多個列時,即使只對一列進行賦值,我們也必須使用複數形式“values”。而且,提供的值需要按照欄位的順序進行排列。舉個例子:

insert into book_notes (section,name) values(2,'西游記')

請註意,在存儲字元串文本時,我們必須使用兩個英文單引號('')將文本包裹起來。這種做法是為了確保文本被正確解析和存儲在資料庫中。只有這樣,資料庫才能正確地處理和存儲這些字元串數據,避免可能的語法錯誤或數據存儲問題。

image

查詢數據

在有了數據之後,我們就需要進行查詢操作。在英文中,“查詢”這個詞直譯為“select”。當你需要查看特定的欄位(列)時,必須明確列出這些欄位。同時,你還需要指定要查詢的數據表(相當於Excel文件)。這樣,我們就可以編寫如下的SQL語句來完成查詢操作:

select section,name from book_notes

是的,除了在添加數據時需要對欄位名稱使用括弧以明確其位置之外,其他所有情況下都不需要單獨添加括弧。

然後,這種查詢方式與我們的習慣不太符合。我們通常只會查詢我們所需要的數據。例如,在Excel文件中,我們會對某一列進行篩選;在資料庫中,我們可以使用關鍵字 WHERE 來實現類似的篩選功能。要篩選哪個欄位,只需在 WHERE 關鍵字後面指定相應的欄位即可。例如:

select section,name from book_notes where section = 1

image

可以看到,這種查詢方式只返回了我們所需的數據,這樣一來,我們就可以在工作流中進一步對這些數據進行處理和分析,而無需額外篩選或清理不相關的信息。

修改數據

接下來,修改一詞,直譯成英文就是【update】,首先,我們必須指定要修改數據的表名,這樣的話,我們可以更新特定表中的數據,但必須明確要更新哪些行數據,同樣的也是使用【where】關鍵詞進行篩選,我們在篩選後那一條或者一部分數據後,我們想改那一列數據,【設置】一詞,直譯成英文就是【set】,好的,結合起來,SQL更新語句的基本格式如下:

update book_notes set section = 2 where section =1

記住寫的順序即可。

image

刪除數據

刪除數據的操作其實非常簡單。我們可以通過篩選條件來確定需要刪除的數據,而這些條件通常是通過 【WHERE】 子句來指定的。要將“刪除”一詞直譯成英文,就是 【DELETE】。接下來,我們只需指定表名。最終的 SQL 語句格式如下:

delete from book_notes where section = 2

image

好的,到這裡為止,資料庫的四大基本操作,即增(INSERT)、查(SELECT)、改(UPDATE)和刪(DELETE),是程式員在實際工作中最常用的語句。這些操作構成了資料庫管理和數據操作的基礎。當然,面對更加複雜的業務邏輯和需求,還可以衍生出更多的高級知識點和技巧,但這些內容超出了我們目前討論的範圍。

總結

儘管我們在本文中只觸及了資料庫的基礎部分,實際應用中可能會遇到更複雜的業務邏輯和需求。這些複雜的場景通常需要深入瞭解更多高級特性和技巧。雖然這些內容超出了本文的範圍,但掌握基本操作是邁向高級技能的第一步。

希望通過這篇文章,你能夠對資料庫有一個清晰的認識,併在實際工作中熟練運用這些基本操作。未來,隨著你對資料庫知識的深入理解,你將能更好地應對各種數據管理和分析的挑戰。感謝你的閱讀,希望這些內容對你有所幫助。


我是努力的小雨,一名 Java 服務端碼農,潛心研究著 AI 技術的奧秘。我熱愛技術交流與分享,對開源社區充滿熱情。同時也是騰訊雲創作之星、阿裡雲專家博主、華為云云享專家、掘金優秀作者。


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

-Advertisement-
Play Games
更多相關文章
  • https://www.zhihu.com/people/xiangchun.zeng 網路流行的"科學的盡頭還是燒開水"這個梗,從發明蒸汽輪機以來,到現在的核電站、核動力航母最終都是通過“燒開水”這種能量轉換形式來實現發電和航行。一以貫之,那麼可以這麼講:“Windows核心編程的盡頭還是調函數” ...
  • T113s工業套件簡述 提示 T113開發交流QQ群:120575746 此開發板的任何問題都可以在我們的論壇交流討論 https://forums.100ask.net/c/aw/ 硬體簡述​ 100ASK_T113s3-Industrial-DevKit 是百問網設計的一款專門針對於工業控制場景 ...
  • 寫在前面 本隨筆是非常菜的菜雞寫的。如有問題請及時提出。 可以聯繫:[email protected] GitHhub:https://github.com/WindDevil (目前啥也沒有 下載它 隨便找個地方下載,如果官網下載速度過慢: 官網 B站 微信公眾號 知乎 各大軟體站 這裡附上我使用 ...
  • 痞子衡嵌入式半月刊: 第 106 期 這裡分享嵌入式領域有用有趣的項目/工具以及一些熱點新聞,農曆年分二十四節氣,希望在每個交節之日準時發佈一期。 本期刊是開源項目(GitHub: JayHeng/pzh-mcu-bi-weekly),歡迎提交 issue,投稿或推薦你知道的嵌入式那些事兒。 上期回 ...
  • 本文介紹基於PowerShell語言,對文件夾中全部文件的名稱加以批量替換、修改的方法。 在之前的文章中,我們介紹了基於Python語言,批量修改大量文件的名稱的方法。當時我們修改文件名的需求比較複雜,因此選擇了用Python語言來實現;而在我們的需求重命名規則相對比較簡單時,則可以基於PowerS ...
  • 第十九章 machine.PWM類實驗 1)實驗平臺:正點原子DNK210開發板 2)章節摘自【正點原子】DNK210使用指南 - CanMV版 V1.0 3)購買鏈接:https://detail.tmall.com/item.htm?&id=782801398750 4)全套實驗源碼+手冊+視頻 ...
  • 基礎用法: 1、終端輸入vim filename.c 如果文件不存在則新建並打開,存在則打開 2、輸入i 進入編輯模式,編寫代碼 3、保存退出: 按Esc退出編輯模式,輸入ZZ保存並退出 vim的三大模式: 正常模式:預設進入vim處於正常模式,一般用於閱讀文件、使用快捷鍵批量修改文件 編輯模式:一 ...
  • 一,共用文件夾 virtualBox+ubuntu16.04 共用文件夾可以方便我們主機和虛擬機進行文件的傳輸 1.虛擬機菜單欄點擊設備安裝增強功能 2.增強功能安裝完成以後再點擊設備選擇共用文件夾,添加共用文件夾,並勾選"自動掛載"和"固定分配" 3.然後需要將當前用戶添加到vboxsf組 使用命 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...