MySQL基礎知識(MySQL從入門到精通觀後感)

來源:互聯網
上載者:User

標籤:條件   body   arc   修改表   cli   瀏覽器   聲明   欄位   mint   

17/7/91.主從式架構(Client-server model)或用戶端-伺服器(Client-Server)結構簡稱C/S結構,是一種網路架構,通常在該網路架構下軟體分為用戶端和伺服器。2.主從式架構通過不同的途徑應用於很多不同類型的應用程式,如當顧客想在噹噹網上買書,顧客的電腦和網頁瀏覽器當成用戶端,組成噹噹網的電腦,資料庫和應用程式被當成伺服器。3.(1)使用主鍵約束
  •           主鍵,又稱主碼,是表中一列或多列的組合。主鍵約束(primary key constraint)要求主鍵列的資料唯一,並且不可為空。
  •           單欄位主鍵    
      • 在定義列的同時指定主鍵
      • 在定義完所有列之後指定主鍵
  •         多欄位主鍵
                         PRIMARY KEY [欄位1,欄位2,....................]     
  • 使用外鍵約束
    • 外鍵用來在兩個表的資料之間建立串連,它可以是一列和多列。一個表可以有一個或多個外鍵,外鍵可以是空值
    • 文法:[CONSTRAINT <外鍵名>] FOREIGN KEY 欄位名1 [欄位2,...] REFETENCES <主表名> 主鍵列1 [主鍵列2.。。。。]
  •      使用非空約束    NOT NULL ;
  • 使用唯一約束  UNIQUE
    • 文法:CONTRAINT <約束名> UNIQUE (<欄位名>)
     6.使用預設約束   DEFAULT  預設值     7.設定表的屬性值自動增加     AUTO_INCREMENT4.查看錶基本結構語句 DESCTIBE     DESCRIBE 表名;或 DESC 表名;5.查看錶詳細結構語句 SHOW CREATE TABEL     使用SHOW CREATE TABLE 語句,不僅可以查看錶建立時候詳細語句,而且可以查看儲存引擎和字元編碼;     語句:SHOW CREATE TABLE <表名\G>。6.ALTER
  •      修改表名
    • 語句:ALTER TABLE <舊錶名> RENAME [TO] <新表 名>;
  •      修改欄位的資料類型
    • 語句:ALTER TABLE <表名> MODIFY <欄位名> <資料類型>;
  • 修改欄位名
    • 語句:ALTER TABLE <表名> CHANGE <舊欄位名> <新欄位名> <新資料類型>;
  • 添加欄位 
    • 語句:ALTER TABLE <表名> ADD <新欄位名 > <資料類型> [約束條件] [FIRST | AFTER 已存在欄位名];
  • 刪除欄位
    • 語句:ALTER TABLE <表名> DROP <欄位名>;
  • 修改欄位的排列位置
    • 語句:ALTER TABLE <表名> MODIFY <欄位1> <資料類型> FIRST|AFTER <欄位2>;
  • 更改表的儲存引擎
    • 語句:ALTER TABLE <表名> ENGINE=<更改後的儲存引擎名>;
  • 刪除表的外鍵約束
    • 語句:ALTER TABLE <表名> DROP FOREIGN KEY <外鍵約束名>
7.刪除沒有被關聯的表                    語句:DROP TABLE [IF EXISTS] 表1,表2,。。。。                         參數[IF EXISTS]用於在刪除前判段表是否存在,不存在也能順利執行sql語句。8.刪除被其他表關聯的主表              先取消表與表之間關聯,然後在刪除表。Mysql資料類型介紹

日期和時間資料類型

 

MySQL資料類型 含義
date 3位元組,日期,格式:2014-09-18
time 3位元組,時間,格式:08:42:30
datetime 8位元組,日期時間,格式:2014-09-18 08:42:30
timestamp 4位元組,自動儲存記錄修改的時間
year 1位元組,年份

 

數值資料類型

 

整型

MySQL資料類型 含義(有符號)
tinyint 1位元組,範圍(-128~127)
smallint 2位元組,範圍(-32768~32767)
mediumint 3位元組,範圍(-8388608~8388607)
int 4位元組,範圍(-2147483648~2147483647)
bigint 8位元組,範圍(+-9.22*10的18次方)

 

上面定義的都是有符號的,當然了,也可以加上unsigned關鍵字,定義成無符號的類型,那麼對應的取值範圍就要翻翻了,比如:

tinyint unsigned的取值範圍為0~255。

浮點型

MySQL資料類型 含義
float(m, d) 4位元組,單精確度浮點型,m總個數,d小數位
double(m, d) 8位元組,雙精確度浮點型,m總個數,d小數位
decimal(m, d) decimal是儲存為字串的浮點數

 

我在MySQL中建立了一個表,有一列為float(5, 3);做了以下實驗:

1.插入123.45678,最後查詢得到的結果為99.999;
2.插入123.456,最後查詢結果為99.999;
3.插入12.34567,最後查詢結果為12.346;

所以,在使用浮點型的時候,還是要注意陷阱的,要以插入資料庫中的實際結果為準。

字串資料型別

MySQL資料類型 含義
char(n) 固定長度,最多255個字元
varchar(n) 可變長度,最多65535個字元
tinytext 可變長度,最多255個字元
text 可變長度,最多65535個字元
mediumtext 可變長度,最多2的24次方-1個字元
longtext 可變長度,最多2的32次方-1個字元

1.char(n)和varchar(n)中括弧中n代表字元的個數,並不代表位元組個數,所以當使用了中文的時候(UTF8)意味著可以插入m個中文,但是實際會佔用m*3個位元組。
2.同時char和varchar最大的區別就在於char不管實際value都會佔用n個字元的空間,而varchar只會佔用實際字元應該佔用的空間+1,並且實際空間+1<=n。
3.超過char和varchar的n設定後,字串會被截斷。
4.char的上限為255位元組,varchar的上限65535位元組,text的上限為65535。
5.char在儲存的時候會截斷尾部的空格,varchar和text不會。
6.varchar會使用1-3個位元組來儲存長度,text不會。

其它類型

1.enum(“member1″, “member2″, … “member65535″)
enum資料類型就是定義了一種枚舉,最多包含65535個不同的成員。當定義了一個enum的列時,該列的值限制為列定義中聲明的值。如果列聲明包含NULL屬性,則NULL將被認為是一個有效值,並且是預設值。如果聲明了NOT NULL,則列表的第一個成員是預設值。

2.set(“member”, “member2″, … “member64″)set資料類型為指定一組預定義值中的零個或多個值提供了一種方法,這組值最多包括64個成員。值的選擇限制為列定義中聲明的值。  總結:很好的書  值得一看。。。。kay

MySQL基礎知識(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.