Mysql(3)

zenopan發表於2024-05-29

20240529

約束條件:限制表中的資料,保證資料的準確,可靠的規則

  1. not null /null

  2. unsigned

  3. zerofill

  4. unique:唯一資料

  5. primary key: 主鍵,便於查詢 =not null +unique

    1. 主鍵約束:新增的約束規則
    2. 主鍵欄位:新增了主鍵約束的欄位
    3. 主鍵值:主鍵欄位的值
    4. 主鍵的作用:自動新增索引-index,主鍵值是當前資料的唯一標識
    5. 單一主鍵:列級約束
      1. create table ''(id int primary key)
      2. create tatle ''(id int,constraint user_id_k primary key(id))#重新命名主鍵為user_id_k
    6. 複合主鍵:表級約束
      1. create table ''(id int primary key)
      2. create table ''(id int,name varchar(32),constraint user_id_k primary key(id,name))#重新命名主鍵為user_id_k
    7. foreign key:外來鍵,便於表之間建立關聯關係
      1. 外來鍵約束:欄位外來鍵的約束規則
      2. 外來鍵欄位:新增外來鍵約束規則的欄位
      3. 外來鍵值
      4. 外來鍵關係:
        1. 一對一:外來鍵關係建議建立在使用頻率高的表上
        2. 一對多(單向):外來鍵關係建立在"多"中
          1. 先建立一
          2. 建立多:指定外來鍵
          3. 給1插入資料
          4. 給多插入資料
        3. 多對多(雙向)
          1. 建立1.2表
          2. 建立第三方表,透過第三表來儲存關聯關係
      5. 外來鍵建立語法
        1. create table ''()#建立表1
        2. create table ""(,foreignkey(..) references ''...)#建立表2 ,指定外來鍵關係
      6. 級聯更新、刪除
        1. foreignkey(..) references ''... on update cascade
        2. foreignkey(..) references ''... on delete cascade
    8. 自然主鍵和業務主鍵
    --檢視當前表的欄位限制
    show databases;
    use information_schema;
    show tables;
    desc table_constrains;
    select constrains_name from table_constrains where table_name ='當前表名'
    

    過濾條件

    1. where:對整體資料的篩選條件
      1. 新增:=/is
      2. 與條件:and/between...and...
      3. 或條件:or/ in ()
      4. 模糊:.. like'%..%'
      5. 長度條件:char_length(..)=../ .. like '__________'
      6. 取反: not
    2. group by:透視(分組檢視)
      1. select ..,.. from '' group by ..#group by後面的欄位必須在select裡
      2. select max(..)
      3. select .. as ..
      4. select min(..)
      5. select avg(..)
      6. select sum(..)
      7. select count(..)
      8. group_concat(..,..):聚合函式的具體值,可以拼接
      9. concat:沒有分組資料的拼接
    3. having:分組之後的篩選,功能同where
    4. distinct:去重
      1. select distinct ..,.. from ''
    5. order by:排序
      1. select * from '' order by .. ,.. asc/desc;

相關文章