02 MySql入門學習 約束

2021-08-28 07:54:10 字數 1292 閱讀 6926

約束是一種限制,通過對錶行或列的資料做出限制,來確保資料的完整性和唯一性等

作用:限制某乙個字段不能為空

語法:欄位名  型別(長度) not null,

圖形介面操作:

作用:限制列(該欄位)的值只能是唯一的,該列不能出現重複的值

語法:字段 型別(長度)unique,

圖形介面操作:無

作用:表示字段唯一且非空

語法:字段 型別(長度)primary key

圖形化介面操作:

注意:

主鍵的設計一般來說是選取某一列作為主鍵【推薦】

選取多列作為主鍵稱之為復合主鍵【不推薦】

自然主鍵: 你的主鍵是有業務意義的,比如:身份證號等

**主鍵:它沒有任何意義(都使用**主鍵) 

本質:通過乙個欄位與其他的表建立聯絡,保證資料的完整性

簡單的說:a表a欄位取值是b表的主鍵【b欄位】,那麼b欄位是a表的外來鍵

乙個表可以有多個外來鍵

注意:一般乙個系統,不會使用外來鍵

語法:alter table 表名 engine='innodb';   //修改引擎(引擎看01_mysql入門學習)

//sql語句建立外來鍵

alter table 表名

add constraint 外鍵名 foreign key (主表字段) references 從表(從表主鍵);

圖形化操作

設計表——外來鍵——》欄目(需要給哪乙個字段新增)參考資料庫、參考表(b表)、參考字段(一般b表主鍵)

當前列若沒有值存入,則使用定義好的預設值,使用關鍵字default

語法:欄位名  型別(長度) default 預設值,

圖形化操作:

MYSQL學習02 MySQL基礎操作

學習sql的基本查詢。語法 select column 1,column 2,from table 1 inner left right join table 2 on conditions where conditions group by column 1 h ing group conditi...

02 mysql連線階段

連線階段執行以下任務 交換客戶端和伺服器的功能 capabilities 如果需要,設定ssl通訊通道 根據伺服器驗證客戶端 初始握手開始於伺服器傳送initial handshake packet給客戶端。此後,可選地,客戶端可以請求使用ssl connection request packet建...

資料庫學習筆記 02 MySQL資料庫入門

數值類 tinyint int float double 文字類 text tinytext longtext 二進位制 blob 會降低資料庫的使用效率,通常採用以下方法 timestamp 時間戳,預設可以設定current timestamp,這樣可以幫助我們記錄當前時間 例如 使用者的登陸時...