前言
周所周知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位元組 |
行
表中的資料是按行儲存的,所儲存的每個記錄儲存在自己的行內。
有時候你可能會聽到記錄,記錄跟行基本上是一個意思
主鍵
唯一標識表中每行的這個列(或這組列)稱為主鍵,其值能夠唯一區分表中每各行。
表中任何列都可以作為主鍵,但需要滿足以下條件
主鍵通常定義在表的一列上,但不是必須的,可以一起使用多個列作為主鍵。在使用多個列作為主鍵時,所有列的組合必須時唯一的。
? 注意:
什麼是SQL
SQL(發音為字母S-Q-L或sequel)是一種結構化查詢語言。SQL是一種專門用來與資料庫通訊的語言。
SQL是由很少的詞構成,是設計者有意而為。語言的主要目的是從資料庫中讀寫資料
每個資料庫會有不同的語法,但是90%的部分都是相通的。我們學好一個便可以舉一反三了。
實踐操作
以上是MySQL的一些基本介紹,要學習MySQL,首先當然是要在自己電腦上安裝MySQL了。
安裝MySQL可以參照以下文章
mysql5.7安裝教程
小結
這一篇文章主要是對MySQL做了一個簡單介紹,對MySQL是什麼?為什麼MySQL很有用以及資料庫MySQL一些專有名詞的介紹。
參照上面文章,相信你已成功安裝上MySQL了。後續文章中,我們會在自己本機安裝的MySQL資料庫上實際操作或者透過刷題網站進行實戰操作。