SQL 列屬性(主鍵 自增長 唯一鍵)

2021-09-25 22:11:06 字數 3155 閱讀 5000

1.1、null和default

null就是空,default就是預設值,在建立表的時候使用的

create

table my_default(

name varchar(10

)not

null

,--名字不允許為空

age int

default

18--年齡預設為18);

--只增加乙個名字

1.2、列描述

列描述:comment,是專門用於給開發人員進行維護的乙個注釋說明,類似於-- +注釋,但是可以在資料庫裡面看到注釋

基本語法:comment 『字段描述』;

create

table my_comment(

name varchar(10

)not

null

comment

'使用者名稱不能為空');

--顯示建立表時的**

顧名思義:主要的鍵,primary key,在一張表中,有且只有乙個字段,裡面的值具有唯一性不能重複,主鍵的值不能為空

2.1、建立主鍵

1、在字段後增加 primary key

2、在所有字段後面增加 primary key (列名字)

基本語法:alter table 表名 add primary key(字段);

2.2、刪除主鍵

基本語法:alter table 表名 drop primary key;

刪除主鍵後,還會保留著 not null關鍵字,

2.3、復合主鍵

乙個表有多個主鍵

create

table score(

name varchar(10

),class varchar(20

),score int

,primary

key(name,class)

);

3.1、基本操作

自動增長:auto_increment,當給定某個欄位該屬性之後,該列的資料在沒有提供確定資料的時候,系統會根據之前已經存在的資料進行自動增加後,填充資料。比如從1、2、3……

可以看見,jack沒有輸入id,但是因為有自增長,所以系統會自動幫我們補充進去

3.2、修改自增長

這個可以看出,再進行輸入時,下一次會自動變成3,但是如果我想下一次變成5可不可以

alter table 表名 auto_increment = 值;.

注意,修改這個值只能上公升不能下降

3.3、刪除自增長

就是修改這個欄位不保留auto_increment 就行

alter

table my_auto modify id int

3.4、重置自增長

比如乙個表全部清空刪除後,其自增長的值還保留著,但是表已近空了要從1開始,這時候就要重置自增長

使用方法:truncate 表名;

其作用相當於刪除自增長再新建乙個自增長

唯一鍵:unique key,用來保證對應的字段中的資料唯一的,就是說非空不允許重複。可以在表中有多個唯一鍵。

4.1、建立唯一鍵

和建立主鍵一樣,只不過是把primary key換成unique key就行。

4.2、刪除唯一鍵

刪除的基本語法:alter table 表名 drop index 唯一鍵名字;

4.3、復合唯一鍵

和主鍵的復合方法一樣

主鍵 唯一鍵 唯一索引區別

主鍵 1.可以定義一列或多列為主鍵。不允許空 null 主健可作外健,唯一索引不可 2.定義乙個主鍵將自動建立主鍵索引,主鍵索引是唯一索引的特殊型別。唯一鍵 唯一性約束 1.唯一性約束用來限制不受主鍵約束的列上的資料的唯一性,用於作為訪問某行的可選手段,指定列上都不允許有相同的值,允許空 null ...

ORACLE 約束(主鍵 唯一鍵 )

一.主鍵約束 alter table add constraint primary key 1.外部定義 alter tablestudentadd constraintpk idprimary key st id 2.行級定義 create table student st id number 4...

SQL 關於主鍵和自增長標識列的修改

這篇文章我總結下在使用sql查詢或修改資料庫的時候經常會碰到的兩個問題,以及對這兩個問題解決方法。開頭先宣告下我使用的開發環境是sql server 2008。一 對主鍵的修改 主鍵值都會帶有主鍵約束,當執行update操作或是其他操作的時候就會受到限制無法修改,解決的方法是 取消主鍵約束 刪掉主鍵...