本篇文章將介紹default 預設約束,如何使用和改動後的效果。
常用資料庫約束:
default 預設約束;
not null:非空約束,指定某列不為null;
unique:唯一約束,指定某列和幾列組合的資料不能重複;
primary key:主鍵約束,指定某列的資料非空、唯
一、不能重複;
foreign key:外來鍵,指定該列記錄屬於主表中的一條記錄,參照另一條資料;
check:檢查,指定乙個表示式,用於檢驗指定資料;
1、default 定義列的預設值
當插入乙個新行到表中時,沒有給該列明確賦值,如果定義了列的預設值,將自動得到預設值;如果沒有,則為(null)。-- 建立一張user表
create table `test`.`user`(
`id` int(11) not null auto_increment comment 'id',
`name` varchar(225) comment '姓名',
`***` tinyint(1) default 1 comment '性別 1男 0女',
primary key (`id`)
) engine=innodb charset=utf8 collate=utf8_general_ci
給字段新增預設約束:1.在建立表時:直接在字段型別的後面加上 default(value),具體看建立user表時的***字段;
2.在存在表的情況下新增:
使用sql語句 alter table `user` modify `***` tinyint(1) default 1; 即可為新增 `***` 字段新增預設約束;
使用sql語句 alter table `user` modify `name` varchar(225)default '小明'; 即可為新增 `name` 字段新增預設約束;
tips:預設約束是不可以使用函式的,所以 alter table `user` add column `date` datetime default now() after `***`; 是不可行的。
移除預設約束:移除預設約束和新增預設約束操作方式一樣,都是修改表的字段;
alter table `user` modify `***` tinyint(1);
這樣就移除了***的預設約束。
現在我們插入一條資料:insert into `user`(`name`) values('小明');
select * from `user`;
結果:id name ***
小明 1
當然我們也可以:insert into `user`(`name`,`***`) values('小明',default);
select * from `user`;
結果:id name ***
小明 1
如果你這樣:insert into `user`(`***`) values(default);
select * from `user`;
結果:id name ***
(null) 1
tips:在更新和查詢都可以用default來操作;-- 查詢***欄位的預設值 select default(`***`) from `user`;
-- 更新***為預設值 update `user` set `***` = default where `id`='1';
mysql怎麼約束 mysql 約束
4 約束 1 對乙個列新增的約束叫列級約束。對兩個或兩個以上的列新增的約束叫做表級約束。2 表級約束只能在字段後面新增,列級約束既可以新增在字段後面,也可以在最後新增。3 非空 預設只存在列級約束。主鍵 唯 一 外來鍵都既有表級約束又有列級約束。4 約束有 primary key 主鍵 unique...
mysql約束 MySQL 約束型別
約束是一種限制,它通過對錶的行或列的資料做出限制,來確保表的資料的完整性 唯一性。mysql中,常用的幾種約束 約束型別 主鍵外來鍵唯一非空自增預設值 關鍵字 primary key foreign key unique not null auto increment default 1 主鍵約束 ...
mysql中的預設約束 資料庫中預設約束的作用
1級2016 04 29 回答 資料庫約束是為了保證資料的完整性而實現的一套機制,它具體的根據各個不同的資料庫的實現而有不同的工具。一般來說有以下幾種實現方式 1 檢查約束 通過在定義資料庫表裡,在字段級或者是在表級加入的檢查約束,使其滿足特定的要求。比如以下的表定義 crate table stu...