MySQL的DML增刪改操作:

目錄

添加數據:

方式1:一條一條添加數據:

方式2:將查詢結果插入到表中:

更新數據:

刪除數據:

MySQL8的新特性:計算列:


本文介紹了MySQL數據庫操作語言(DML)的基本使用方法,包括數據添加、更新和刪除操作。重點講解了兩種數據添加方式:單條插入和多條批量插入,并比較了它們的效率差異。同時詳細說明了UPDATE和DELETE語句的使用方法及注意事項,特別強調了WHERE子句的重要性。文章還介紹了MySQL8.0的新特性計算列,該功能允許通過表達式自動生成列值。最后對比了DELETE和TRUNCATE TABLE的區別,指出后者雖然效率更高但不支持回滾,建議謹慎使用。這些操作在實際應用中可能因約束條件導致失敗,使用時需特別注意。

添加數據:

方式1:一條一條添加數據:

未指明添加數據,必須按照字段生命順序添加。

INSERT INTO 表名
VALUES (對應表中的字段名順序進行添加數據值1,數據值2,...
),
(對應表中的字段名順序進行添加數據值1,數據值2,...
),
...
(對應表中的字段名順序進行添加數據值1,數據值2,...
);

插入完整的行,所有的字段,每一個字段都必須提供一個值,如果某個字段沒有值,應該使用NULL,每一個字段必須以表中生命的順序給出。雖然這種語法簡單,但是不安全,應該避免使用。

推薦以下用法:

指明添加字段。

INSERT INTO 表名(字段名1,字段名2,...)
VALUES (對應上面的字段名順序進行添加數據值1,數據值2,...
),
(對應上面的字段名順序進行添加數據值1,數據值2,...
),
...
(對應上面的字段名順序進行添加數據值1,數據值2,...
);

不需要與表中的生命順序相同,沒有值的字段可以不提供數據。

使用INSERT同時插入多條記錄時,MySQL會返回一些在執行單行插入時沒有的額外信息,這些信息含義如下:

Records:表明插入的記錄條數。

Duplicates:表明插入時被忽略的記錄,原因可能是這些記錄包含了重復的主鍵值。

Warnings:表明有問題的數據值。

一個同時插入多行記錄的INSERT語句等于多個單行插入的INSERT語句,但是多行的INSERT語句在處理過程中效率更高。因為MySQL執行單條INSERT語句插入多行數據比使用多條INSERT語句快,所以在插入多條記錄時最好選擇使用單條INSERT語句的方式插入。

字符和日期類型數據應包含在單引號中。

添加數據時,可能會因為約束的原因導致添加數據失敗。

方式2:將查詢結果插入到表中:

SELECT INTO 表名(字段名1,字段名2,...)
SELECT 對應上面的字段數量和類型
FROM 表名
[WHERE 條件];

應該要注意要添加的字段的類型不能低于查詢表中的字段類型,否則可能會出現添加不成功的風險。

更新數據:

UPDATE 表明
SET 字段1 = 修改值,字段2 = 修改值,
... 
WHERE 篩選出目標字段的行。

如果未使用HWERE進行篩選目標字段的行,那么該字段所有的值全都會被修改。

修改數據時,可能會存在不成功的情況,可能是因為約束的原因導致的。

刪除數據:

DELETE FROM 表名
WHERE 過濾條件;

由于約束的原因,刪除數據的操作也可能會失敗。

如果刪除數據不進行WHERE篩選,那么則會對進行操作的表進行刪除,但是會保留表的結構。這個功能和TRUNCATE TABLE的功能時相同的,但是區別在于,TRUNCATE TABLE一旦執行操作之后,不能進行回滾,而DELETE TABLE執行操作之后可以進行回滾。TRUNCATE TABLE比DELETE速度快,且使用的系統和事務日志資源少,但是TRUNCATE無事務且不觸發TRIGGER,有可能造成事故,故不建議在開發代碼中使用此語句。

MDL操作默認情況下,執行完之后都會自動提交數據,如果希望執行完成以后,不自動提交數據,則需要使用autocommit = FALSE。

MySQL8的新特性:計算列:

計算列簡單來說就是某一列的值是通過別的列的計算得來的。

