衆所周知,MySQL是一個數據庫管理系統,但其實數據庫也分多種類型,MySQL是其中一種,叫作關係型數據庫。mysql
關係型數據庫,是指採用了關係模型來組織數據的數據庫,其以行和列的形式存儲數據,以便於用戶理解,關係型數據庫這一系列的行和列被稱爲表,一組表組成了數據庫。 sql
關係鏈是: 服務器(Server) -> 數據庫(例如MySQL) -> 表格(Table) -> 行(Row) -> 列(Column)shell
表格裏面還包含了多行與多列(圖片沒有展現)。數據庫
那麼咱們怎麼在數據庫裏建立表格呢?bash
建立數據庫很簡單,首先建立一個後綴名是.sql的文件,而後書寫下段代碼:服務器
CREATE DATABASE test;
複製代碼
create是建立的意思,database是數據庫的意思,由於是關鍵詞,全部是大寫(書寫規範),test是你給數據庫取的一個名字, 固然你也能夠叫lili、mary之類的。學習
是的,就是這麼簡單,一句話你就建立了一個數據庫。 如今能夠打開MySQL服務器,而後在shell裏查看你建立的數據了。ui
打開shell,輸入spa
mysql -uroot
#回車
SHOW DATABASES;
複製代碼
你的服務中全部的數據庫會展現出來,而且你會看到,多了一個名叫 test 的數據庫。code
可是,若是你從新執行上段操做,會發現報錯,緣由是該服務器已經有了一個叫 test 的數據庫了,因此不能再建立一個同名的數據庫。
因此你須要在建立數據庫的時候,加上這樣一段代碼:
DROP DATABASE IF EXISTS test;
CREATE DATABASE test;
複製代碼
新增的代碼意思是:若是服務器中已經有了名叫 test 的數據庫,那麼刪除它。
這樣就萬無一失啦,再查看多少次服務器都不會出錯了。
首先在建立表格以前,咱們要先調用該數據庫,以避免計算機不知道咱們要在哪建立。
USE test;
CREATE TABLE myTable(
列名稱: 列類型,
列名稱: 列類型,
...
);
複製代碼
使用 USE test 連調用該數據庫,而後建立表格,不難發現,表格裏填了一些內容,這些內容規定了表格的表頭,即:你的表格都有哪些列。
列名稱不是很難理解,通常都是你本身取的名字,好比你作一個學生班級的表格,表格裏包含了學生的編號、姓名、性別、分數等等。
USE test;
CREATE TABLE student(
id: TINYINT,
name: VARCHAR(6),
...
);
複製代碼
可是用什麼值來表示它們,規定這些列的類型,就比較重要了,由於這些是規定好的,你得記住別寫錯了。
要建立表格,那麼咱們必定要知道它包含的列都有哪些類型的。
上面只是建立了一個表格,寫了它的第一行,裏面包含了全部列的分類,那麼下面就要往表格裏填內容了,即它以後的行。
INSERT INTO test VALUES(1,'Jack',...);
複製代碼
值1對應列頭的第一個,值2對應列頭的第二個,以此類推。
你也能夠對內容進行修改:
UPDATE student SET name = 'Mike' WHERE id = 1;
複製代碼
或者刪除:
DELETE FROM student WHERE id = 1;
複製代碼
一個簡單的表格就已經建立好了,那麼怎麼查看呢? 兩種方式:
mysql -uroot
#回車
USE test;
#回車
SELECT * FROM student;
#回車便可查看
複製代碼
SELECT * FROM student;
複製代碼
而後在shell裏執行:
mysql -uroot < 你的sql文件的位置
#回車查看
複製代碼
可是通常腳本語言不用於查看,而是用交互模式查看。
須要注意的是,上面的寫法,若是列表裏填的值有中文,會顯示出亂碼,全部咱們須要設置一下。 在建立表格的時候,設定語言範圍是UTF-8,因爲mysql對於‘-’號會理解成減號,全部寫的時候省去了‘-’號。
SET NAMES UTF8;
DROP DATABASE IF EXISTS test;
CREATE DATABASE test CHARSET = UTF8;
複製代碼
這樣在值爲中文的時候就不會顯示亂碼了(用交互模式查看,若是是腳本模式仍是看不懂的~)。
你學會了嗎?
以上是本身的一點學習記錄,若有不對還請指正,謝謝!