MYSQL中列約束

2021-10-09 22:21:38 字數 2051 閱讀 4859

mysql可以對要插入的資料進行特定的驗證,只有滿足條件才允許插入,否則被認為非法的插入。例如編號不能出現重複,性別只能是男或者女,工資只能是正數

create  table  t3(

id int 列約束

);

(1)主鍵約束-primary key

宣告了主鍵約束的列上不允許插入重複的值,乙個表中只能有乙個主鍵約束,通常是加在編號列,會加快資料的查詢速度。

family,包含有fid,類別名稱fname,插入以下資料 10 聯想 20 戴爾 30 小公尺;

建立儲存筆記本資料的表laptop,包含有lid,標題title,**price,規格spec,

詳情detail,上架時間shelftime,是否在售isonsale,所屬類別編號familyid,

插入若干條資料;每個都使用主鍵約束

#設定客戶端連線伺服器端的編碼

set names utf8;

#丟棄資料庫,如果存在

drop database if exists xz;

#建立資料庫,設定編碼

create database xz charset=utf8;

#進入資料庫

use xz;

#建立儲存筆記本類別的表

create table family(

fid int primary key,

fname varchar(16)

);#插入資料

insert into family values(10,'聯想');

insert into family values(20,'戴爾');

insert into family values(30,'小公尺');

#建立儲存筆記本資料的表

create table laptop(

lid int primary key,

title varchar(128),

price decimal(7,2), #99999.99

spec varchar(64),

detail varchar(5000),

shelftime date,

isonsale boolean,

familyid int

);#插入資料

insert into laptop values(1,'小公尺air',3799,'開發版','詳情1','2020-1-1',1,30);

null,空,表示乙個無法確定的值,例如暫時無法確定商品的**,無法確定乙個員工的**...

主鍵約束的列上不允許為空

null是關鍵字,不能加引號

(2)非空約束-not null

宣告了非空約束的列上禁止插入null

(3)唯一約束-unique

宣告了唯一約束的列不允許出現重複的值,允許插入null,甚至多個null

可能會影響排序

兩個null之間不能劃等號

(4)預設值約束-default

使用default關鍵字設定預設值,具體應用方式有兩種:

insert into laptop values(5,'小公尺air',default...);
(5)檢查約束-check

也稱為自定義約束,使用者可以自己指定約束條件

create table t1(

score tinyint check(score>=0 and score<=100)

mysql不支援檢查約束:影響資料的插入速度、對伺服器造成比較大的壓力

通過js就可以完成

(6)外來鍵約束

為了建立表之間的關聯,外來鍵約束列上的值,必須得在另乙個表的主鍵列**現過。

外來鍵列和對應的主鍵列的列型別要保持一致。

foreign key(外來鍵列) references 另乙個表(主鍵列)

#將familyid作為外來鍵,取值範圍到family表的fid列

foreign key(familyid) references family(fid)

mysql列型別 列約束

mysql伺服器端資料的邏輯結構 server database table row column 1.常用的sql語句 1 增 insert into 表 values 值,值,2 刪 delete from 表 3 改 update 表 set 列 值,列 值 4 查 select from 表...

MySQL中的約束,列級約束,表級約束

總結了一些課上的筆記和 可以執行看看 約束的作用 一種限制,用於限制表中的資料,為了保證表中的資料的準確和可靠性。約束的分類 1.not null 非空,用於保證該字段的值不能為null 2.default 預設值,用於保證該字段在不設定具體的內容時,有乙個預設值。即開始存資料的時候不不傳也會有乙個...

mysql 列約束 MySQL 列級約束和表級約束

一,六大約束 not null 非空 primary key 主鍵 unique 唯一 check 檢查約束,mysql 不支援,語法不報錯但無效果 foreign key 外來鍵.限制兩表關係,通常在從表引入外來鍵約束,引入主表中某列的值,保證從表該字段的值必須 於主表關聯列的值 default預...