Mysql入門(三)之列屬性


列屬性

    列屬性:真的約束字段的數據類型,但是數據類型的約束很單一,需要有一些額外的約束,來保證數據的合法性
    列屬性有很多:NULL/NOT NULL,default,Primary key,unique key,auto_increment,comment

    空屬性  

               兩個值:NULL(默認的)/NOT NULL(不為空)                           雖然默認的,數據庫基本都是字段為空,但是實際上在真實開發的時候,盡可能的要保證所有的數據都不應該為空:空數據沒有意義;空數據沒有辦法參與運算
              創建一個實際案例表:班級表(名字,教師)              

   列描述

              列描述 :comment描述,沒有實際含義:是專門用來描述字段,會根據表創建語句保存:用來給程序猿(數據庫管理員)來進行了解的              

   默認值

        默認值:某一種數據會經常性的出現某個具體的值,可以在一開始就指d定好,在需要真實數據的時候,用戶可以選擇性的使用默認值                      默認值關鍵字:default                         默認值的生效:使用,在數據進行插入的時候,不給改字段賦值           想要使用默認值,可以不一定去指定列表,故意不使用字段列表;可以使用default關鍵字代替       

  主鍵

          主鍵:primary key,一張表只能有一個字段可以使用對應的鍵,用來唯一的約束該字段里面的數據,不能重復

         一張表只能有最多一個主鍵

       增加主鍵

          sql操作中有多種方式可以給表增加主鍵:大體分為三種                    方案一:在創建表的時候,直接在字段之后,跟primary key關鍵字(主鍵本身不允許為空)                         
                     優點:非常直接;缺點:只能使用一個字段作為主鍵          方案二:在創建表的時候,在所有的字段之后,使用peimary key(主鍵字段列表)來創建主鍵(如果有多個字段作為主鍵,可以是復合主鍵)                           方案三:當表已經創建好之后,額外追加主鍵,可以通過修改字段屬性,也可以直接追加(前提表中字段對應的數據本身是獨立的(不重復的))                    Alter table 表名 add primary key (字段列表);                      

              主鍵約束

                              主鍵對應的字段中的數據不允許重復:一旦重復,數據操作失敗(增和改)

              更新主鍵&刪除主鍵

                              沒有辦法更新主鍵:主鍵必須先刪除,才能增加                                                        Alter table 表名 drop primary key;                              

              主鍵分類

                      在實際創建表的過程中,很少使用真實業務數據作為主鍵字段(業務主鍵,如學號,課程號);大部分的時候是使用邏輯性的字段(字段沒有業務含義,值是什么                         都沒有關系),將這種字段主鍵稱為邏輯主鍵。                                            Create table my_student(                                Id int primary key auto_increment comment '邏輯主鍵:自增長',-----邏輯主鍵                               Number char(10) not null comment '學號',                               Name varchar(10)not null                             ) 

  自動增長

        自增長:當對應的字段,不給值,或者說給默認值,或者給Null的時候,會自動的唄系統觸發,系統會從當前字段中已有的最大值再進行+1操作,                         得到一個新的在不同的字 段。
        自增長通常是跟主鍵搭配       

      新增自增長

        自增長特點:auto_increment          1.    任何一個字段要做自增長必須前提是本身是索引(key一欄有值)          2.     自增長字段必須是數字(整型)          3.    一張表最多只有一個自增長          

       自增長使用

              當自增長被給定的值為null,或者默認值的時候會觸發自動增長               
              自增長如果對應得字段輸入了值,那么自增長失效:但是下一次還是能夠正確地自增長(從最大值+1)                                可以通過查看表創建語句查看               

          修改自增長

               自增長如果涉及到字段改變:必須先刪除自增長,后增加(一張表只能有一個自增長)                              修改當前自增長已經存在的值:修改只能比當前已有的自增長的最大值大,不能小,小不生效               Alter table 表名 auto_increment=值;                             向上修改可以                 
            為什么自增長是從1開始?為什么每次都是自增1?             所有系統的變現(如字符集,校對集)都是有系統內部的變量進行控制的。             查看自增長對應的變量:show variables like ‘auto_increment%’;                      可以修改變量實現不同效果:修改是對整個數據修改,而不是單張表:(修改是會話級)           Set  auto_increment_increment=5;——   一次增長5                        

      刪除自增長

               自增長是字段的一個屬性:可以通過modify來進行修改(保證字段沒有auto_increment即可)                Alter table 表名 modify 字段  類型;                 

    唯一鍵

         一張表往往有很多字段需要具有唯一性,數據不能重復:但是一張表只能有一個主鍵:唯一鍵(unique key)就可以解決表中有多個字段需要唯一性約束的問題
        唯一鍵的本質與主鍵差不多:唯一鍵默認的允許自動為空,而且可以多個為空(空字段不參與唯一性比較)            

          增加唯一鍵

                基本與主鍵差不多:三種方案                                 方案1:在創建表的時候,字段之后直接跟unique/unique key               
            方案2:在所有的字段之后增加unique key (字段列表);——復合唯一鍵                             方案三;在創建表之后增加唯一鍵           

      唯一鍵約束

          唯一鍵與主鍵本質區別相同:唯一的區別就是唯一鍵默認允許為空,而且是多個為空                     如果唯一鍵也不允許為空:與主鍵的約束作用是一致的,

     更新唯一鍵&刪除唯一鍵

        更新唯一鍵:先刪除后新增(唯一鍵可以有多個:可以不刪除)                 刪除唯一鍵          Alter table 表名 drop index 索引名字;---唯一鍵默認的使用字段名作為索引名字       

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com