MySQL 操作命令 2 字段 屬性 約束

2021-08-19 18:39:08 字數 1817 閱讀 5284

1、非空約束

要求插入記錄的時候,該欄位不得為null。

寫法:在字段後面寫上not null。

2、唯一性約束

多條記錄的某個字段不得重複。

約束id欄位不得重複  create table t3(id int,name varchar(10),unique uk1(id));

可以對多個字段進行唯一性限定,只有這些欄位都相同的時候,才認為違反約束。

3、主鍵約束

一張條裡用某個欄位來唯一的識別某條記錄。例如,學號。

主鍵=非空+唯一性。

create table t4(id int,name varchar(10),score int,primary key pk(id));

主鍵可以建立在多個欄位上。但每個表只能有乙個主鍵。

4、外來鍵約束

在插入記錄到某張表中時,要求某個字段必須要從另一張表中的字段選取。

也就是另一張表的某個欄位的所有值是乙個集合,這張表必須從該集合中選乙個,不得超出集合。

create table chengji(id int,score int,foreign key fk1(id) references t4(id));

chengji表中的id必須從t4表中選取。

提供集合的表稱為主表,建立了外來鍵約束的表稱為從表。要求主表的那個字段必須為主鍵,也就是非空+唯一。

外來鍵約束特點:主表中已被從表引用的記錄,不能先刪除,要先刪從表的,再刪主表。

在外鍵約束後面加上on delete cascade,就可以在刪除主表記錄的時候,順便刪除從表的相關記錄。

create table chengji(id int,score int,foreign key fk1(id) references t4(id) on delete cascade);

5、預設值

如果某條記錄的某個欄位未賦值,則使用預設值填充。

6、無符號型別、0填充、使用中文

無符號型別:資料型別後加unsigned

資料型別不滿的位置用0填充:zerofill

使用中文時最後新增character set utf8

create table t11(id int unsigned zerofill, name char(30) default '無名氏') character set utf8;

Django學習筆記(2)字段屬性和選項

1 不能是python保留關鍵字 2 不允許使用連續的下劃線 3 定義屬性時需要制定字段型別,通過字段型別的引數指定選項,語法如下 屬性名 models.欄位型別 選項 引入django.db.models from django.db import models autofield 自動增長的in...

Yii 2 字段校驗

開發web應用有乙個很重要的原則,就是不要相信任何輸入的資料,在使用之前必須要進行有效性檢查,否則很有可能會引發各種安全性問題。yii 2當然也不會忽略這個問題,提供了校驗器這一有力的工具,該工具可同時提供客戶端和伺服器端的資料校驗。在model內,過載rules 介面,配置每個欄位的規則,如下 以...

mysql欄位公式 MySQL(四)欄位及常用函式

一 字段 資料庫表中的每一行叫做乙個 記錄 每乙個記錄包含這行中的所有資訊,但記錄在資料庫中並沒有專門的記錄名,常常用它所在的行數表示這是第幾個記錄。在資料庫中存放在表行列交叉處的資料叫做 值 它是資料庫中最基本的儲存單元,它的位置要由這個表中的記錄和字段來定義。1 字段 filed 與物件或類關聯...