溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Mysql數(shù)據(jù)庫(kù)值的添加、修改、刪除及清空的操作命令

發(fā)布時(shí)間:2021-06-21 09:29:21 來(lái)源:億速云 閱讀:334 作者:chen 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹“Mysql數(shù)據(jù)庫(kù)值的添加、修改、刪除及清空的操作命令”,在日常操作中,相信很多人在Mysql數(shù)據(jù)庫(kù)值的添加、修改、刪除及清空的操作命令問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Mysql數(shù)據(jù)庫(kù)值的添加、修改、刪除及清空的操作命令”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

3、MySQL數(shù)據(jù)管理

第一種方式:不太建議,看起來(lái)復(fù)雜些

-- 學(xué)生表的 gradeid 字段,要去引用 年級(jí)表的 gradeid
-- 定義外鍵key
-- 給這個(gè)外鍵添加約束,(執(zhí)行引用),REFERENCES 引用
key `FK_gradeid`(`gradeid`)
CONSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) REFERENCES `grade`(`gradeid`)

第二種方式:建議

-- 創(chuàng)建表成功后,添加外鍵約束
-- 創(chuàng)建表的時(shí)候沒(méi)有外鍵關(guān)系
ALTER TABLE `student`
ADD CONSTRAINT `FK_gradeid` FOREIGN KEY(`gradeid`) REFERENCES `grade`(`gradeid`);
-- ALTER TABLE 表 ADD CONSTRAINT `` FOREIGN KEY (``) REFERENCES `字段`

以上的操作都是物理外鍵,數(shù)據(jù)庫(kù)級(jí)別的外鍵,我們不建議使用,(避免數(shù)據(jù)庫(kù)過(guò)多造成困擾,這里了解即可)

最佳實(shí)踐

  • 數(shù)據(jù)庫(kù)為單純的表

  • 我們想使用多張的表數(shù)據(jù),想使用外鍵(程序去實(shí)現(xiàn))

3.2、DML語(yǔ)言

數(shù)據(jù)庫(kù)語(yǔ)言: 數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)管理

3.3、添加 INSERT

-- 插入語(yǔ)句
INSERT INTO 表名([字段1,字段2,字段2])
values(''),(''),('')

-- INSERT INTO 'grade'('gradename') VALUES ('大四')
-- 一般寫(xiě)插入語(yǔ)句,一定要數(shù)據(jù)和要插入值的字段一一對(duì)應(yīng)
-- 給某個(gè)字段添加多個(gè)字段
INSERT INTO `表明`(`屬性列字段`, ...) 
VALUES ('匹配的值1','匹配的值2','匹配的值3')
/*
如果不想寫(xiě)屬性列的字段名,那么就吧每個(gè)屬性列完全匹配,一一對(duì)應(yīng)的寫(xiě)出后面的值*/

注意事項(xiàng)

  • 字段和字段之間使用英文逗號(hào)隔開(kāi)

  • 字段是可以省略的,但是后面的值必須要一一對(duì)應(yīng),不能少

  • 可以同時(shí)插入多條數(shù)據(jù),VALUES 后面的值,需要使用,隔開(kāi)即可VALUSE(),(),......

-- 插入多條數(shù)據(jù)<即元組>,多個(gè)行的數(shù)據(jù)
INSERT INTO `s`(`SNO`,`SNAME`,`SEX`,`Sage`) VALUES ('180109','王五','男','76'),('180108','李四','男','88')

3.3修改

update 修改誰(shuí)(條件)

-- 修改學(xué)員名字
UPDATE `student` SET `name`='長(zhǎng)江七號(hào)' WHERE  id = 1; -- 有條件
-- 不指定的情況下,會(huì)改動(dòng)所有表?。。。?!
UPDATE `student` SET `name` = '長(zhǎng)江七號(hào)'
-- 語(yǔ)法
-- UPDATE 表名 SET colum_name = value,[colum_name = value,....] where [條件]

條件:where 運(yùn)算符

操作符含義范圍結(jié)果
=等于5=6false
<>或者 !=不等于5<>6true
>大于5>6false
<小于5<6true
>=大于等于5>=6false
<=小于等于5<=6true
between A and B在A和B之間between 1 and 10在1~10之間,不包括10
AND連接條件&&條件1 和條件2都成立都是true 才是true
OR或者||條件1 和條件2有一個(gè)成立即可有一個(gè)true才是true

