閱讀本文大概需要 8.88 分鐘
上篇文章介紹了學習 MySQL 的重要性,那麼從今天開始,咋們就正式進入 MySQL 的學習之路了,話不多說,一起來學習吧!介紹 MySQL 新建資料庫,新建表,插入數據以及基本數據類型的相關知識。
在 Linux 環境裡創建一個名為 mysql_shiyan 的資料庫。
在資料庫創建兩張表 employee 和 department,分別表示員工表和部門表。
2、知識點
3、準備
在使用 Linux 環境進行本次學習之前,先用以下兩條命令打開 MySQL 服務並使用 root 登錄:
# 打開 MySQL 服務sudo service mysql start
#使用 root 用戶登錄,密碼為空mysql -u root -p後續的步驟都在 MySQL 的控制臺輸入命令進行操作。
首先,我們創建一個資料庫,給它取一個名字,比如 mysql_shiyan,後續的步驟也是對 mysql_shiyan 這個資料庫來進行操作。注意語句格式為 CREATE DATABASE <資料庫名字>;(注意不要漏掉分號 ;),前面的 CREATE DATABASE 也可以使用小寫,具體命令為:CREATE DATABASE mysql_shiyan;創建成功後輸入命令 show databases; (注意不要漏掉;)檢查一下:
在大多數系統中,SQL 語句都是不區分大小寫的,因此以下語句都是合法的:
CREATE DATABASE name1;create database name2;CREATE database name3;create DAtabaSE name4;為了養成嚴謹的習慣,尤其是初學者,而且便於區分保留字(保留字(reserved word):指在高級語言中已經定義過的字,使用者不能再將這些字作為變量名或過程名使用。)和變量名,建議平時就注意下,一般把保留字大寫,把變量和數據小寫。
3.2 連接資料庫
接下來的操作,就在剛才創建的 mysql_shiyan 中進行,由於一個系統中可能會有多個資料庫,要確定當前是對哪一個資料庫操作,需要使用語句 use <資料庫名字>:
如下圖顯示,則表示資料庫連接成功。
輸入命令 show tables; 可以查看當前資料庫裡有幾張表,現在mysql_shiyan 裡目前還是空的,因為沒有插入數據。
3.3 數據表
數據表(table)簡稱表,它是資料庫最重要的組成部分之一。資料庫只是一個框架,表才是其中的實質內容。這個也好理解,因為我們實際上是操作資料庫裡的數據表的數據。
而一個資料庫中一般會有多張表,這些各自獨立的表通過建立關係被聯接起來,才成為可以交叉查閱、一目了然的資料庫。
3.4 新建數據表
在資料庫中新建一張表的語句格式為:
CREATE TABLE 表的名字(列名a 數據類型(數據長度),列名b 數據類型(數據長度),列名c 數據類型(數據長度));接下來,我們試著在 mysql_shiyan 中新建一張表 employee,表示員工表,包含姓名,ID 和電話信息,語句參考如下:
CREATE TABLE employee (id int(10),name char(20),phone int(18));然後再創建一張表 department,表示部門表,包含名稱和電話信息,為了讓命令看起來更整潔,你也可以在 MySQL 終端裡這樣輸入命令:
這時候執行 show tables; 命令,就能看到剛才添加的兩張表:
3.5 數據類型
在剛才新建表的過程中,我們提到了數據類型,MySQL 的數據類型和其他程式語言大同小異,下表是一些 MySQL 常用數據類型:
整數除了 INT 外,還有 TINYINT、SMALLINT、MEDIUMINT、BIGINT。
對於初學者來說,有幾個區別需要在這裡說一下,這裡可以簡單做個了解,為後面的知識點的學習打下基礎:
CHAR 和 VARCHAR 的區別:
CHAR 的長度是固定的,而 VARCHAR 的長度是可以變化的,比如,存儲字符串 「abc",對於 CHAR(10)來說,表示存儲的字符將佔 10 個字節(包括 7 個空字符);
而同樣的對於 VARCHAR(12) 來說則只佔用4個字節的長度,增加一個額外字節來存儲字符串本身的長度,12 只是最大值,當你存儲的字符小於 12 時,按實際長度存儲。
ENUM和SET的區別:ENUM 類型的數據的值,必須是定義時枚舉的值的其中之一,即單選,而 SET 類型的值則可以多選。
有興趣的,想要了解更多關於 MySQL 數據類型的信息,可以閱讀 MySQL的官方文檔:
https://dev.mysql.com/doc/
或者其它文章,這裡就不囉嗦了。
3.6 插入數據
剛才我們新建了兩張表,使用語句 SELECT * FROM employee; 查看表中的內容,可以看到 employee 表中現在還是空的:
我們通過 INSERT 語句向表中插入數據,語句格式為:
INSERT INTO 表的名字(列名a,列名b,列名c) VALUES(值1,值2,值3);我們試試向 doubi 表中加入 xiaobai、xiaolan 和 xiaohong:
INSERT INTO doubi(id,name,phone) VALUES(01,'xiaobai',110110110);INSERT INTO doubi VALUES(02,'xiaolan',119119119);INSERT INTO doubi(id,name) VALUES(03,'xiaohong');聰明的朋友可能已經注意到了,有的數據需要用單引號括起來,比如 xiaobai、xiaolan 和 xiaohong 的名字。這是由於它們的數據類型是 CHAR 型。
此外VARCHAR,TEXT,DATE,TIME,ENUM 等類型的數據也需要單引號修飾,而 INT,FLOAT,DOUBLE 等則不需要。
我們可看到,第一條語句比第二條語句多了一部分:(id,name,phone) 這個括號裡列出的,是將要添加的數據 (01,'xiaobai',110110110) 其中每個值在表中對應的列。
而第三條語句只添加了 (id,name) 兩列的數據,所以接下來查詢的時候,可以看到表中 xiaohong 的 phone 為 NULL。
現在我們再次使用語句 SELECT * FROM doubi; 查看 doubi 表,可見 xiaobai 和 xiaolan 的相關數據已經保存在其中了:
4、總結
經過本次的實驗學習,我們已經有了一個名為 mysql_shiyan 的資料庫,在資料庫裡面,有兩張表,並且在其中一張表中插入了一些數據。
建議大家跟著系列文章,務必完整地在自己的環境中操作一遍,光看不練假把式,在實踐中,一步步來熟練 SQL 語句的使用。今天的學習就到這裡啦。
如果大家在閱讀的過程中,有什麼建議和看法,非常歡迎在下方留言,每個留言我都會認真看的。
推薦閱讀:
從零開始學習 MySQL 系列--基礎三劍客
在宇宙中心五道口上班,是怎樣一種體驗
入職半個月的一些思考
認真的人,自帶光芒!
原創不易點個在看哦