Mysql表操作及六大約束

2021-09-29 17:38:25 字數 3206 閱讀 4270

動作

sql建立表

create table表名( 欄位名 欄位名型別(長度);....);

更新表名

rename table 舊表名 to 新錶名

更新欄位名

alter table 表名 change 舊欄位名 新欄位名 新欄位名型別(長度)

更新字段型別、null、預設值

alter table 表名 modif 欄位名 新字段型別(長度)

刪除字段預設值

alter table 表名 alter column 欄位名 drop default

設定主鍵

alter table 表名 add primary key (主鍵字段列表)

刪除主鍵

alter table 表名 drop primary key;

新增字段

alter table 表名 add column 新字段 字段型別及其他屬性;

刪除字段

alter table 表名 drop column 欄位名;

刪除表drop table 表名

修改庫字元編碼

alter database 庫名 character set utf8 collate utf8_general_ci;

修改表字元編碼

alter table 表名 character set utf8 collate utf8_general_ci;

這裡列出幾個比較常用的,以後有用到新的會繼續新增!

在建立表的時候可以使用 comment 進行字段、表的備註,not null 表示該欄位是非空(必填,不寫就非必填),default 『』 表預設值

主鍵:primary key (主鍵字段), 去規範乙個欄位的唯一性,且不可被更改的,自動進行索引,非空

自增長:auto_increment,新增在列上型別id,必須是鍵(主鍵或唯一),預設增長1初始值1,乙個表只能設定乙個

等等…約束條件.

create

table

`表名`

(`字段`

varchar(32

)not

null

default

'預設值'

comment

'字段注釋'

,`create_time`

timestamp(0

)not

null

default

current_timestamp

comment

'建立時間'

,`update_time`

timestamp(0

)not

null

default

current_timestamp

onupdate

current_timestamp(0

)comment

'修改時間'

,primary

key(

`主鍵字段`),

unique

key`uqe_欄位`

(`字段`),

key`idx_欄位`

(`字段`))

comment

='表注釋'

;

not null:非空約束,保證欄位不為空

`字段`

varchar(32

)not

null

default:預設約束,保證欄位有預設值,在非空條件下,也可以不填值

`字段`

varchar(32

)not

null

default

'預設值'

primary key:主鍵約束,保證欄位的唯一性、非空且不可被更改

constraint pk_主鍵字段 primary

key(

`主鍵字段`

),

primary

key(

`主鍵字段`

),

unique:唯一約束,保證欄位的唯一性,可以為空

constraint ud_唯一字段 unique

(`唯一字段`

),

unique

(`唯一字段`

),

check:檢查約束,【mysql不支援】

constraint ck_檢查字段 check

(條件)

,

foreign key:外來鍵約束,限制兩個表的關係,保證改字段在關聯主表裡面一定存在對應字段(主鍵或唯一鍵)

constraint fk_外來鍵字段 foreign

key(

`外來鍵字段`

)references 關聯表名(字段)

,

foreign

key(

`外來鍵字段`

)references 關聯表名(字段)

,

constraint 別名 可以省略,使用下面的更為簡便。

約束分類:

列級約束:

除了外來鍵其他都可以在列上進行約束

表級約束:

除了非空、預設值其他都可以在表上進行約束

SQL六大約束

該字段的值不能為空。如果插入資料時,該欄位沒有賦值,則為預設值。該欄位不能重複,且不能為空。比如學號。乙個表中只能有乙個主鍵約束。通過表級約束對兩個字段設定聯合主鍵 該字段值不能重複,可以為空,但只能有乙個null值。比如座位號。乙個表中可以有多個唯一約束。用於檢查字段值是否正確。比如檢查年齡是否規...

資料庫約束六大約束語句

新增 not null alter table user modify name varchar 20 not null 刪除 not null alter table user modify name varchar 20 新增 unique alter table user add unique...

mysql三大特性 三正規化 五大約束

1.資料庫的三大特性 實體 表 屬性 表中的資料 字段 關係 表與表之間的關係 2.資料庫設計三大正規化 a 確保每列保持原子性 即資料庫表中的所有字段值是不可分解的原子值 c 確保每列都和主鍵直接相關,而不是間接相關 在乙個資料庫表中儲存的資料只能與主鍵相關 消除傳遞依賴 間接 比如在設計乙個訂單...