標籤:
一、練習內容1、建立資料庫
首先,我們建立一個資料庫,給它一個名字,比如“mysql_shiyan”,以後的幾次實驗也是對mysql_shiyan這個資料庫進行操作。 語句格式為“CREATE DATABASE <資料庫名字>;”,(注意不要漏掉“;”)因此具體命令為:
CREATE DATABASE mysql_shiyan;
建立成功後輸入命令“show databases;”(注意不要漏掉“;”)檢查一下:
在大多數系統中,SQL語句都是不區分大小寫,因此以下語句是等價的:
CREATE DATABASE name1;create database name2;CREATE database name3;create DAtabaSE name4;
但是出於嚴謹,而且便於區分保留字(保留字(reserved word):指在進階語言中已經定義過的字,使用者不能再將這些字作為變數名或過程名使用。)和變數名,我們把保留字大寫,把變數和資料小寫。
2、串連資料庫
接下來的操作,就在剛才建立的mysql_shiyan中進行,首先要串連資料庫,使用語句 “use <資料庫名字>”:
use mysql_shiyan
顯示,則串連成功:
輸入命令“show tables;”可以查看當前資料庫裡有幾張表,現在mysql_shiyan裡還是空的:
3、資料表
資料表(table)簡稱表,它是資料庫最重要的組成部分之一。資料庫只是一個架構,表才是實質內容。 而一個資料庫中一般會有多張表,這些各自獨立的表通過建立關係被聯結起來,才成為可以交叉查閱、一目瞭然的資料庫。如下便是一張表:
ID |
name |
phone |
01 |
Tom |
110110110 |
02 |
Jack |
119119119 |
03 |
Rose |
114114114 |
4、建立資料表
在資料庫中建立一張表的語句格式為:
CREATE TABLE 表的名字(列名a 資料類型(資料長度),列名b 資料類型(資料長度),列名c 資料類型(資料長度));
我們嘗試在mysql_shiyan中建立一張表employee,所以語句為:
CREATE TABLE employee (id int(10),name char(20),phone int(12));
想讓命令看起來更整潔,你可以這樣輸入命令:
這時候再“show tables;”一下,可以看到剛才添加的兩張表:
5、資料類型
在剛才建立表的過程中,我們提到了資料類型,MySQL的資料類型和其他程式設計語言大同小異,下表是一些MySQL常用資料類型:
資料類型 |
大小(位元組) |
用途 |
格式 |
INT |
4 |
整數 |
|
FLOAT |
4 |
單精確度浮點數 |
|
DOUBLE |
4 |
雙精確度浮點數 |
|
|
|
|
|
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 |
長文本資料 |
CHAR和VARCHAR的區別: CHAR的長度是固定的,而VARCHAR的長度是可以變化的,比如,儲存字串“abc",對於CHAR (10),表示儲存的字元將佔10個位元組(包括7個Null 字元),而同樣的VARCHAR(12)則只佔用3個位元組的長度,12隻是最大值,當你儲存的字元小於12時,按實際長度儲存。
ENUM和SET的區別: ENUM類型的資料的值,必須是定義時枚舉的值的其中之一,即單選,而SET類型的值則可以多選。
6、插入資料
剛才我們建立了兩張表,使用語句“SELECT * FROM employee;”可以看到employee表中,現在還是空的:
剛才使用的SELECT語句將在下一節課詳細介紹
我們通過INSERT語句向表中插入資料,語句格式為:
INSERT INTO 表的名字(列名a,列名b,列名c) VALUES(值1,值2,值3);
我們嘗試加入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的相關資料已經儲存在其中了:
三、小結
經過本次練習,已經有了一個名為mysql_shiyan的資料庫,其中有兩張表,我們已經向其中插入了一些資料。完整地操作一遍後,熟練了SQL語句的基本使用。
(大資料工程師學習路徑)第四步 SQL基礎課程----建立資料庫並插入資料