DML指的是數(shù)據(jù)操作語言(Data Manipulation Language),是SQL(結(jié)構(gòu)化查詢語言)的一個子集,用于操作關(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...);注意:列名與列值的類型、個數(shù)、順序要一一對應(yīng)。
可以把列名當做java中的形參,把列值當做實參。值不要超出列定義的長度。如果插入空值,請使用null插入的日期和字符一樣,都使用單引號括起來。
實戰(zhàn)
語法
insert into 新表 select 列 from 已有表
實戰(zhàn)
注意事項
1.mysql不支持select into
2.在復(fù)制時是按照列的順序依次進行
3.新表的列與原來表的列的名字,類型都可以不一樣,照樣復(fù)制成功.但是會出現(xiàn)數(shù)據(jù)轉(zhuǎn)換錯誤.具體的:名字不一樣,問題不大.類型不一樣,出現(xiàn)錯誤,比如將int型的數(shù)據(jù)強制轉(zhuǎn)換成varchar型,會顯示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ù)都刪除掉了。那么,如果需要按照條件進行刪除呢?
此時,可以使用關(guān)鍵字where,來進行條件的約束,篩選出滿足條件的數(shù)據(jù)進行操作。而且,where并不僅僅作用在刪除的時候,還可以作用在修改和查詢的部分。
修改數(shù)據(jù)
語法
UPDATE 表名 SET 列名1=列值1,列名2=列值2 。。。 WHERE 列名=值
實戰(zhàn)