天天看點

sql之限制sql之限制

sql之限制

常見限制

  • 主鍵限制
    • 用來辨別某一行,在這張表中通過主鍵就能确定位到一條記錄。主鍵要求這一行的資料總體上不能重複且不能為空。
    • 設定方式
      • 方式一
        create table SN( 
         sno int not null PRIMARY KEY,
         sname VARCHAR(20) not null,
         Stat VARCHAR(50) not null,
         city varchar(50)
        );
                   
      • 方式二
        create table SNO( 
         sno int not null ,
         sname VARCHAR(20) not null,
         Stat VARCHAR(50) not null,
         city varchar(50),
         PRIMARY key(sno)
        );
                   
      • 檢視表結構
        sql之限制sql之限制
      • 方式三
        • 額外補
          create table snk(
           s int not null,
           a int not null
          );
          alter table snk add PRIMARY key(s);
          desc snk;
                     
        • 檢視表結構
          sql之限制sql之限制
    • 注:帶有主鍵的記錄不能重複,是指主鍵不能一樣。資料庫允許有兩個主鍵,如果兩個主鍵一樣的話,插入失敗,兩條記錄中的一個主鍵一樣沒問題。
  • 預設值限制
    • 有default限制列時,當插入資料為空時那麼就插入該預設值。
    • 示例
      • 修改snk中a的預設值為1,作用是如果插入資料為空的的話,則插入預設值。
        alter table snk MODIFY a int DEFAULT 1 not null;
        desc snk;
        insert into snk (s) VALUES(2)
                   
        sql之限制sql之限制
        sql之限制sql之限制
  • 非空限制
    • 必須插入值(可以是空格)
    • 示例略

空、空格、NULL差別

  • String s1 = "";
    //建立出了對象(已經開辟了内容空間,對象已經執行個體化),這個對象内容為空,也就是空字元串。
    s1.length = 0; 
    s1.isEmpty() = true;
               
  • 空格
    String s2 = " ";
    //建立出了對象(已經開辟了記憶體空間,對象已經執行個體化),這個對象内容不為空,而是空格。
    s2.length=1;
    s2.isEmpty()=false;
               
  • NULL差別
    • 這個沒建立出對象
sql