菜鳥學SQL之——DML語言的學習(MySQL)

DML語言的學習

數據操作語言(DML):

  • 插入:insert into
  • 修改:update…set
  • 刪除:delete from

一、插入語句

1.插入方式一(常用。支持插入多行、支持子查詢):

語法:insert into 表名(列名 , …) values(值,…);

insert into 表名[(字段名,字段名,字段名...)] [value|values] (字段值,字段值,字段值...);//名-值要一一對應

要求:

  • 插入的值的類型要與列的類型一致或兼容

  • 不可以爲null的列必須插入值,可以爲null的列如何插入值?(要麼列名和值都省略,要麼列名寫着,值填爲null)

  • 列的順序可以亂序寫,但列名和值要一一對應

  • 列數和值的個數必須一致

  • 可以省略列名,默認所有列,而且列的順序和表中列的順序一致(表中有多少字段,就需要放多少字段值)

  • 被設置爲主鍵的字段的值在一張表裏是不可重複的!

  • values和value沒有太大區別,就是爲了區分批量插入的(一次插入多行)

支持子查詢,例如插入多行數據

insert into tb_employees
select 1,'a','a','a',985 union
select 2,'b','b','b',211 union
...
2.插入方式二:

語法:insert into 表名 set 列名=值,列名=值,…

二、修改語句

語法:update 表名 set 列=新值,列=新值,… where 篩選條件;

update 表名 set 字段 = 值 where 條件;
update tb_use set name = 'hahah',pwd = '12345' where id = 2;

三、刪除語句

方式一:delete

語法:delete from 表名 where 篩選條件

delete from tb_user where id = 1;
delete from tb_user; #清空表
方式二:truncate(清空表)

語法:truncate table 表名

truncate table tb_employee;

對比:

  • delete可以加where條件,truncate不可以

  • 假如要刪除的表中有自增長列,用delete刪除數據後,再插入數據,自增長列的值從斷點開始。而用truncate刪除後,再插入數據,自增長列的值從1開始。

  • delete刪除有返回值,truncate刪除沒有返回值

  • truncate刪除不能回滾,delete刪除可以回滾

爲啥DML內容這麼少🤔。沒錯,sql語言的重點就在於一句話查詢語句,所以主要重點是查詢。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章