天天看點

MySQL資料庫入門

1、什麼是資料庫

維基百科關于資料庫的定義:

In

computing

, a database is an organized collection of

data

stored and accessed electronically from a

computer system

. Where databases are more complex they are often developed using formal

design and modeling

techniques.

翻譯成中文的意思就是:在計算中,資料庫是從計算機系統以電子方式存儲和通路的有組織的資料集合。在電腦中,我們可以将資料庫了解成“檔案櫃”,需要存儲的資料以某種方式進行組織,并存放在“檔案櫃”中。

DB和DBMS差別:

很多人會把DB和DBMS搞混淆,其實兩者是兩個東西。DB(database)指的是資料庫容器;DBMS(database management system)指的是資料庫管理系統。兩者之間的關系是,資料庫DB是通過資料庫管理系統DBMS建立和操縱的容器。在實際使用中,我們并不直接通路資料庫,而是使用DBMS來通路資料庫。

2、MySQL資料庫重要概念

MySQL資料庫入門

2.1 表

表(table):指的是某種特定類型資料的結構化清單。

上述概念中有兩個重要的知識點:

  • 特定類型 -> 指一種類型比如使用者資訊、訂單資訊、商品資訊,表設計不允許雜糅各種資料類型
  • 結構化清單 -> 指表資料按照使用者需求進行結構化拆分群組織的資料,比如使用者資訊拆分為使用者名、性别、年齡等結構化資料

表在同一個資料庫中不允許同名,不同資料庫中允許同名

可以通過show tables檢視資料庫中的表

MySQL資料庫入門

user表的結構化清單

MySQL資料庫入門

2.2 列

列(column):表中的一個字段,一個表有一個或多個列組成。

在上述使用者資訊表中,擁有使用者名列、性别列、年齡列等,這些列共同組成了使用者表。

MySQL資料庫入門

MySQL資料庫中列都有其對應的資料類型。資料類型(datatype)會限制列所能存放的資料。比如可以防止在數值類型的字段中錄入字元類型資料。

MySQL資料庫入門

可以通過show full columns from

表名

檢視表的具體列資訊

MySQL資料庫入門

2.3 行

行(row):表中的一條記錄。

MySQL資料庫中的資料以行的形式存儲,每一條資料都是一行(也可以稱之為記錄),但是正确的沒有歧義的說法是行(hang)。

MySQL資料庫入門

2.4 主鍵

主鍵(primary key):一列或幾個列,其值或組合值能夠唯一區分表中的每個行。

主鍵就好比人的身份證号,它不會重複,可以用于标記認得身份。值得注意的是,主鍵可以是多個列共同組成。

MySQL資料庫入門

也可以通過DDL檢視,主鍵用PRIMARY KEY辨別

CREATE TABLE `user` (

  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵',

  `name` varchar(255) NOT NULL COMMENT '姓名',

  `age` int(11) NOT NULL COMMENT '年齡',

  `sex` smallint(1) DEFAULT NULL COMMENT '性别',

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

定義主鍵需要滿足兩個條件:

  1. 主鍵列資料不重複
  2. 主鍵列資料不為空(null)

隻要滿足這兩個條件,列就可以作為主鍵。建議表設計時,一定要定義主鍵,擁有主鍵能夠友善資料查詢、删除、更新等操作,否則相對比較麻煩。

定義主鍵滿足的兩個規範:

  1. 主鍵值不應該更新
  2. 主鍵值不應該具有業務意義、也就是說除了标志作用,不應該用于其他業務使用

3、SQL應該怎麼讀

SQL是Strucctured Query Language的縮寫,在讀的時候我們可以拆開讀S—— Q——L,大部分情況下我們是組合起來讀的,應該讀作sequel / [ˈsiːkwəl] .

此連結線上朗讀

https://fanyi.baidu.com/?aldtype=16047#en/zh/sequel