這篇文章主要介紹“Mysql數據庫值的添加、修改、刪除及清空的操作命令”,在日常操作中,相信很多人在Mysql數據庫值的添加、修改、刪除及清空的操作命令問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Mysql數據庫值的添加、修改、刪除及清空的操作命令”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
第一種方式:不太建議,看起來復雜些
-- 學生表的 gradeid 字段,要去引用 年級表的 gradeid -- 定義外鍵key -- 給這個外鍵添加約束,(執行引用),REFERENCES 引用 key `FK_gradeid`(`gradeid`) CONSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) REFERENCES `grade`(`gradeid`)
第二種方式:建議
-- 創建表成功后,添加外鍵約束 -- 創建表的時候沒有外鍵關系 ALTER TABLE `student` ADD CONSTRAINT `FK_gradeid` FOREIGN KEY(`gradeid`) REFERENCES `grade`(`gradeid`); -- ALTER TABLE 表 ADD CONSTRAINT `` FOREIGN KEY (``) REFERENCES `字段`
以上的操作都是物理外鍵,數據庫級別的外鍵,我們不建議使用,(避免數據庫過多造成困擾,這里了解即可)
最佳實踐
數據庫為單純的表
我們想使用多張的表數據,想使用外鍵(程序去實現)
數據庫語言: 數據存儲、數據管理
-- 插入語句 INSERT INTO 表名([字段1,字段2,字段2]) values(''),(''),('') -- INSERT INTO 'grade'('gradename') VALUES ('大四') -- 一般寫插入語句,一定要數據和要插入值的字段一一對應 -- 給某個字段添加多個字段 INSERT INTO `表明`(`屬性列字段`, ...) VALUES ('匹配的值1','匹配的值2','匹配的值3') /* 如果不想寫屬性列的字段名,那么就吧每個屬性列完全匹配,一一對應的寫出后面的值*/
注意事項
字段和字段之間使用英文逗號隔開
字段是可以省略的,但是后面的值必須要一一對應,不能少
可以同時插入多條數據,VALUES 后面的值,需要使用,隔開即可VALUSE(),(),......
-- 插入多條數據<即元組>,多個行的數據 INSERT INTO `s`(`SNO`,`SNAME`,`SEX`,`Sage`) VALUES ('180109','王五','男','76'),('180108','李四','男','88')
update 修改誰(條件)
-- 修改學員名字 UPDATE `student` SET `name`='長江七號' WHERE id = 1; -- 有條件 -- 不指定的情況下,會改動所有表?。。。?! UPDATE `student` SET `name` = '長江七號' -- 語法 -- UPDATE 表名 SET colum_name = value,[colum_name = value,....] where [條件]
條件:where 運算符
操作符 | 含義 | 范圍 | 結果 |
---|---|---|---|
= | 等于 | 5=6 | false |
<>或者 != | 不等于 | 5<>6 | true |
> | 大于 | 5>6 | false |
< | 小于 | 5<6 | true |
>= | 大于等于 | 5>=6 | false |
<= | 小于等于 | 5<=6 | true |
between A and B | 在A和B之間 | between 1 and 10 | 在1~10之間,不包括10 |
AND | 連接條件&& | 條件1 和條件2都成立 | 都是true 才是true |
OR | 或者|| | 條件1 和條件2有一個成立即可 | 有一個true才是true |
注意事項:
colnum_name 是數據庫的列,盡量帶上 ``
條件,篩選的條件,如果沒有指定,則會修改所有的列
VLAUE是一個具體的值,也可以是一個變量,如birthday = CURRENT_TIME current_time是當前時間
多個設置的屬性之間,使用英文逗號隔開
-- 修改語句的例子 UPDATE `student`SET `birthday` = CURRENT_TIME WHERE `name` = '長江七號' AND SEX = '女'
delete 命令
語法:delete from 表明 where 判斷條件
-- 刪除數據<慎用,容易刪庫跑路> DELETE FROM `STUDENT` -- 刪除指定數據 DELETE FROM `student` WHERE id = 1;
TRUNCATE 命令
作用:完全清空一個數據庫表,表的結構和索引約束不會改變!!
-- 清空數據表,例如清空student表 TRUNCATE `student` -- 安全寫法,刪除表,防止刪除數據庫名為`student` TRUNCATE TABLE `student`
delete 和TRUNCATE的區別
相同點:都可以刪除數據,都不會刪除表的結構
不同:
TRUNCATE 重新設置自增列,計數器會歸零
TRUNCATE 不會影響事務
-- 測試 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` -- 不會影響自增 TRUNCATE TABLE `test` -- 自帶會歸零
了解即可:delete刪除的問題,重啟數據庫,現象
INNODB 自增列會從1開始,(存在內存當中的斷電即失)
MYISAM 繼續從上一個子增量開始(存在文件當中的,不會丟失)
+++
+++
添加:
-- 一條元組的添加示例 insert into `Student` values('180103','對象三','女','22','CS') -- 測試添加多條元組,中間使用英文逗號隔開 INSERT INTO `Student` VALUES('180105','對象五','男','19','IS'),('180106','對象六','女','20','CS'),('180107','對象七','女','20','CS') -- 因為表的結構設置非空,這里沒有測試只添加某個屬性列的值
+++
修改:update
UPDATE `student` SET `sname` = '操作修改對象一' WHERE `sno`= 180102; -- 記得添加的時候不要帶逗號,我的問題出在了下面帶了逗號 -- UPDATE `student` SET `sname` = '操作修改對象一',WHERE `sno`= 180102;
添加成功后,表的結果截圖展示:
刪除:delete
-- 刪除單條記錄<符合WHERE條件就刪除這條記錄> DELETE FROM `student` WHERE sname = '操作修改對象一'; -- 使用TRUNCATE清空數據表 TRUNCATE Table `student` -- 或者使用 delete刪除所有數據庫 DELETE FROM `student` -- 不會影響自增
操作結果展示
-- 因為刪除了所有數據,所以結果是表為空
到此,關于“Mysql數據庫值的添加、修改、刪除及清空的操作命令”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。