注意事項(xiàng):

  • colnum_name 是數(shù)據(jù)庫(kù)的列,盡量帶上 ``

  • 條件,篩選的條件,如果沒(méi)有指定,則會(huì)修改所有的列

  • VLAUE是一個(gè)具體的值,也可以是一個(gè)變量,如birthday = CURRENT_TIME current_time是當(dāng)前時(shí)間

  • 多個(gè)設(shè)置的屬性之間,使用英文逗號(hào)隔開(kāi)

-- 修改語(yǔ)句的例子
UPDATE `student`SET `birthday` = CURRENT_TIME WHERE `name` = '長(zhǎng)江七號(hào)' AND  SEX = '女'

3.4 刪除

delete 命令

語(yǔ)法:delete from 表明 where 判斷條件

-- 刪除數(shù)據(jù)<慎用,容易刪庫(kù)跑路>
DELETE FROM `STUDENT`

-- 刪除指定數(shù)據(jù)
DELETE FROM `student` WHERE id = 1;

TRUNCATE 命令

作用:完全清空一個(gè)數(shù)據(jù)庫(kù)表,表的結(jié)構(gòu)和索引約束不會(huì)改變!!

-- 清空數(shù)據(jù)表,例如清空student表
TRUNCATE `student`
-- 安全寫(xiě)法,刪除表,防止刪除數(shù)據(jù)庫(kù)名為`student`
TRUNCATE TABLE `student`

delete 和TRUNCATE的區(qū)別

相同點(diǎn):都可以刪除數(shù)據(jù),都不會(huì)刪除表的結(jié)構(gòu)

不同:

  • TRUNCATE 重新設(shè)置自增列,計(jì)數(shù)器會(huì)歸零

  • TRUNCATE 不會(huì)影響事務(wù)

-- 測(cè)試
CREATE TABLE `test`(
    `id` INT(4) NOT NULL AUTO_INCREMENT,
    `COLL` VARCHAR(20) NOT NULL,
    PRIMARY KEY('id')
)ENGINE=INNODB DEFAULT CHARSET=UTF8

INSERT TNTO `test` (`coll`) VALUES('1')('2')('3')

DELETE FROM `test` -- 不會(huì)影響自增

TRUNCATE TABLE `test` -- 自帶會(huì)歸零

了解即可:delete刪除的問(wèn)題,重啟數(shù)據(jù)庫(kù),現(xiàn)象

  • INNODB 自增列會(huì)從1開(kāi)始,(存在內(nèi)存當(dāng)中的斷電即失)

  • MYISAM 繼續(xù)從上一個(gè)子增量開(kāi)始(存在文件當(dāng)中的,不會(huì)丟失)

+++

+++

課后的添加實(shí)例展示

添加:

-- 一條元組的添加示例
insert into `Student` values('180103','對(duì)象三','女','22','CS')

-- 測(cè)試添加多條元組,中間使用英文逗號(hào)隔開(kāi)
INSERT INTO `Student` VALUES('180105','對(duì)象五','男','19','IS'),('180106','對(duì)象六','女','20','CS'),('180107','對(duì)象七','女','20','CS')

-- 因?yàn)楸淼慕Y(jié)構(gòu)設(shè)置非空,這里沒(méi)有測(cè)試只添加某個(gè)屬性列的值

Mysql數(shù)據(jù)庫(kù)值的添加、修改、刪除及清空的操作命令

+++

修改:update

UPDATE `student` SET `sname` = '操作修改對(duì)象一' WHERE `sno`= 180102;
-- 記得添加的時(shí)候不要帶逗號(hào),我的問(wèn)題出在了下面帶了逗號(hào)
-- UPDATE `student` SET `sname` = '操作修改對(duì)象一',WHERE `sno`= 180102;

添加成功后,表的結(jié)果截圖展示:

Mysql數(shù)據(jù)庫(kù)值的添加、修改、刪除及清空的操作命令

刪除:delete

-- 刪除單條記錄<符合WHERE條件就刪除這條記錄>
DELETE FROM `student` WHERE sname = '操作修改對(duì)象一';
-- 使用TRUNCATE清空數(shù)據(jù)表
TRUNCATE Table `student`
-- 或者使用 delete刪除所有數(shù)據(jù)庫(kù)
DELETE FROM `student`
-- 不會(huì)影響自增

操作結(jié)果展示

-- 因?yàn)閯h除了所有數(shù)據(jù),所以結(jié)果是表為空

Mysql數(shù)據(jù)庫(kù)值的添加、修改、刪除及清空的操作命令

到此,關(guān)于“Mysql數(shù)據(jù)庫(kù)值的添加、修改、刪除及清空的操作命令”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI