基礎知識:用MySQL數據庫建立表格

大體瞭解MySQL

衆所周知,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),
        ...
    );
複製代碼

可是用什麼值來表示它們,規定這些列的類型,就比較重要了,由於這些是規定好的,你得記住別寫錯了。

列類型

要建立表格,那麼咱們必定要知道它包含的列都有哪些類型的。

  1. 數值類型
    • TINYINT 微整型,佔1個字節 範圍-128~127
    • SMALLINT 小整型,佔2個字節 範圍-32768~32767
    • INT 整型,佔4個字節 範圍 -2147483648~2147483647
    • BIGINT 大整型,佔8個字節
    • FLOAT 單精度浮點型,佔4個字節,範圍3.4e38,範圍比INT大的多,可能產生計算偏差。
    • DOUBLE 雙精度浮點型,佔8個字節,範圍比BIGINT大的多
    • DECIMAL(M,D) 定點小數,不會產生計算偏差,M表明總的有效位數,D表明小數點後的有效位數
    • BOOL 布爾型,只有兩個結果TRUE/一、FALSE/0,TRUE和FALSE不能添加引號;真正存儲數據的時候,會使用TINYINT。
  2. 日期時間類型
    • DATE 日期型 '2018-12-31'
    • TIME 時間型 '14:22:30'
    • DATETIME 日期時間型 '2018-12-31 14:22:30'
  3. 字符串類型——必須添加引號
    • VARCHAR(M) 變長字符串,不會產生空間浪費,操做速度相對較慢,M最大值是65535
    • CHAR(M) 定長字符串,可能產生空間浪費,操做速度較快,M最大值是255;用於存儲手機號碼,身份證號等固定長度的字符。
    • TEXT(M) 大型變長字符串,最多存2G

建立好了列頭,能夠往裏面填值了。

上面只是建立了一個表格,寫了它的第一行,裏面包含了全部列的分類,那麼下面就要往表格裏填內容了,即它以後的行。

INSERT INTO test VALUES(1,'Jack',...);
複製代碼

值1對應列頭的第一個,值2對應列頭的第二個,以此類推。

你也能夠對內容進行修改:

UPDATE student SET name = 'Mike' WHERE id = 1;
複製代碼

或者刪除:

DELETE FROM student WHERE id = 1;
複製代碼

查看錶格

一個簡單的表格就已經建立好了,那麼怎麼查看呢? 兩種方式:

  1. 交互方式,相似上面查看服務器的方法。 在shell裏執行:
mysql -uroot
    #回車
    USE test;
    #回車
    SELECT * FROM student;
    #回車便可查看
複製代碼
  1. 腳本方式: sql文件里加上下面這句代碼:
SELECT * FROM student;
複製代碼

而後在shell裏執行:

mysql -uroot < 你的sql文件的位置
    #回車查看
複製代碼

可是通常腳本語言不用於查看,而是用交互模式查看。

關於語言

須要注意的是,上面的寫法,若是列表裏填的值有中文,會顯示出亂碼,全部咱們須要設置一下。 在建立表格的時候,設定語言範圍是UTF-8,因爲mysql對於‘-’號會理解成減號,全部寫的時候省去了‘-’號。

SET NAMES UTF8;
    DROP DATABASE IF EXISTS test;
    CREATE DATABASE test CHARSET = UTF8;
複製代碼

這樣在值爲中文的時候就不會顯示亂碼了(用交互模式查看,若是是腳本模式仍是看不懂的~)。

你學會了嗎?

以上是本身的一點學習記錄,若有不對還請指正,謝謝!

相關文章
相關標籤/搜索