mysql系列之2------資料類型,索引,鍵,儲存引擎

來源:互聯網
上載者:User

標籤:update   方式   signed   欄位名   name   建立   var   不同的   ade   

 一、Mysql資料類型:

   1、數實值型別:

      整數類型:使用unsigned修飾時,只取正值,數值不夠指定寬度時,在左邊補空格

                      整數類型包括:tinyint,smallint,int等

      浮點型:  (5,2)總長度和小數點後的長度

                     包括:float,double,decimal(固定長度,不符合長度要求輸入不進去)

  2、字元類型:       

       char:  定長,255個字元,右邊用空格補齊,效率高

       varchar: 可變長,按資料實際大小分配空間,郵箱可用varchar

            大文本類型:text、blob

  3、日期時間類型:

     日期時間:datetime(8個位元組)    timestamp(4個位元組)

     日期: date   0001-01-01~9999-12-31

     年份:year    1901-2155    當用兩位表示時 :01-69 表示20XX     70-99 表示 19XX

        時間:time    HH:MM:SS,佔用三個位元組

 4、時間函數

      now()  :擷取調用此函數時的系統日期時間

      month()   ,date()    time()  :擷取指定的月份,日期,時間

5、枚舉類型:愛好,性別,專業

     欄位名       enum(值1,值2,值3)     單選   可用數字來表示

     欄位名       set (值1,值2,值3)   多選

6、欄位約束條件:限制如何給欄位賦值

      null(為空白)  ,not null(非空),default(預設值)


二、Mysql索引

 優缺點:佔用實體儲存體空間,減慢寫的速度;加快查詢的速度

  1、普通索引:index  

     可以有多個索引欄位,其值可以重複和空值,在表結構中,其key鍵的值顯示為:mul

       建立:create table user( id int(3), index(id)); //建立表時建立

               create index id on user1(id);   //在已存在的表裡建立

    刪除:drop index id on user1;   //在user1表裡刪除index為id的索引

 2、唯一索引:unique  index    在索引值那欄表示為:UNI

      一個表中可以有多個唯一索引,對應欄位的值不能重複,當不為空白時,限制功能

和主鍵相同。

       建立:create  unique index  hz_id  on   s2(hz_id);

       刪除:   drop    index    hz_id    on    s2;


三、主鍵、複合主鍵,外鍵

  1、主鍵:primary key   一個表只能有一個主鍵,其表示為:PRI

    對應的欄位值不可為空。

        建立:alter  table   表名    add primary key (欄位名);

        刪除:alter  table  表名    drop  primary key;  

    primary key 與 auto_increment連用,欄位的值自動成長

    在建立主鍵時,在後面加上 auto_increment,刪除主鍵時,

  首先要刪除自增屬性,也就是先修改欄位的屬性

  2、複合主鍵:表中多個欄位一起做主鍵,要一起建立   

         建立:alter  table  s1   add   primary   key(stu_id,name);

         刪除:  alter  table  s1   drop   primary  key;

   3、外鍵使用規則:儲存引擎是innodb,類型和寬度一樣,被參考表:最好是主鍵

      建立:foreign      key(A表欄位名)         references    B表名(欄位名)  

               on update cascade(同步更新)  on delete cascade;(同步刪除)  

        刪除外鍵:alter  table 表名   drop  foreign  key   約束名;

     外鍵名查詢:show  create table  表名\G,可以查詢


四、Mysql儲存引擎

        何為儲存引擎:負責為資料庫執行實際的資料I/O操作,

不同的儲存引擎,其儲存資料的方式也不一樣,

在mysql5.7中,預設的儲存引擎是innodb.

 1、查看:show create table sys_in;    //查看某個表的儲存引擎

                 show engines;        //查看資料庫支援的和預設的儲存引擎

 2、修改資料庫預設的儲存引擎: vim /etc/my.cnf

     default-storage-engine=myisam/innodb

 3、修改某個存在表的預設引擎:

      alter table 表名 engine=innodb;

 4、myisam和innodb的區別

 myisam:支援表級鎖,適合多讀少寫;.frm(表結構), .MYI(索引), .MYD(資料)     

 innodb:支援行級鎖,適合多寫少讀,支援外鍵,支援事務,交易回復,.frm(表結構).ibd(索引+資料)





























mysql系列之2------資料類型,索引,鍵,儲存引擎

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.