很多時候,我們可能需要將資料從一個現有的資料表複製到一個新的資料表中,例如,備份資料,或就像為了測試將一個環境中的資料複製到另一個環境中。在 SQL 中,通常會使用以下的 CREATE TABLE 和 SELECT 陳述式:
CREATE TABLE new_table; SELECT SELECT col, col2, col3 INTO new_table FROM existing_table;
在第一個陳述式中,資料庫使用 CREATE TABLE 陳述式中指定的名稱建立一個新資料表。 新資料表的結構由 SELECT 陳述式的結果集定義。然後,資料庫將 SELECT 陳述式的結果擴展到新資料表中。
儘管上述的程序可以完美地複製資料表,但是有一種更簡單的方法,我們可以使用 CREATE TABLE 陳述式的變體將資料表複製到新資料表中!今天我們將在這裡學習如何使用它。
在認識資料庫交易文章中,我們學習了交易是如何透過保證使用交易執行的所有作業同時成功或同時失敗來防止資料遺失和不一致。在今天的後續文章中,我們將學習如何在預存程序中使用交易,以確保所涉及的所有資料表保持一致的狀態。
許多組織會致力在其應用程式中實作輸入驗證來保護其資料。事實上,大多數網路攻擊直接針對資料庫服務器本身,而應用程式安全性根本沒有發揮作用!身為一個資料庫管理員(DBA)或資料庫開發人員,你有強大的能力來降低網路攻擊的風險和/或由此造成的損害,包括最常見的網路攻擊形式:SQL 隱碼攻擊。在今天的文章中,我們將探索一些可以大大減少遭受 SQL 隱碼攻擊的做法。
不久之前,「原子」一詞指的是無法進一步分裂的最小粒子。儘管我們已經發現原子本身是由更小的粒子組成,但該術語繼續保留其原本含義。對於關聯式資料庫而言,原子性(Atomicity)意味著資料庫執行的作業(DML 或 DDL 等)將是不可部分完成的。關聯式資料庫通常提供的原子性單位是交易(Transaction)。為什麼這很重要?原子性保證可以防止更新時只更新了某部分的資料庫,這比直接拒絕整系列的作業會引起更大的問題。在今天的文章中,我們將學習原子性是什麼以及如何在你的資料庫執行個體中強制執行它。
- 2025 (1)
- 2024 (1)
- 2023 (1)
- 2022 (1)
- 2021 (1)
- 2020 (1)
- 2019 (1)
- 2018 (1)
- 2017 (1)