MySQL基礎教程——創建數據庫並插入數據


    本節將介紹 MySQL 新建數據庫,新建表,插入數據以及基本數據類型的相關知識。本節實驗將創建一個名為 mysql_shiyan 的數據庫,其中有兩張表 employee和 department

1. 准備

再安裝並配置好MySQL的Linux系統上,先用以下兩條命令打開 MySQL 服務並使用 root 登錄:

# 打開 MySQL 服務
sudo service mysql start

#使用 root 用戶登錄,密碼為空
mysql -u root

如果你理解了上述代碼的含義, -u 和 root 之間可以不要空格

后續的實驗都在 MySQL 的控制台輸入命令進行操作。

2. 新建數據庫

首先,我們創建一個數據庫,給它一個名字,比如 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. 連接數據庫

接下來的操作,就在剛才創建的 mysql_shiyan 中進行,由於一個系統中可能會有多個數據庫,要確定當前是對哪一個數據庫操作,使用語句 use <數據庫名字>

use mysql_shiyan;

輸入命令 show tables; 可以查看當前數據庫里有幾張表,現在mysql_shiyan 里還是空的:

數據表

數據表(table)簡稱表,它是數據庫最重要的組成部分之一。數據庫只是一個框架,表才是實質內容。

而一個數據庫中一般會有多張表,這些各自獨立的表通過建立關系被聯接起來,才成為可以交叉查閱、一目了然的數據庫。如下便是一張表:

ID name phone
01 Tom 110110110
02 Jack 119119119
03 Rose 114114114

 

 4 新建數據表

在數據庫中新建一張表的語句格式為:

CREATE TABLE 表的名字
(
列名a 數據類型(數據長度),
列名b 數據類型(數據長度),
列名c 數據類型(數據長度)
);

我們嘗試在 mysql_shiyan 中新建一張表 employee,包含ID,姓名 和電話信息,所以語句為:

CREATE TABLE employee (id int(10),name char(20),phone int(12));

然后再創建一張表 department,包含名稱和電話信息,想讓命令看起來更整潔,你可以這樣輸入命令:

這時候再 show tables; 一下,可以看到剛才添加的兩張表:

 數據類型

在剛才新建表的過程中,我們提到了數據類型,MySQL 的數據類型和其他編程語言大同小異,下表是一些 MySQL 常用數據類型:

數據類型 大小(字節) 用途 格式
INT 4 整數  
FLOAT 4 單精度浮點數  
DOUBLE 8 雙精度浮點數  
ENUM -- 單選,比如性別 ENUM('a','b','c')
SET -- 多選 SET('1','2','3')
DATE 3 日期 YYYY-MM-DD
TIME 3 時間點或持續時間 HH:MM:SS
YEAR 1 年份值 YYYY
CHAR 0~255 定長字符串  
VARCHAR 0~255 變長字符串  
TEXT 0~65535 長文本數據

     整數除了 INT 外,還有 TINYINT、SMALLINT、MEDIUMINT、BIGINT。

     CHAR 和 VARCHAR 的區別: CHAR 的長度是固定的,而 VARCHAR 的長度是可以變化的,比如,存儲字符串 “abc",對於 CHAR(10),表示存儲的字符將占 10 個字節(包括 7 個空字符),而同樣的 VARCHAR(12) 則只占用4個字節的長度,增加一個額外字節來存儲字符串本身的長度,12 只是最大值,當你存儲的字符小於 12 時,按實際長度存儲。

     ENUM和SET的區別: ENUM 類型的數據的值,必須是定義時枚舉的值的其中之一,即單選,而 SET 類型的值則可以多選。    

    想要了解更多關於 MySQL 數據類型的信息,可以參考下面兩篇博客。

5. 插入數據 

剛才我們新建了兩張表,使用語句 SELECT * FROM employee; 查看表中的內容,可以看到 employee 表中現在還是空的:

    剛才使用的SELECT語句將在下一節實驗中詳細介紹

    我們通過 INSERT 語句向表中插入數據,語句格式為:

INSERT INTO 表的名字(列名a,列名b,列名c) VALUES(值1,值2,值3);

    我們嘗試向 employee 中加入 Tom、Jack 和 Rose:

INSERT INTO employee(id,name,phone) VALUES(01,'Tom',110110110);

INSERT INTO employee VALUES(02,'Jack',119119119);

INSERT INTO employee(id,name) VALUES(03,'Rose');

    你已經注意到了,有的數據需要用單引號括起來,比如 Tom、Jack、Rose 的名字,這是由於它們的數據類型是 CHAR 型。此外 VARCHAR,TEXT,DATE,TIME,ENUM 等類型的數據也需要單引號修飾,而 INT,FLOAT,DOUBLE等則不需要。

    第一條語句比第二條語句多了一部分:(id,name,phone) 這個括號里列出的,是將要添加的數據 (01,'Tom',110110110) 其中每個值在表中對應的列。而第三條語句只添加了 (id,name) 兩列的數據,所以在表中Rose的phone為NULL

    現在我們再次使用語句 SELECT * FROM employee; 查看 employee 表,可見 Tom 和 Jack 的相關數據已經保存在其中了:

6. 總結

    經過本次實驗,我們已經有了一個名為 mysql_shiyan的數據庫,其中有兩張表,我們已經向其中插入了一些數據。務必完整地操作一遍,以熟練SQL語句的使用。下一節我們將進入 SQL 約束的學習。

 

 

參考鏈接: 實驗樓——MySQL基礎教程


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM