人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

MySQL數(shù)據(jù)庫(kù)操作DML?插入數(shù)據(jù),刪除數(shù)據(jù),更新數(shù)據(jù)

發(fā)布日期:2022-07-15 19:14 | 文章來(lái)源:源碼之家

DML介紹

DML是指數(shù)據(jù)操作語(yǔ)言,英文全稱是Data Manipulation Language,用來(lái)對(duì)數(shù)據(jù)庫(kù)中表的數(shù)據(jù)記錄進(jìn)行更新。

關(guān)鍵字:

  • 插入insert
  • 刪除delete
  • 更新update

數(shù)據(jù)插入

insert into 表 (列名1,列名2,列名3...) values (值1,值2,值3...); //向表中插入某些
insert into 表 values (值1,值2,值3...); //向表中插入所有列

這里的兩種方式,第一種需要指定插入的列,有時(shí)候,我們需要把某些值賦值為NULL,不需要插入這些為空的數(shù)據(jù),那么此時(shí)第一個(gè)方式就比較好。

insert into student(sid,name,gender,age,birth,address,score) values(1001,'王小王-123','男',18,'1996-12-23','北京',83.5);

如果要使用第二種方式就需要,將所有的數(shù)據(jù)全部填充,少一個(gè)也不可以的

數(shù)據(jù)修改

首先我們準(zhǔn)備數(shù)據(jù):

update 表名 set 字段名=值,字段名=值...;
update 表名 set 字段名=值,字段名=值... where 條件;

第一種方法會(huì)將所有的列進(jìn)行修改,而第二種只會(huì)通過(guò)where條件進(jìn)行匹配到對(duì)應(yīng)的數(shù)據(jù)進(jìn)行修改

-- 將所有學(xué)生的地址修改為重慶
update student set address = '重慶';
-- 講id為1004的學(xué)生的地址修改為北京
update student set address = '北京' where id = 1004
-- 講id為1005的學(xué)生的地址修改為北京,成績(jī)修成績(jī)修改為100
update student set address = '廣州',score=100 where id = 1005

數(shù)據(jù)刪除

delete from 表名 [where 條件];
truncate table 表名 或者 truncate 表名

注意這里的兩種語(yǔ)法雖然都是對(duì)數(shù)據(jù)進(jìn)行刪除,但是二者的內(nèi)部方法卻是不一樣的;

truncate和delete只刪除數(shù)據(jù)不刪除表的結(jié)構(gòu);drop刪除表的結(jié)構(gòu)被依賴的約束(constrain),觸發(fā)器(trigger),索引(index),依賴于該表的存儲(chǔ)過(guò)程/函數(shù)將保留,但是變?yōu)閕nvalid(無(wú)效的)狀態(tài)

  • 1、delete一般用來(lái)刪除表中的某一條或者一行數(shù)據(jù),在不設(shè)置WHERE條件下可以刪除表中的所有信息,將該操作保存在事務(wù)日志中在以后需要的時(shí)候還可以進(jìn)行回滾操作。對(duì)表執(zhí)行delete之后,該表不會(huì)減少表或者索引所占用的空間。也就是說(shuō)還可以恢復(fù)
  • 2、truncate是清空的意思,從字面就可以理解為一次刪除就可以將表里的數(shù)據(jù)全部清除,沒有回滾操作。對(duì)表執(zhí)行truncate之后,表和索引就會(huì)恢復(fù)到初始的大小,但是對(duì)于delete刪除之后,索引會(huì)接著上面的繼續(xù)創(chuàng)建,這就是二者的本質(zhì)區(qū)別
  • 3、drop可以將表的結(jié)構(gòu)和數(shù)據(jù)內(nèi)容都刪除。對(duì)表執(zhí)行drop之后,該表所占用的空間全部釋放。
  • 4、delete和truncate都是對(duì)數(shù)據(jù)進(jìn)行操作,區(qū)別是范圍不同。delete可以針對(duì)數(shù)據(jù)中的table、view兩種類型。而truncate只能針對(duì)table類型。
  • 5、速度上:drop>truncate>delete;
  • 6、在沒有備份的時(shí)候,尤其小心使用drop和truncate,刪除部分?jǐn)?shù)據(jù)行用delete帶上where子句,回滾段要足夠大。刪除表用drop。想要保留表而將所有數(shù)據(jù)刪除,如果和事務(wù)無(wú)關(guān),用truncate即可,如果和事務(wù)有關(guān),或者想觸發(fā)trigger,還是用delete。如果是整理表內(nèi)部的碎片,可以用truncate跟上reuse stroage,再重新導(dǎo)入/插入數(shù)據(jù)
  • 7、delete是DML(數(shù)據(jù)操作語(yǔ)言)語(yǔ)句,執(zhí)行后不會(huì)自動(dòng)提交;drop、truncate都是DDL(數(shù)據(jù)定義語(yǔ)言)語(yǔ)句,執(zhí)行后會(huì)自動(dòng)提交。
-- 1.刪除sid為1004的學(xué)生數(shù)據(jù)
delete from student where sid = 1004;
-- 2.刪除表所有數(shù)據(jù)
delete from student;
-- 3.清空表數(shù)據(jù)
truncate table student;
truncate student;

到此這篇關(guān)于MySQL數(shù)據(jù)庫(kù)操作DML 插入數(shù)據(jù),刪除數(shù)據(jù),更新數(shù)據(jù)的文章就介紹到這了,更多相關(guān)MySQL數(shù)據(jù)庫(kù)操作DML 內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

香港服務(wù)器租用

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部