【必知必會的MySQL知識】①初探MySQL

来源:https://www.cnblogs.com/xiezhr/archive/2023/05/01/17343300.html
-Advertisement-
Play Games

(初探MySQL) 前言 周所周知MySQL已成為全世界最受歡迎的資料庫之一。無論你用的何種編程語言在開發系統,資料庫基本上都是必不可少的。 無論是小型項目開發如我們開發一個個人博客系統,還是構建那些聲名顯赫的網站如某寶、某訊等,MySQL都有著穩定、可靠、快速等優點。可以勝任數據存儲的業務需求。 ...


目錄

前言

周所周知MySQL已成為全世界最受歡迎的資料庫之一。無論你用的何種編程語言在開發系統,資料庫基本上都是必不可少的。
無論是小型項目開發如我們開發一個個人博客系統,還是構建那些聲名顯赫的網站如某寶、某訊等,MySQL都有著穩定、可靠、快速等優點。可以勝任數據存儲的業務需求。
我們今天就來一探MySQL,走入MySQL。

MySQL是什麼?

資料庫是以某種有組織的方式保存數據的容器,我們可以將其理解為一個文件櫃。我們常見的容器有 Oracle、DB2、SQLServer、Postgresql、mongodb等,而MySQL就是這眾多容器中的一種。

MySQL版本

迄今為止,MySQL最新版本是8.0 (8.0.30版本)。8.0版本也被寄予厚望。
自從被Oracle收購後,不少功能借鑒了Oracle優秀之處。
MySQL 8.0無論在功能還是性能(整體上),都是目前最好的MySQL版本。

表的概念

我們將資料放入文件櫃中時,並不是將它隨便扔進某個抽屜就完事了,而是在文件櫃中放入不同的盒子,然後將相關資料放入特定盒子中。這樣需要的時候就可以快速而精準的找到我們需要的數據資料。

在資料庫中,這個盒子就稱為表。 是一種結構化文件,用來存儲某種特定的數據,我們可以把用戶信息、顧客信息、購物清單、商品信息等放入表中。
資料庫中每個表都有一個名字,用來唯一標識自己。既然是唯一標識,那麼這個名字就不能重覆。

表中的列和數據類型

表是由 組成,一個表是由一個或多個列組成的。表中每一列都有對應的數據類型,而且這一列數據類型是一致的。

我們可以這樣理解,一個表就是我們日常中用的excel表格。某一列存著特定的信息。
例如,一個表格中,一列存著用戶名,一列存著密碼,一列存著年齡。

下麵總結一下常用的數據類型

數據類型大類 數據類型 類型說明
串數據類型 CHAR 1-255個字元定長串。長度必須在創建的時候指定,否則為CHAR(1)
串數據類型 ENUM 接受最多由64K個串組成的一個集合的某個串
串數據類型 TEXT 最大長度為64K的變長文本
串數據類型 LONGTEXT 與TEXT形同,最大長度為4GB
串數據類型 MEDIUMTEXT 與TEXT形同,最大長度為16K
串數據類型 TINYTEXT 與TEXT形同,最大長度為255位元組
串數據類型 SET 接受最多64個串組成的一個集合的零個或多個串
串數據類型 VARCHAR 長度可變,最多不超過255位元組
數值數據類型 BIT 位欄位,1-64位
數值數據類型 BIGINT 數值型,支持-9223372036854775808至9223372036854775807 (如果是UNSIGNED,為0至18446744073709551615)
數值數據類型 BOOLEAN(或BOOL) 布爾類型,或者為0或者為1
數值數據類型 DECIMAL(或DEC) 精度可變的浮點值
數值數據類型 DOUBLE 雙精度浮點值
數值數據類型 FLOAT 單精度浮點值
數值數據類型 INT(或INTEGER) 數值型,支持-2147483648至2147483647 (如果是UNSIGNED,為0至4294967295)
數值數據類型 MEDIUMINT 數值型,支持-6388608至8388607 (如果是UNSIGNED,為0至16777215)
數值數據類型 REAL 4位元組浮點值
數值數據類型 SMALLINT 整數值,支持-32768至32767 (如果是UNSIGNED,為0至65536)
數值數據類型 TINYINT 整數值,支持-128至127 (如果是UNSIGNED,為0至255)
日期和時間數據類型 DATE 表示1000-01-01 至 9999-12-31的日期,格式為YYYY-MM-DD
日期和時間數據類型 TIME 表示00:00:00至23:59:59 格式為HH:MM:SS
日期和時間數據類型 DATETIME 表示DATE與TIME組合
日期和時間數據類型 TIMESTAMP 功能和DATETIME相同(但範圍較小)
日期和時間數據類型 YEAR 用2位數字表示,範圍是70(1970年)至 69(2069年);用4位數表示,範圍是1901年至2155年
二進位數據類型 BLOB 最大長度位64KB
二進位數據類型 MEDIUMBLOB 最大長度為16MB
二進位數據類型 LONGBLOB 最大長度為4GB
二進位數據類型 TINYBLOB 最大長度為255位元組

