首頁>Club>
5
回覆列表
  • 1 # 九維互動


    第一 not null 非空約束

    ①強制列不接受空值

    ②例:建立表時,name varchar(6) not null,

    第二 unique 唯一性約束

    ①約束唯一標識資料庫表中的每條記錄

    ②unique和primary key都為資料提供了唯一性約束

    ③primary key 擁有自動定義的Unique約束

    ④注意:每個表中只能有一個primary key約束,但是可以有多個Unique約束

    ⑤語法:
    1.name int unique
    2.unique(column_name)
    3.CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName) 新增多個約束
    4.alter table table_name add unique(column_name) 增加表中的約束
    5.ALTER TABLE table_name DROP CONSTRAINT 主鍵名 刪除約束

    第三 primary key約束

    ①約束唯一標識資料庫表中的每條記錄

    ②主鍵必須包含唯一的值

    ③主鍵列不能為空

    ④每個表都應該有個主鍵,但只能有一個主鍵

    ⑤語法:
    1.StudentID int not null primary key 建立學生編號為主鍵
    2.primary key(Students) 建立學生編號為主鍵
    3.primary key(StudentID,Email) 建立學生ID和Email為聯合主鍵

    ⑥為已存在的列建立主鍵
    1.alter table table_name add primary key(column_name)

    ⑦刪除主鍵約束
    1.alter table table_name drop primary key

    ⑧刪除主鍵約束
    1.alter table table_name drop constraint 主鍵約束名 主鍵約束名可以使用sp_help查詢

    第四 foreign key約束

    ①一個表中的foreign key 指向另一個表的primary key

    ②foreign key約束用於預防破壞表之間連線的動作

    ③foreign key約束也能防止非法資料插入外來鍵列,因為它必須是指向的那個表的值之一

    ④語法:
    1.foreign key (column_name) references 主表名(主鍵列名) 建立column_name為主表名的外來鍵
    2.column_name int foreign key references 主表名(主鍵列名) 建立column_name為主表名的外來鍵
    3.alter table table_name
    add foreign key (列名) references 主表名(主鍵列名) 為已存在的列建立外來鍵
    4.alter table table_name drop constraint 外來鍵約束名 刪除外來鍵約束(SQL Server oracle)
    5.alter table table_name drop foreign key 外來鍵約束名 刪除外來鍵約束(Mysql)

    第五 check 約束

    ①check約束用於限制列中的值的範圍

    ②如果對個單個列做check約束,那麼該列只可以輸入特定數值

    ③如果一個表定義check約束,那麼此約束會在特定的列對值進行限制

    ④語法:
    1.StudentID int not null check (StudentID>0) 限制StudentID輸入的值要大於0 (SQL Server oracle)
    2.StudentID int not null, 限制StudentID輸入的值要大於0 (Mysql)
    check (StudentID>0)
    3.sex varchar(2) not null check(sex=‘男’ or sex=‘女’) 限制sex的性別只能是男或者女
    4.alter table table_name add check(列名>0) 向已有的列加入check約束
    5.alter table table_name drop constraint check約束名 刪除約束 約束名可以用 sp_help table_name檢視

    第六 default約束

    ①default約束用於向列中插入預設值

    ②如果沒有規定其他的值,那麼會將預設值新增到所有的新記錄中

    ③語法:
    1.name varchar(10) default ‘張三’ name預設插入張三的名字
    2.systime date default gatedate() 插入時間的預設值 getetime()函式為時間的預設值
    3.alter table table_name add 列名 set default ‘數值’ 向已有列名中插入預設值
    4.alter table table_name drop constraint 約束名 刪除預設約束

  • 中秋節和大豐收的關聯?
  • 平靜安詳的詩句?