創(chuàng)建數(shù)據(jù)庫并插入數(shù)據(jù)

一、實(shí)驗(yàn)介紹

1.1 實(shí)驗(yàn)內(nèi)容

本次課程將介紹 MySQL 新建數(shù)據(jù)庫,新建表,插入數(shù)據(jù)以及基本數(shù)據(jù)類型的相關(guān)知識(shí)。本節(jié)實(shí)驗(yàn)將創(chuàng)建一個(gè)名為 mysql_shiyan 的數(shù)據(jù)庫,其中有兩張表 employee 和 department。

1.2 實(shí)驗(yàn)知識(shí)點(diǎn)

基本數(shù)據(jù)類型
插入數(shù)據(jù)

1.3 實(shí)驗(yàn)環(huán)境

課程使用的實(shí)驗(yàn)環(huán)境為 Ubuntu Linux 14.04 64 位版本。實(shí)驗(yàn)中會(huì)用到程序:

Mysql 5.5.50
Xfce終端

二、開發(fā)準(zhǔn)備

在使用實(shí)驗(yàn)樓 Linux 環(huán)境進(jìn)行本次實(shí)驗(yàn)之前,先用以下兩條命令打開MySQL 服務(wù)并使用 root 登錄:

打開 MySQL 服務(wù)
sudo service mysql start

使用 root 用戶登錄,密碼為空
mysql -u root
后續(xù)的實(shí)驗(yàn)都在 MySQL 的控制臺(tái)輸入命令進(jìn)行操作。

三、實(shí)驗(yàn)步驟

3.1 新建數(shù)據(jù)庫

首先,我們創(chuàng)建一個(gè)數(shù)據(jù)庫,給它一個(gè)名字,比如 mysql_shiyan,以后的幾次實(shí)驗(yàn)也是對(duì) mysql_shiyan 這個(gè)數(shù)據(jù)庫進(jìn)行操作。 語句格式為 CREATE DATABASE <數(shù)據(jù)庫名字>;,(注意不要漏掉分號(hào) ;),前面的 CREATE DATABASE 也可以使用小寫,具體命令為:

CREATE DATABASE mysql_shiyan;
創(chuàng)建成功后輸入命令 show databases; (注意不要漏掉;)檢查一下:

在大多數(shù)系統(tǒng)中,SQL 語句都是不區(qū)分大小寫的,因此以下語句都是合法的:

create database name2;
CREATE database name3;
create DAtabaSE name4;

但是出于嚴(yán)謹(jǐn),而且便于區(qū)分保留字(保留字(reserved word):指在高級(jí)語言中已經(jīng)定義過的字,使用者不能再將這些字作為變量名或過程名使用。)和變量名,我們把保留字大寫,把變量和數(shù)據(jù)小寫。

3.2 連接數(shù)據(jù)庫

接下來的操作,就在剛才創(chuàng)建的 mysql_shiyan 中進(jìn)行,首先要連接數(shù)據(jù)庫,使用語句 use <數(shù)據(jù)庫名字>:

use mysql_shiyan;
如圖顯示,則連接成功:

輸入命令 show tables; 可以查看當(dāng)前數(shù)據(jù)庫里有幾張表,現(xiàn)在mysql_shiyan 里還是空的:

3.3 數(shù)據(jù)表

數(shù)據(jù)表(table)簡(jiǎn)稱表,它是數(shù)據(jù)庫最重要的組成部分之一。數(shù)據(jù)庫只是一個(gè)框架,表才是實(shí)質(zhì)內(nèi)容。

而一個(gè)數(shù)據(jù)庫中一般會(huì)有多張表,這些各自獨(dú)立的表通過建立關(guān)系被聯(lián)接起來,才成為可以交叉查閱、一目了然的數(shù)據(jù)庫。如下便是一張表:

01  Tom 110110110
02  Jack    119119119
03  Rose    114114114

3.4 新建數(shù)據(jù)表

在數(shù)據(jù)庫中新建一張表的語句格式為:

CREATE TABLE 表的名字
(
列名a 數(shù)據(jù)類型(數(shù)據(jù)長(zhǎng)度),
列名b 數(shù)據(jù)類型(數(shù)據(jù)長(zhǎng)度),
列名c 數(shù)據(jù)類型(數(shù)據(jù)長(zhǎng)度)
);

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

CREATE TABLE employee (id int(10),name char(20),phone int(12));
然后再創(chuàng)建一張表 department,包含名稱和電話信息,想讓命令看起來更整潔,你可以這樣輸入命令:

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

3.5 數(shù)據(jù)類型

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

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

整數(shù)除了 INT 外,還有 TINYINT、SMALLINT、MEDIUMINT、BIGINT。

CHAR 和 VARCHAR 的區(qū)別: CHAR 的長(zhǎng)度是固定的,而 VARCHAR 的長(zhǎng)度是可以變化的,比如,存儲(chǔ)字符串 “abc",對(duì)于 CHAR(10),表示存儲(chǔ)的字符將占 10 個(gè)字節(jié)(包括 7 個(gè)空字符),而同樣的 VARCHAR(12) 則只占用4個(gè)字節(jié)的長(zhǎng)度,增加一個(gè)額外字節(jié)來存儲(chǔ)字符串本身的長(zhǎng)度,12 只是最大值,當(dāng)你存儲(chǔ)的字符小于 12 時(shí),按實(shí)際長(zhǎng)度存儲(chǔ)。

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

想要了解更多關(guān)于 MySQL 數(shù)據(jù)類型的信息,可以參考下面兩篇博客。

MySQL 中的數(shù)據(jù)類型介紹
MySQL 數(shù)據(jù)類型

3.6 插入數(shù)據(jù)

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

剛才使用的SELECT語句將在下一節(jié)實(shí)驗(yàn)中詳細(xì)介紹

我們通過 INSERT 語句向表中插入數(shù)據(jù),語句格式為:

INSERT INTO 表的名字(列名a,列名b,列名c) VALUES(值1,值2,值3);
我們嘗試向 employee 中加入 Tom、Jack 和 Rose:


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

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

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

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

現(xiàn)在我們?cè)俅问褂谜Z句 SELECT * FROM employee; 查看 employee 表,可見 Tom 和 Jack 的相關(guān)數(shù)據(jù)已經(jīng)保存在其中了:

四、實(shí)驗(yàn)總結(jié)

經(jīng)過本次實(shí)驗(yàn),我們已經(jīng)有了一個(gè)名為 mysql_shiyan 的數(shù)據(jù)庫,其中有兩張表,我們已經(jīng)向其中插入了一些數(shù)據(jù)。務(wù)必完整地操作一遍,以熟練SQL語句的使用。下一節(jié)我們將進(jìn)入 SQL 約束的學(xué)習(xí)。

實(shí)驗(yàn)人:新海
實(shí)驗(yàn)平臺(tái):實(shí)驗(yàn)樓
實(shí)驗(yàn)時(shí)間:4.30日

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容