5_MySQL 表的欄位約束
有無符號宣告
unsigned 無符號(給數值型別使用,表示為正數,不寫可以表示正負數都可以)
字串長度宣告
欄位型別後面加括號限制寬度 :在字元型別後面加限制表示字串的長度
char(5).
varchar(7)
數值型長度宣告
int(4) 沒有意義,預設無符號的 int 為 int (11),有符號的 int (10)
int(4) unsigned zerofill 只有當給 int 型別設定有前導零時,設定 int 的寬度才有意義
是否為空宣告
not null 不能為空,在運算元據庫時如果輸入該欄位的資料為 NULL ,就會報錯
預設值宣告
default 設定預設值
主鍵宣告
primary key 主鍵不能為空,且唯一 [ 一般和自動遞增一起配合使用 ]
表中每一行都應該有可以唯一標識自己的一列,用於記錄兩條記錄不能重複,任意兩行都不具有相同的主鍵值
應該總是定義主鍵 雖然並不總是都需要主鍵,但大多數資料庫設計人員都應保證他們建立的每個表具有一個主鍵,以便於以後的資料操縱和管理
要求:
- 記錄一旦插入到表中,主鍵最好不要再修改
- 不允許 NULL
- 不在主鍵列中使用可能會更改的值
- 自增整數型別:資料庫會在插入資料時自動為每一條記錄分配一個自增整數,這樣我們就完全不用擔心主鍵 重複,也不用自己預先生成主鍵
- 可以使用多個列作為聯合主鍵,但聯合主鍵並不常用。使用多列作為主鍵時,所有列值的組合必須是唯一的
遞增宣告
auto_increment 定義列為自增屬性,一般用於主鍵,數值會自動加 1
索引是否唯一宣告
unique 唯一索引(資料不能重複:使用者名稱)可以增加查詢速度,但是會降低插入和更新速度
MySQL 的運算子
-
算術運算子: +、 -、 *、 /、 %
-
比較運算子: =、 >、 <、 >=、 <=、!=
-
資料庫特有的比較: in、not in、is null、is not null、like、between、and
-
邏輯運算子: and、or、not
-
like: 支援特殊符號%和_
其中%表示任意數量的任意字元,_表示任意一位字元
相關文章
- MySQL 欄位約束MySql
- Django模型之欄位與約束Django模型
- 在 SQL Server 中,建立表時可以直接為欄位新增唯一約束(UNIQUE)SQLServer
- 資料庫中欄位資料型別以及約束資料庫資料型別
- MySQL學習筆記4:完整性約束限制欄位MySql筆記
- 表的完整性約束
- 表單欄位
- 【SQL】15 SQL 約束(Constraints)、NOT NULL 約束、UNIQUE 約束、PRIMARY KEY 約束、FOREIGN KEY 約束、CHECK 約束、DEFAULT約束SQLAINull
- SQLite語句(一):表的操作和約束SQLite
- MySQL 更新一個表裡的欄位等於另一個表某欄位的值MySql
- oracle 修改表欄位的長度Oracle
- 約束
- 生成指令碼,得到所有表的外來鍵約束,然後刪除並重建這些約束指令碼
- Javaweb-約束-外來鍵約束JavaWeb
- SQL Server 資料表程式碼建立約束SQLServer
- 查詢資料庫表及表欄位資料庫
- mysql建立表的時候對欄位和表新增COMMENTMySql
- 約束CONSTRAINTAI
- 03約束
- MySQL 約束MySql
- SQL約束SQL
- MySQL——表的約束,資料型別,增刪查改MySql資料型別
- 共有的表單欄位屬性
- SQLServer2012刪除表欄位SQLServer
- 泛型的約束理解泛型
- 包括clob segment 大欄位 表的大小統計
- Sql查詢 一個表中某欄位的資料在另一個表中某欄位中不存在的SQL
- 主鍵約束、唯一約束和唯一索引索引
- (10)邏輯綜合新增約束(環境約束)
- mysql表操作(alter)/mysql欄位型別MySql型別
- mysql修改表欄位學習筆記MySql筆記
- MySQL 更新同一個表不同欄位MySql
- postgresql單個表可以有多少欄位SQL
- 資料庫表欄位命名規範資料庫
- Laravel-admin 給表單追加欄位Laravel
- 約束介紹
- 差分約束
- 綜合約束