例如:a列的值為1,b列的值為2,c列的值不需要手動插入,定義為a+b的結果為c的值,那么c就是計算列,通過別的列計算得來的。

CREATE TABLE 表名(字段名1 數據類型,字段名2 數據類型,字段名3 數據類型 GENERATED ALWAYS AS (字段名1+字段名2) VIRTUAL
);

在MySQL8.0中,CREATE TABLE和ALTER TABLE中都支持增加計算列。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/94689.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/94689.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/94689.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL運維常用語法速查

🗃? 一、數據庫操作 CREATE DATABASE db_name; USE db_name; DROP DATABASE db_name; SHOW DATABASES;🔗 官方文檔 📊 二、表操作 表創建示例 CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50) NOT NULL,email V…

汽車以太網通信協議——SOME/IP

1. 背景 SOME/IP是一種汽車中間件解決方案,其全稱是Scalable Service-Oriented Middleware over IP,即位于 IP 協議層以上的一種面向服務的可擴展的中間件。 中間件:該術語起源于復雜的軟件系統開發,用以實現軟件組件之間的數據交…

什么是負載均衡,有哪些常見算法?

文章目錄1.什么是負載均衡2.負載均衡的分類2.1 二層負載均衡2.2 三層負載均衡2.3 四層負載均衡2.4 七層負載均衡3.負載均衡工具3.1 LVS3.2 Nginx3.3 HAProxy4.常見負載均衡算法5.面試回答模板1.什么是負載均衡 為了提升web應用的各方面能力,我們一般會把多臺機器組…

PyTorch 核心三件套:Tensor、Module、Autograd

歡迎來到啾啾的博客🐱。 記錄學習點滴。分享工作思考和實用技巧,偶爾也分享一些雜談💬。 有很多很多不足的地方,歡迎評論交流,感謝您的閱讀和評論😄。 目錄引言1 Tensor1.1 🛠?Tensor 的核心用…

python源碼是如何運行起來的

為什么要了解底層原理 寫出高質量代碼 問題定位 滿足好奇心 機械通感 開始 當我們編寫并運行一行 print(Hello, World!) 時,背后究竟發生了什么?Python 代碼是如何從我們可讀的文本,變成計算機可以執行的指令的呢? 很多人將…

MacOS Docker 安裝指南

MacOS Docker 安裝指南 引言 Docker 是一個開源的應用容器引擎,它允許開發者打包他們的應用以及應用的依賴包到一個可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app)。Docker …

Cisco 3750X交換機更新到IOS 15.2后無法啟動 提示:Boot process failed...

背景及故障現象 一臺新購入的二手Cisco 3750X-48P,原機自帶IOS軟件版本為12.x,可以正常工作。 但將IOS版本升級到15.2之后,在啟動過程中卡住。 第一次加載IOS軟件時是正常的,提示: Loading "flash:/c3750e-uni…

Redis Redis 常見數據類型

Redis 提供了 5 種數據結構,理解每種數據結構的特點對于 Redis 開發運維非常重要,同時掌握每種數據結構的常見命令,會在使用 Redis 的時候做到游刃有余。 一、預備知識 官方文檔:Commands | Docs (redis.io) 1、最核心的兩個命令…

金融風控實戰:Spring Boot + LightGBM 貸款預測模型服務化(超詳細版)

金融風控實戰:Spring Boot LightGBM 貸款預測模型服務化(超詳細版)一、整體架構設計二、模型訓練與優化1. 特征工程(Python)2. 模型評估與優化三、Spring Boot 服務實現1. 項目結構2. ONNX 模型服務3. 特征工程服務4.…

前端學習 7:EDA 工具

