20240529
約束條件:限制表中的資料,保證資料的準確,可靠的規則
-
not null /null
-
unsigned
-
zerofill
-
unique:唯一資料
-
primary key: 主鍵,便於查詢 =not null +unique
- 主鍵約束:新增的約束規則
- 主鍵欄位:新增了主鍵約束的欄位
- 主鍵值:主鍵欄位的值
- 主鍵的作用:自動新增索引-index,主鍵值是當前資料的唯一標識
- 單一主鍵:列級約束
- create table ''(id int primary key)
- create tatle ''(id int,constraint user_id_k primary key(id))#重新命名主鍵為user_id_k
- 複合主鍵:表級約束
- create table ''(id int primary key)
- create table ''(id int,name varchar(32),constraint user_id_k primary key(id,name))#重新命名主鍵為user_id_k
- foreign key:外來鍵,便於表之間建立關聯關係
- 外來鍵約束:欄位外來鍵的約束規則
- 外來鍵欄位:新增外來鍵約束規則的欄位
- 外來鍵值
- 外來鍵關係:
- 一對一:外來鍵關係建議建立在使用頻率高的表上
- 一對多(單向):外來鍵關係建立在"多"中
- 先建立一
- 建立多:指定外來鍵
- 給1插入資料
- 給多插入資料
- 多對多(雙向)
- 建立1.2表
- 建立第三方表,透過第三表來儲存關聯關係
- 外來鍵建立語法
- create table ''()#建立表1
- create table ""(,foreignkey(..) references ''...)#建立表2 ,指定外來鍵關係
- 級聯更新、刪除
- foreignkey(..) references ''... on update cascade
- foreignkey(..) references ''... on delete cascade
- 自然主鍵和業務主鍵
--檢視當前表的欄位限制 show databases; use information_schema; show tables; desc table_constrains; select constrains_name from table_constrains where table_name ='當前表名'
過濾條件
- where:對整體資料的篩選條件
- 新增:=/is
- 與條件:and/between...and...
- 或條件:or/ in ()
- 模糊:.. like'%..%'
- 長度條件:char_length(..)=../ .. like '__________'
- 取反: not
- group by:透視(分組檢視)
- select ..,.. from '' group by ..#group by後面的欄位必須在select裡
- select max(..)
- select .. as ..
- select min(..)
- select avg(..)
- select sum(..)
- select count(..)
- group_concat(..,..):聚合函式的具體值,可以拼接
- concat:沒有分組資料的拼接
- having:分組之後的篩選,功能同where
- distinct:去重
- select distinct ..,.. from ''
- order by:排序
- select * from '' order by .. ,.. asc/desc;