mysql提供的六種約束 MySQL中的六個約束

2021-10-17 19:44:35 字數 1702 閱讀 3201

主鍵約束 primary key:乙個表中只能有乙個主鍵,主鍵值不能為空,不能重複

設定主鍵約束:1 在建立表時就設定好主鍵約束

create table person(id int primary key);

或  create table person(id int ,name char(10),primary key(id));

2 通過修改表中列的屬性來設定主鍵約束

alter table person add primary key(id);

或  alter table person modify id int primary key;

設定聯合主鍵:1:在建立時就設定為聯合主鍵約束

create table person(id int,name char(10),primary key(id,name));

2:修改列的屬性設定聯合主鍵約束

alter table person add primary key(id,name);

不同記錄的聯合主鍵的列值不能同時相同,可以分別相同,不能同時為空

刪除主鍵約束:alter table person drop primary key;

遞增約束 auto_increment:設定為自動遞增的列,自己沒給他新增值,系統會自動給他賦值,一般把主鍵設為遞增約束

create table student(id int primary key auto_increment);

唯一約束 unique:設定為唯一約束的列值不能重複

設定唯一約束:  1 在建立表時就設定好唯一約束

create table person(id int unique);

或  create table person(id int ,name char(10),unique(id));

2 通過修改表中列的屬性來設定唯一約束

alter table person add unique(id);

或  alter table person modify id int unique;

設定聯合唯一約束:1:在建立時就設定為聯合唯一約束

create table person(id int,name char(10),primary key(id,name));

2:修改列的屬性設定聯合唯一約束

alter table person add unique(id,name);

不同記錄的聯合唯一約束的列值不能同時相同,可以分別相同,不能同時為空

刪除主鍵約束:alter table person drop unique;

預設約束 default:設定某個列在沒有記錄時使用預設值

create table person (id int,name char(10) default 'zhangsan');

非空約束 not null:非空約束的列值不能為空

create table person(id int,name char(10) not null);

外來鍵約束 foreige key   references:副表被約束的列值從主表約束列值中選擇,主表約束的列值被副表列值使用時,這個主表的列值不能被刪除。主表的列必須是主鍵;

create table person(id int primary key);

create table student(id int,foreign key(id) references person(id));

Flyway提供的六種命令

flyway對資料庫進行版本管理主要由metadata表 預設是flyway schema history 和6種命令完成,metadata主要用於記錄每次執行的指令碼和version等資訊,下面一一介紹。metadata表 flyway schema history flyway中最核心的就是用於...

語言提供了六種位運算子

一 位運算子 語言提供了六種位運算子 按位與 按位或 按位異或 取反 左移 右移 1.按位與運算 按位與運算子 是雙目運算子。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1 否則為0。參與運算的數以補碼方式出現。例如 9 5可寫算式如下 00001001 9的二...

qml multitouch的六種訊號

1.canceled list touchpoints 當由於另一項竊取了觸控事件處理而取消了新的觸控事件時,將發出此訊號。此訊號用於高階用途 當有多個multipointtoucharea處理輸入時,或者在乙個閃爍的內部有乙個multipointtoucharea時,它非常有用。在後一種情況下,如...