iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 14
2
自我挑戰組

網頁服務開發之路系列 第 14

MySQL

學習資源

工具

CRUD 與資料維護

取得表格資訊

  1. DESCRIBE: 取得某個表格的結構資訊

新增

  1. INSERT: 要特別注意表格的欄位個數與順序
    INSERT INTO _jiajun_test VALUES (60, 60);
    
    1. NOTE: DEFAULT
    2. 發生錯誤的情境:
      1. 欄位數錯誤
      2. 欄位順序錯誤
  2. 指定欄位輸入: 沒有依照自己指定的欄位個數與順序,也是錯誤
    INSERT INTO _jiajun_test (ID, name)
    VALUES ('001', 'JJ')
    
  3. 第三種新增的語法
    INSERT INTO _jiajun_test
    SET ID = 001, name = 'JJ'
    

同時新增多筆

INSERT INTO _jiajun_test VALUES
(001, 'JJ'),
(002, 'KK'),
(003, 'QQ')

索引值與ON DUPLICATE KEY UPDATE

  1. 視需要在最後搭配一串關鍵字「ON DUPLICATE KEY UPDATE」,用來指定在違反重複索引值的規定時要執行的修改
  2. 語法
    INSERT INTO cmdev.travel
    VALUES (7900, 'BOSTON')
    IN DULOCATE KEY UPDATE counter = counter + 1
    

「REPLACE」敘述

  1. 「REPLACE」敘述在沒有違反索引值的規定時: 效果跟「INSERT」敘述一樣,同樣會新增紀錄到表格中。
  2. 違反primary key 時:
    1. 「INSERT」敘述搭配「IGNORE」關鍵字的時候,不會發生錯誤也不會新增資料
    2. 「REPLACE」敘述的話,它會執行修改紀錄的動作

修改

  1. UPDATE: 通常搭配 WHERE,指定要修改的紀錄
  2. 語法
    UPDATE cmdev.emp
    SET salary = salary + 100
    WHERE salary < 1500
    
  3. 搭配「ORDER BY」與「LIMIT」

刪除

  1. 語法:
    DELETE [IGNORE] FROM 表格名稱
    [WHERE 條件]
    [ORDER BY 排序]
    [LIMIT 限制]
    
  2. TRUNCATE:刪除表格中的所有記錄,效率比DELETE好,語法
    TRUNCATE TABLE cmdev.emp
    

上一篇
MySQL query
下一篇
Day 15. MySQL 字元集與資料庫
系列文
網頁服務開發之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言