DML指的是數(shù)據(jù)操作語言(Data Manipulation Language),是SQL(結(jié)構(gòu)化查詢語言)的一個(gè)子集,用于操作關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)。DML命令用于插入、更新、刪除和檢索數(shù)據(jù)庫中的數(shù)據(jù)。
最常用的DML命令包括:
NSERT:用于插入新數(shù)據(jù)
UPDATE:用于更新現(xiàn)有數(shù)據(jù)
DELETE:用于刪除現(xiàn)有數(shù)據(jù)
插入數(shù)據(jù)
語法
INSERT INTO 表名(列名1,列名2 ...)VALUES(列值1,列值2...);注意:列名與列值的類型、個(gè)數(shù)、順序要一一對應(yīng)。
可以把列名當(dāng)做java中的形參,把列值當(dāng)做實(shí)參。值不要超出列定義的長度。如果插入空值,請使用null插入的日期和字符一樣,都使用單引號(hào)括起來。
實(shí)戰(zhàn)
語法
insert into 新表 select 列 from 已有表
實(shí)戰(zhàn)
注意事項(xiàng)
1.mysql不支持select into
2.在復(fù)制時(shí)是按照列的順序依次進(jìn)行
3.新表的列與原來表的列的名字,類型都可以不一樣,照樣復(fù)制成功.但是會(huì)出現(xiàn)數(shù)據(jù)轉(zhuǎn)換錯(cuò)誤.具體的:名字不一樣,問題不大.類型不一樣,出現(xiàn)錯(cuò)誤,比如將int型的數(shù)據(jù)強(qiáng)制轉(zhuǎn)換成varchar型,會(huì)顯示0,反之亦然
刪除數(shù)據(jù)
DELETE 和 TRUNCATE
delete刪除表中的數(shù)據(jù),表結(jié)構(gòu)還在;刪除的數(shù)據(jù)可以恢復(fù)。
truncate是直接將表DROP掉,然后再按照原來的結(jié)構(gòu)重新創(chuàng)建一張表。數(shù)據(jù)不可恢復(fù)。
truncate刪除效率比delete高。
where子句
剛才的刪除語句,將表中的全部的數(shù)據(jù)都刪除掉了。那么,如果需要按照條件進(jìn)行刪除呢?
此時(shí),可以使用關(guān)鍵字where,來進(jìn)行條件的約束,篩選出滿足條件的數(shù)據(jù)進(jìn)行操作。而且,where并不僅僅作用在刪除的時(shí)候,還可以作用在修改和查詢的部分。
修改數(shù)據(jù)
語法
UPDATE 表名 SET 列名1=列值1,列名2=列值2 。。。 WHERE 列名=值
實(shí)戰(zhàn)