資料庫基礎04 DML 增刪改

2021-09-02 22:37:09 字數 1722 閱讀 7044

語法:

insert

into 表名(列名1,列名2,列名3..)

values

(值1,值2,值3..)

;--向表中插入某些列

insert

into 表名 values

(值1,值2,值3..)

;/*向表中插入所有列,一般少用,盡量用上一種,因為即使表結構改了上一種也能用*/

如果要省略部分列就要保證,這些列可以為null或者建表的時候設定了預設值。

注意:

mysql>

insert

into stu values

(null

,'辛棄疾'

,default,66

),(null

,'岳飛'

,'河南',77

);query ok,

2rows affected (

0.00 sec)

records: 2 duplicates: 0

warnings: 0

注意:insert select,它可以用一條insert插入多行,不管select語句返回多少行,都將被 insert 插入。

insert

into 表名1

[(列名1,列名2...

)]-- 可選插入部分列 或者所有列

select[*

|(列名1,列名2...

)]--這裡查詢的列名要和插入的一一對應

from 表名2

[where 條件]

例如:

insert

into customers(cust_id,

cust_contact,

cust_email,

cust_name,

cust_address)

select cust_id,

cust_contact,

cust_email,

cust_name,

cust_address

from custnew;

update 表名 set 欄位名=值,欄位名=值...

;--更新所有行

update 表名 set 欄位名=值,欄位名=值...

where 條件;--更新特定行

注意:

使用update 時一定要加 where 條件,如果不加條件就會將整個表的字段更新。所以一定一定一定加條件

delete

from 表名 [

where 條件]

/*如果不帶where 條件就是刪除所有行,如果帶where 就是刪除特定行*/

刪除表中所有記錄用delete from 表名;還是用 truncate table 表名?

注意:delete 是一條一條的刪除,不親空 auto_increment記錄數。

​ truncate是直接將整張表刪除,重新建表,auto_increment 將重置為0。 所以刪除效率更高。

事務方面:delete 刪除的資料,如果在乙個事務內是可以找回,但是truncate 刪除的資料是不可以找回的。

update 或 delete 時所遵循的重要原則:

資料庫增刪改操作(DML)

dml 插入語句 插入語句 一次插入操作只插入一行.insert into table name column1,column2,column3.values value1,value2,value3.1 一般插入操作一次只能插入一行,但 mysql 可以一次插入多條資料記錄 mysql 特有 in...

MySQL資料庫基礎 DML資料的增刪改

資料的dml操作 新增資料,修改資料,刪除資料 新增資料 格式 insert into 表名 字段列表 values 值列表.標準新增 指定所有字段,給定所有的值 mysql insert into stu id,name,age,classid values 1,zhangsan 20,m lam...

DML 資料庫操作語言 增刪改

刪除語句 delete truncate insert into 表名 欄位1 欄位2 欄位3,values 值1 值2 值3 注意 使用語句如何增加語句?語法 insert into 表名 欄位1,欄位2,欄位3,values 值1 值2 值3 insert into grade gradenam...