溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql數(shù)據(jù)類型、索引及其它簡(jiǎn)析

發(fā)布時(shí)間:2020-04-28 11:36:54 來源:億速云 閱讀:243 作者:三月 欄目:MySQL數(shù)據(jù)庫(kù)

本文主要給大家介紹mysql數(shù)據(jù)類型、索引及其它簡(jiǎn)析,希望可以給大家補(bǔ)充和更新些知識(shí),如有其它問題需要了解的可以持續(xù)在億速云行業(yè)資訊里面關(guān)注我的更新文章的。

 一、Mysql數(shù)據(jù)類型:

   1、數(shù)值類型:

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

                      整數(shù)類型包括:tinyint,smallint,int等

      浮點(diǎn)型:  (5,2)總長(zhǎng)度和小數(shù)點(diǎn)后的長(zhǎng)度

                     包括:float,double,decimal(固定長(zhǎng)度,不符合長(zhǎng)度要求輸入不進(jìn)去)

  2、字符類型:       

       char:  定長(zhǎng),255個(gè)字符,右邊用空格補(bǔ)齊,效率高

       varchar: 可變長(zhǎng),按數(shù)據(jù)實(shí)際大小分配空間,郵箱可用varchar

            大文本類型:text、blob

  3、日期時(shí)間類型:

     日期時(shí)間:datetime(8個(gè)字節(jié))    timestamp(4個(gè)字節(jié))

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

     年份:year    1901-2155    當(dāng)用兩位表示時(shí) :01-69 表示20XX     70-99 表示 19XX

        時(shí)間:time    HH:MM:SS,占用三個(gè)字節(jié)

 4、時(shí)間函數(shù)

mysql數(shù)據(jù)類型、索引及其它簡(jiǎn)析

      now()  :獲取調(diào)用此函數(shù)時(shí)的系統(tǒng)日期時(shí)間

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

5、枚舉類型:愛好,性別,專業(yè)

     字段名       enum(值1,值2,值3)     單選   可用數(shù)字來表示

     字段名       set (值1,值2,值3)   多選

6、字段約束條件:限制如何給字段賦值

      null(為空)  ,not null(非空),default(默認(rèn)值)


二、Mysql索引

 優(yōu)缺點(diǎn):占用物理存儲(chǔ)空間,減慢寫的速度;加快查詢的速度

  1、普通索引:index  

     可以有多個(gè)索引字段,其值可以重復(fù)和空值,在表結(jié)構(gòu)中,其key鍵的值顯示為:mul

       創(chuàng)建:create table user( id int(3), index(id)); //創(chuàng)建表時(shí)創(chuàng)建

               create index id on user1(id);   //在已存在的表里創(chuàng)建

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

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

      一個(gè)表中可以有多個(gè)唯一索引,對(duì)應(yīng)字段的值不能重復(fù),當(dāng)不為空時(shí),限制功能

和主鍵相同。

       創(chuàng)建:create  unique index  hz_id  on   s2(hz_id);

       刪除:   drop    index    hz_id    on    s2;


三、主鍵、復(fù)合主鍵,外鍵

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

    對(duì)應(yīng)的字段值不能為空。

        創(chuàng)建:alter  table   表名    add primary key (字段名);

        刪除:alter  table  表名    drop  primary key;  

    primary key 與 auto_increment連用,字段的值自動(dòng)增長(zhǎng)

    在創(chuàng)建主鍵時(shí),在后面加上 auto_increment,刪除主鍵時(shí),

  首先要?jiǎng)h除自增屬性,也就是先修改字段的屬性

  2、復(fù)合主鍵:表中多個(gè)字段一起做主鍵,要一起創(chuàng)建   

         創(chuàng)建:alter  table  s1   add   primary   key(stu_id,name);

         刪除:  alter  table  s1   drop   primary  key;

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

      創(chuàng)建:foreign      key(A表字段名)         references    B表名(字段名)  

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

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

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


四、Mysql存儲(chǔ)引擎

        何為存儲(chǔ)引擎:負(fù)責(zé)為數(shù)據(jù)庫(kù)執(zhí)行實(shí)際的數(shù)據(jù)I/O操作,

不同的存儲(chǔ)引擎,其存儲(chǔ)數(shù)據(jù)的方式也不一樣,

在mysql5.7中,默認(rèn)的存儲(chǔ)引擎是innodb.

 1、查看:show create table sys_in;    //查看某個(gè)表的存儲(chǔ)引擎

                 show engines;        //查看數(shù)據(jù)庫(kù)支持的和默認(rèn)的存儲(chǔ)引擎

 2、修改數(shù)據(jù)庫(kù)默認(rèn)的存儲(chǔ)引擎: vim /etc/my.cnf

     default-storage-engine=myisam/innodb

 3、修改某個(gè)存在表的默認(rèn)引擎:

      alter table 表名 engine=innodb;

 4、myisam和innodb的區(qū)別

 myisam:支持表級(jí)鎖,適合多讀少寫;.frm(表結(jié)構(gòu)), .MYI(索引), .MYD(數(shù)據(jù))     

 innodb:支持行級(jí)鎖,適合多寫少讀,支持外鍵,支持事務(wù),事務(wù)回滾,.frm(表結(jié)構(gòu)).ibd(索引+數(shù)據(jù))

5、鎖和事務(wù)的相關(guān)定義

     鎖類型:讀鎖(共享鎖),寫鎖(排它鎖)

     鎖粒度:表鎖,行鎖,頁(yè)鎖(內(nèi)存)

     事務(wù):一次sql操作從連接到斷開連接的過程稱為事務(wù)。要么成功,要么失敗

     事務(wù)日志文件:ib_logfile(sql語(yǔ)句存放位置);ibdata1(數(shù)據(jù)信息)


看了以上關(guān)于mysql數(shù)據(jù)類型、索引及其它簡(jiǎn)析,希望能給大家在實(shí)際運(yùn)用中帶來一定的幫助。本文由于篇幅有限,難免會(huì)有不足和需要補(bǔ)充的地方,如有需要更加專業(yè)的解答,可在官網(wǎng)聯(lián)系我們的24小時(shí)售前售后,隨時(shí)幫您解答問題的。




























向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI