MySQL:DML 數據操作語句盤點

本篇內容包括:DML 的簡介、INSERT 命令、UPDATE 命令、DELETE 命令以及 TRUNCATE 命令的使用。

一、DML 簡介

DML(Data Manipulation Language)語句,即數據操作語句,用于操作數據庫對象中所包含的數據。

常用關鍵字包括:INSERT(添加數據語句)、UPDATE(更新數據語句)、DELETE(刪除數據語句)


二、INSERT 命令

INSERT INTO 表名[(字段1,字段2,字段3,...)] VALUES ('值1','值2','值3',...)

字段或值之間用英文逗號隔開

"字段1,字段2…"該部分可省略(省略代表所有字段都加),但添加的值必須與表結構數據列順序相對應,且數量一致

可同時插入多條數據,VALUES后面用英文逗號隔開,每個()代表一條數據


三、UPDATE 命令

UPDATE 表名 SET column_name =value[,column_name2 =value2,......] [WHERE condition];
  • column_name 為要更改的數據列
  • value 為修改后的數據,可以為變量、具體值、表達式或者嵌套的SELECT結果
  • condition 為篩選條件,如不指定則修改該表的所有列數據
  • WHERE 條件子包:簡單理解為有條件地從表中篩選數據

四、DELETE 命令

DELETE FROM 表名 [WHERE condition];
  • condition為篩選條件,如不指定則刪除該表的所有列數據

  • 當使用不帶WHERE條件的DELETE刪除表全部數據,重新添加新數據時,自增的當前值依然從原來基礎上進行
    (原因:DELETE刪除數據時,一行一行刪除,并記錄日志)

  • 同樣使用DELETE清空表數據,重啟mySQL服務后,InnoDB的表自增列從初始值重新計算,而MyISAM類型的表,自增列從上一個自增數據基礎上繼續。
    (原因:InnoDB主鍵自增量當前最大值存在內存中,而MyISAM是存在文件里的)


五、TRUNCATE 命令

TRUNCATE [TABLE] table_name
  • 用于完全清空表數據,但表結構、索引、約束等不變
  • 用TRUNCATE刪除表全部數據,重新增加新數據時,自增值恢復到初始值重新開始
    (原因:TRUNCATE刪除數據一下全刪,不記錄日志)

RUNCATE 和DELETE 相同點:

  • 都能刪除數據,不刪除表結構,但truncate速度更快

RUNCATE 和DELETE 不同點:

  • 使用TRUNCATE TABLE 重新設置AUTO_INCREMENT計數器
  • 使用TRUNCATE TABLE 不會對事務有影響

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

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

相關文章

MySQL:DDL 數據定義語句盤點

本篇內容包括:DDL 的簡介、SHOW 查看語句、CREATE 創建語句、ALTER 修改語句以及 DROP 刪除語句的使用。 一、DDL 簡介 DDL(Data Definition Language),即數據定義語句,功能就是定義數據庫DATabase、表table、索引ind…

MySQL:DCL 數據控制語句盤點

本篇內容包括:DCL 簡介、GRANT、REVOKE、COMMIT、ROLLBACK、SAVEPOINT、LOCK命令的使用。 一、DCL 簡介 DCL(Data Control Language)語句,即數據控制語句,用于設置或更改數據庫用戶或角色權限的語句 常用關鍵字包括:…

oracle遷移父子數據

現有需求如下,業務組織單元表中id字段數據在另外一個系統全部重復,但需要將此業務單元組織導入另一系統 業務組織單元表Isc_Specialorg_Unit 表中存在ID字段為子節點數據,parent_id為父節點數據,orgpath為組織路徑 現在做如下操…

批量更新數據庫數據

"update isc22.isc_user t set t.saphrid "&E1&"where t.id "&B1&";"

oracle控制文件

控制文件是數據庫里面非常重要的一類文件,它記錄了當前實例連接的數據庫的結構和行為,并維護數據庫的一致性。 初始化參數文件中描述其位置,很小的:二進制文件,一般不要超過100mmount讀open一直在用 控制文件只能連接一個database丟失要恢復 …

oracle表空間

概念 表空間和數據文件 ●表空間是邏輯存儲概念,一個表空間是一個或多個數據文件的邏輯集合 ●存儲對象(表、索引)邏輯的存儲在表空間上,而存儲對象的數據物理的存放在數據文件上 ●數據庫至少需要一個叫做system的表空間,也就是系統表空間 ●…

oracle日志

日志分類 redo log files聯機日志或重做日志 archived log files歸檔日志 1184198alert log files 告警日志 trace files user_ _dump_ _dest 用戶信息日志如跟蹤會話日志 background dump_ dest進程日志還有其他一-些不常用的日志 v$database的log_mode 數據庫歸檔模式…

MySQL:分庫分表知識點盤點

本篇內容包括:數據庫瓶頸、分庫分表以及分庫分表相關問題 一、數據庫瓶頸 不管是IO瓶頸,還是CPU瓶頸,最終都會導致數據庫的活躍連接數增加,進而逼近甚至達到數據庫可承載活躍連接數的閾值。在業務Service來看就是,可用…

oracle的sga

sga SGA的管理 ■有三種方式: ●8i:SGA的總大小由所有內存組件大小之和決定,不能直接定義SCA大小。對內部組件大小的修改必須在數據庫重起 后 才能生為,所以叫做SGA的靜態管理。 ●9i&#xff…

MySQL:日志知識點盤點

本篇內容包括:binlog(二進制日志)、redo log 以及 undo log 一、binlog(二進制日志) binlog 用于記錄數據庫執行的寫入性操作(不包括查詢)信息,以二進制的形式保存在磁盤中。binlog是mysql的邏輯日志&…

ROWNUM的使用

一個偽列看起來像是一個表中的列,但實際上并不保存在表中。你可以查詢, 但是不能插入,修改和刪除其中的值。一個偽列也類似于一個沒有參數的函 數。但是在典型情況下,在結果集中可以為每一行返回相同的值,而偽列通 常為…

MySQL:主從相關知識點盤點

本篇內容包括:MySQL 主從復制簡介、主從復制的原理以及主從搭建 一、MySQL 主從復制簡介 在實際的生產中,為了解決Mysql的單點故障已經提高MySQL的整體服務性能,一般都會采用**「主從復制」**。 比如:在復雜的業務系統中&#x…

oracle導出expdp

expdp/impdp 是 oracle 10g 版本后推出的服務器端工具--數據泵,作用是為了將數據庫中的邏輯對象,比如表、用戶、全庫、表空間進 行導入,導出 命令解析 ATTACH ATTACH [[schema_name.]job_name] schema_name 表示用戶名,job_name 表示導出的作…

oracle導入impdp

expdp/impdp 是 oracle 10g 版本后推出的服務器端工具--數據泵,作用是為了將數據庫中的邏輯對象,比如表、用戶、全庫、表空間進 行導入,導出REMAP_DATAFILE 該選項用于將源數據文件名轉變為目標數據文件名, 在不同平臺之間搬移表空間時可能需…

oracle高水位線

ORACLE在邏輯存儲上分4個粒度: 表空間, 段, 區 和 塊. 1.1 塊: 是粒度最小的存儲單位,現在標準的塊大小是8K,ORACLE每一次I/O操作也是按塊來操作的,也就是說當ORACLE從數據文件讀數據時,是讀取多少個塊,而不是多少行. 每一個Block里可以包含多個row. 1.2 區:…

oracle檢查點

檢 查 點 概述 ■l當修改數據時,需要首先將數據讀入內存中(Buffer Cache),修改數據的同時,Oracle會記錄重做信息(Redo)用于恢復。因 為有了重做信息的存在,Oracle不需要在提交時…

文獻翻譯:Java theory and practice: Fixing the Java Memory Model, Part 2

Java theory and practice: Fixing the Java Memory Model, Part 2 譯:Java 理論與實踐:修復 Java 內存模型,第 2 部分 翻譯自:http://www.ibm.com/developerworks/library/j-jtp03304/(原文寫于2004年3月&#xff0…

oracle的buffercache

LRU空閑或者干凈的鏈,可以從這里找到未修改的數據LRUW臟鏈,一個臟塊同時掛到了lruw和檢查點隊列,LRUW分冷端和熱端,冷端即為更新頻率較低的一端,熱端為更新頻率較高的一端,dbwn寫入數據文件時從冷端開始寫入…

oracle的undo

Undo段中區的狀態free expiredinactiveactive 顯示UNDO區信息 SELECT extent_ id, bytes, status FROM dba_ _undo_ _extentsWHERE segment_ name SYSSMU1S ; 圖解一一個事務的操作流程 Undo段的組成:段頭、回滾塊 事務ID …

SQLPlus命令詳細說明

SQLPlus命令詳細說明 2011-10-19 17:23:01 分類: Oracle 1. 執行一個SQL腳本文件 SQL>start file_name SQL> file_name 2. 對當前的輸入進行編輯 SQL>edit 3. 重新運行上一次運行的sql語句 SQL>/ 4. 將顯示的內容輸出到指定文件 SQL> S…