1. 程式人生 > >MySQL基礎系列之 DML資料操作語句CRUD大全

MySQL基礎系列之 DML資料操作語句CRUD大全

CRUD是指在做計算處理時的增加(Create)、讀取查詢(Retrieve)、更新(Update)和刪除(Delete)幾個單詞的首字母簡寫。CRUD主要被用在描述軟體系統中資料庫或者持久層的基本操作功能
下文中所用的表建立如下:
CREATE TABLE tb_goods(
id int not null auto_increment,
goodsname varchar(20) COMMENT ‘商品名稱’,
price DECIMAL(9,2),
PRIMARY KEY (id)
)
插入資料標準方式
insert into 表名(欄位名,欄位名,…) values(值,值,…)
insert into tb_goods(goodsname,price) value(‘蘋果’,9.99);

插入多條資料
insert into 表名(欄位名,欄位名,…) values(值,值,…),(值,值)
insert into tb_goods(goodsname,price) values(‘蘋果’,9.99),(‘香蕉’,8.99);

單個欄位插入 set語法 insert into 表名 set 欄位=值,欄位=‘值’,…;
insert into tb_goods set goodsname=‘火龍果’,price=6.66;

複製舊錶的資料到新表(假設兩個表結構一樣)
INSERT INTO 新表 SELECT * FROM 舊錶

複製舊錶的資料到新表(假設兩個表結構不一樣)


INSERT INTO 新表(欄位1,欄位2,…) SELECT 欄位1,欄位2,… FROM 舊錶

複製舊錶的資料到新表且帶其他常量
INSERT INTO 新表(欄位1,欄位2,欄位3,…) SELECT 欄位1,欄位2,‘常量值’,… FROM 舊錶
REPLACE INTO 是先判斷表中主鍵 或唯一索引 是否和插入的資料欄位有相同的值
值一樣的資料它就是修改該資料(先刪除) 如果不一樣則插入一條新資料。
REPLACE INTO tb_goods(1,‘芒果’,8.77);
REPLACE INTO tb_goods(id,goodsname,price) value(1,‘芒果’,8.99);
ON DUPLICATE KEY UPDAT插入資料 存在則更新
INSERT INTO tb_goods(id,goodsname) values(1,‘瓜’) ON DUPLICATE KEY UPDATE goodsname=‘西瓜’;

查詢資料通用語句
SELECT column_name FROM table_name
[WHERE Clause][LIMIT N][ OFFSET M]
查詢語句中你可以使用一個或者多個表,表之間使用逗號(,)分割,並使用WHERE語句來設定查詢條件。
SELECT 命令可以讀取一條或者多條記錄。
可以使用星號(*)來代替其他欄位,SELECT語句會返回表的所有欄位資料
可以使用 WHERE 語句來包含任何條件。
可以使用 LIMIT 屬性來設定返回的記錄數。
可以通過OFFSET指定SELECT語句開始查詢的資料偏移量。預設情況下偏移量為0。

更新通用語句
UPDATE table_name SET field1=value1 [WHERE Clause]

刪除資料通用語句
DELETE FROM table_name [WHERE Clause]
delete,drop,truncate 都有刪除表的作用,區別在於:
1、delete 和 truncate 僅僅刪除表資料,drop 連表資料和表結構一起刪除
2、delete 是 DML 語句,操作完以後如果不想提交事務還可以回滾,truncate 和 drop 是 DDL 語句,操作完馬上生效,不能回滾。
3、 執行的速度上,drop>truncate>delete