表中的數據是按存儲的,所保存的每個記錄存儲在自己的行內。
有時候你可能會聽到記錄,記錄跟行基本上是一個意思

主鍵

唯一標識表中每行的這個列(或這組列)稱為主鍵,其值能夠唯一區分表中每各行。

表中任何列都可以作為主鍵,但需要滿足以下條件

主鍵通常定義在表的一列上,但不是必須的,可以一起使用多個列作為主鍵。在使用多個列作為主鍵時,所有列的組合必須時唯一的。


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

-Advertisement-
Play Games
更多相關文章
  • 一前言 題目集四主要考察的是對LocalDate,ArrayList,HashSet等Java自帶類的使用 題目集五主要考察的是對正則表達式的使用,以及對其題目集三的時間題目的進行類結構的改變 題目集六隻有一道題,主要是對題目集四的第一題進行加大難度 總的來說這幾次的題目量比前面幾次都要少,但是題目 ...
  • 構造 Socket 在【客戶端/服務端】的通信模式中,客戶端需要主動構造與伺服器連接的 Socket,構造方法有以下幾種重載形式: Socket() Socket(InetAddress address, int port) throws UnknownHostException,IOExcepti ...
  • 原文鏈接: 為什麼 Go for-range 的 value 值地址每次都一樣? 迴圈語句是一種常用的控制結構,在 Go 語言中,除了 for 關鍵字以外,還有一個 range 關鍵字,可以使用 for-range 迴圈迭代數組、切片、字元串、map 和 channel 這些數據類型。 但是在使用 ...
  • Springboot的優點 內置servlet容器,不需要在伺服器部署 tomcat。只需要將項目打成 jar 包,使用 java -jar xxx.jar一鍵式啟動項目 SpringBoot提供了starter,把常用庫聚合在一起,簡化複雜的環境配置,快速搭建spring應用環境 可以快速創建獨立 ...
  • Runtime包 GOMAXPROCS() ​ 用來設置可以並行計算的CPU核數最大值,並返回之前的值,具體使用方法上一篇有些,這裡不再贅述 Gosched() ​ 用於讓出CPU時間片,讓出當前goroutine的執行許可權,調度器安排其他等待的任務運行,併在下次某個時候從該位置恢復執行 Goexi ...
  • 在前兩篇: .NET Core部署到linux(CentOS)最全解決方案,常規篇 .NET Core部署到linux(CentOS)最全解決方案,進階篇(Supervisor+Nginx) 我們對.netcore部署到linux有了一個充分的瞭解,已經可以滿足應用要求了,這篇文章我們繼續深入... ...
  • 這一篇簡單說明 CH32V208 的片記憶體儲結構和時鐘的特點, 以及通過 SDK 中的示例代碼分析 CH32V208 的時鐘設置 ...
  • CH32V208系列是沁恆32位RISC-V中比較新的一個系列, 基於青稞RISC-V4C內核, 最高144MHz主頻, 64KB SRAM,128KB Flash, 供電電壓2.5/3.3V. 這個型號的特點: 除了特有的硬體堆棧區、快速中斷入口, 片上集成了2Mbps低功耗藍牙BLE 5.3, ... ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...