目錄 EDA 工具 Design Ware Synopsys CoreTools 套件 VCS verdi Design Compiler EDA 工具 常用的EDA工具主要來自三家公司:Synopsys、Cadence和Mentor(已被Siemens收購)。EDA,全稱電子設計自動化(Electronics …

windows有一個企業微信安裝包,腳本執行并安裝到d盤。

以下是將本地已有的企業微信安裝包安裝到D盤的完整PowerShell腳本&#xff0c;包含詳細的錯誤處理和進度反饋&#xff1a; <# .SYNOPSIS使用本地企業微信安裝包安裝到D盤 .DESCRIPTION自動檢測本地安裝包&#xff0c;靜默安裝到指定目錄支持.exe和.msi格式安裝包 #># 強制…

[LVGL] 布局系統 lv_flex, lv_grid | 輸入設備 lv_indev | union

第五章&#xff1a;布局系統&#xff08;lv_flex, lv_grid&#xff09; 歡迎回來&#xff01; 在第四章&#xff1a;樣式&#xff08;lv_style&#xff09;中&#xff0c;我們掌握了如何通過色彩、字體和圓角等特性美化部件。當界面元素具備視覺吸引力后&#xff0c;如何優雅…

Linux中的mkdir命令

基本語法mkdir 命令的基本語法如下&#xff1a;mkdir [選項] 目錄名創建單個目錄要創建一個新目錄&#xff0c;只需在 mkdir 后跟上目錄名稱。例如&#xff1a;mkdir new_folder這會在當前工作目錄下創建一個名為 new_folder 的目錄。創建多個目錄可以一次性創建多個目錄&#…

基于大數據的美食視頻播放數據可視化系統 Python+Django+Vue.js

本文項目編號 25003 &#xff0c;文末自助獲取源碼 \color{red}{25003&#xff0c;文末自助獲取源碼} 25003&#xff0c;文末自助獲取源碼 目錄 一、系統介紹二、系統錄屏三、啟動教程四、功能截圖五、文案資料5.1 選題背景5.2 國內外研究現狀 六、核心代碼6.1 查詢數據6.2 新…

微信小程序精品項目-基于springboot+Android的計算機精品課程學習系統(源碼+LW+部署文檔+全bao+遠程調試+代碼講解等)

博主介紹&#xff1a;??碼農一枚 &#xff0c;專注于大學生項目實戰開發、講解和畢業&#x1f6a2;文撰寫修改等。全棧領域優質創作者&#xff0c;博客之星、掘金/華為云/阿里云/InfoQ等平臺優質作者、專注于Java、小程序技術領域和畢業項目實戰 ??技術范圍&#xff1a;&am…

(五)系統可靠性設計

2024年博主考軟考高級系統架構師沒通過&#xff0c;于是決定集中精力認真學習系統架構的每一個環節&#xff0c;并在2025年軟考中取得了不錯的成績&#xff0c;雖然做信息安全的考架構師很難&#xff0c;但找對方法&#xff0c;問題就不大&#xff01; 本文主要是博主在學習過程…

Shuffle SOAR使用學習經驗

Shuffle SOAR 1. 基礎操作與配置1.1 環境搭建與系統要求1.1.1 硬件與操作系統要求Shuffle SOAR 平臺作為一款開源的安全編排、自動化與響應&#xff08;SOAR&#xff09;工具&#xff0c;其部署方式靈活&#xff0c;支持云端和自托管兩種模式。對于自托管部署&#xff0c;官方推…

騰訊云 EdgeOne 產品分析與免費套餐體驗指南

本文圍繞騰訊云 EdgeOne 展開&#xff0c;全方位介紹它的核心能力、免費套餐內容&#xff0c;以及如何快速上手、監控和排查常見問題&#xff0c;幫助個人開發者和中小企業在不產生額外成本的前提下體驗高性能的邊緣加速與安全防護。 一、產品概述 EdgeOne 定位 一體化云服務平…

npm ERR! Unsupported URL Type “workspace:“: workspace:./lib

如下 npm install npm ERR! code EUNSUPPORTEDPROTOCOL npm ERR! Unsupported URL Type "workspace:": workspace:./libnpm ERR! A complete log of this run can be found in: D:\IDEA\nodejs\node_cache\_logs\2025-08-06T08_21_32_592Z-debug-0.log原因及解決 pac…

微積分: 變化與累積

微積分,這門研究變化與累積的數學分支,其核心思想竟與東方哲學中"易"的概念不謀而合。《易經》有云:“易有太極,是生兩儀”,而微積分正是通過"微分"與"積分"這對辯證統一的操作,揭示了世間萬物變化與永恒的奧秘。 #mermaid-svg-UjO6qqMm0h…