MySQL學習筆記_2_MySQL建立資料表(上)

來源:互聯網
上載者:User

標籤:sql   資料庫   mysql   程式設計語言   資料   

MySQL建立資料表(上)

一、建立資料表的SQL語句模型【弱類型】

CREATETABLE [IF NOT EXISTS]表名稱(

欄位名1列的類型[屬性][索引],

欄位名2列的類型[屬性][索引],

欄位名n列的類型[屬性][索引],

)[表屬性][表字元集];

【表名稱,欄位名需要自己來命名】

【SQL語句並不區分大小寫,但是一個檔案名稱:在Windows下不區分大小寫,但是在 Linux/UNIX下是區分大小寫】

【命名規則: 1、有意義(英文,英文組合或英文縮寫)

2、自己定的名稱最好小寫。

3、SQL語句最好大寫。】


1、 CREATETABLE users(

idINT,

nameCHAR(32)

);

2、 SHOWTABLES;

3、 DESCusers;

4、 SELECT* FROM users;


二、資料值與列類型

都以空間大小來細分,能夠存下即可!


1、數值型

整型(整數):

非常小整數型 1位元組 -128~127 0~255(無符號) TINYINIT

較小整數型 2位元組 -32768~32767 SMALLINIT

中等大小整數型 3位元組 0~16777215 MEDIUMIINT

標準整數型 4位元組 -2147483648~2147483647 INT

大整數型 8位元組 BIGINT

【可以添加屬性:UNSIGNED】

浮點型(小數):

FLOAT(M,N) 4位元組【長度M,保留小數點後N位】

DOUBLE(M,N) 8位元組【五舍六入】

DECIMAL(M,N) M+2位元組【定點數,以字串形式儲存資料, 更精確的儲存資料,但是效率會有所折扣。】【四捨五入】

【浮點數會存在誤差,因此在對數字敏感的時候,需要用定點數來儲存!】

3、字元型

MySQL支援以單引號與雙引號表示字串類型。

如“MySQL”與‘MySQL‘相同

char(M)最大255 固定長度字串

varchar(M)最大255 可變長度字串

char(4) varchar(4)//永遠比字元多一個位元組

‘‘ 4 ‘‘ 1位元組

‘a‘ 4 ‘a‘ 2位元組

‘abcd‘ 4 ‘abcd‘ 5位元組

‘abcdefg‘ 4 ‘abcdefgh‘ 5位元組


char類型會截取尾部的空格;

樣本: CREATETABLE IF NOT EXISTS tab(v varchar(4),c char(4));

INSERTINTO tab(v,c) VALUES(“ab ”,”ab ”);

SELECTCONCAT(v,”#”),CONCAT(c,”#”) FROM tab;


最佳實務:

固定長度,推薦使用char類型(可能會浪費一定空間)。

可變長度,推薦使用varchar類型(可能會付出一些效能損耗)


text文本資料:文章,日誌 長度:2^16-1

MEDIUMTEXT

LONGTEXT


blob位元據:照片,電影 長度:2^16-1

MEDIUMBLOB

LONGBLOB

【雖然沒法通過SQL語句將照片,電影,壓縮包等二進位檔案插入到資料庫中,但是我們可以通過C++/Java等程式設計語言將二進位檔案讀成位元據流,然後儲存到資料庫中】

ENUM枚舉 1~2位元組

ENUM(“one”,”two”,”three”,”four”)~65535

一次只能有一個值


SET集合 1,2,3,4,8位元組

SET(“one”,”two”,”three”,”four”)~64

一次可以有多個值,用“,”隔開。

4、日期型

DATE YYYY-MM-DD //如果位元充足,可以不用加‘-’

TIME hh:mm:ss //位元充足,可以忽略‘:’,位元不足,從後面截取

DATETIME YYYY-MM-DDhh:mm:ss

TIMESTAMP YYYYMMDDhhmmss //位元不足時,不可忽略前置0

YEAR YYYY


【建立資料表時,最好不要使用這些時間值,最好使用C++/Java等程式設計語言中的整數來儲存時間,這樣更方便計算,如C++中的int,PHP中時間戳記1970-1-10:0:0】


轉載   http://blog.csdn.net/zjf280441589/article/details/18660509

如有著作權問題,請聯絡QQ:858668791



MySQL學習筆記_2_MySQL建立資料表(上)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.