在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫(kù)/ SQL事務(wù)
SQL MID()函數(shù)
SQL CONCAT_WS()函數(shù)
SQL SOUNDEX()函數(shù)
SQL OCTET_LENGTH()函數(shù)
SQL CHARACTER_LENGTH()函數(shù)
SQL TO_DAYS()函數(shù)
SQL FROM_DAYS()函數(shù)
SQL SELECT查詢語(yǔ)句
SQL字符串函數(shù)
SQL MINUTE()函數(shù)
SQL EXP(X)函數(shù)
SQL LOCALTIMESTAMP和LOCALTIMESTAMP()函數(shù)
SQL INSERT()函數(shù)
數(shù)據(jù)庫(kù) - 第一范式(1NF)
SQL REVERSE()函數(shù)
SQL SECOND()函數(shù)
SQL ASCII(str)函數(shù)
SQL COS()函數(shù)
SQL丟棄或刪除數(shù)據(jù)庫(kù)(DROP DATABASE)
SQL AVG()函數(shù)
SQL GROUP BY(分組)
SQL SPACE()函數(shù)
SQL創(chuàng)建數(shù)據(jù)庫(kù)(CREATE DATABASE)
數(shù)據(jù)庫(kù) - 第三范式(3NF)
SQL YEAR()函數(shù)
SQL SIN(X)函數(shù)
SQL MIN()函數(shù)
SQL Distinct關(guān)鍵字
SQL NOT NULL約束
SQL LOG10(X)函數(shù)
SQL DISTINCT重復(fù)處理
SQL臨時(shí)表
SQL LTRIM()函數(shù)
SQL WHERE子句
SQL BIT_COUNT()函數(shù)
SQL INSTR()函數(shù)
SQL View(視圖)
SQL CURDATE()函數(shù)
SQL UNION子句/操作符
SQL SUM()函數(shù)
數(shù)據(jù)庫(kù) - 第二范式(2NF)
SQL UCASE()函數(shù)
SQL TIME_TO_SEC()函數(shù)
SQL TAN(X)函數(shù)
SQL ORDER BY排序子句
SQL語(yǔ)法
SQL克隆表
SQL POSITION()函數(shù)
SQL CHAR()函數(shù)
SQL索引約束
SQL DAY()函數(shù)
SQL Having子句
SQL PERIOD_ADD()函數(shù)
SQL POW()函數(shù)
SQL ATAN(X)函數(shù)
SQL WEEK()函數(shù)
SQL DATE_FORMAT()函數(shù)
SQL TIMEDIFF()函數(shù)
SQL INNER JOIN(內(nèi)部連接)
SQL RPAD()函數(shù)
SQL MONTHNAME()函數(shù)
SQL LOCALTIME和LOCALTIME()函數(shù)
SQL FULL JOIN(全連接)
SQL TIMESTAMPADD()函數(shù)
SQL ABS()函數(shù)
SQL操運(yùn)算符
SQL字符串CONCAT()函數(shù)
SQL TRUNCATE()函數(shù)
SQL排序結(jié)果
SQL GREATEST()函數(shù)
SQL DAYOFYEAR()函數(shù)
SQL SUBSTRING_INDEX()函數(shù)
SQL FORMAT()函數(shù)
SQL AND和OR運(yùn)算符
SQL LENGTH()函數(shù)
SQL MAKETIME()函數(shù)
SQL DATEDIFF()方法
SQL COT()函數(shù)
SQL ELT()函數(shù)
SQL LEFT JOIN(左連接)
SQL數(shù)據(jù)類型
SQL UPDATE更新查詢
SQL STR_TO_DATE()函數(shù)
SQL OCT()函數(shù)
SQL FLOOR(X)函數(shù)
SQL LOWER()函數(shù)
SQL MOD()函數(shù)
SQL LCASE()函數(shù)
SQL選擇數(shù)據(jù)庫(kù)(SELECT Database, USE語(yǔ)句)
SQL RDBMS概念
SQL EXTRACT()函數(shù)
SQL NULL值
SQL唯一約束
SQL HOUR()方法
SQL SIGN(X)函數(shù)
SQL DATE(expr)函數(shù)
SQL實(shí)用函數(shù)
SQL從現(xiàn)有表創(chuàng)建表
SQL DATE_SUB()方法
SQL子查詢
SQL TIME_FORMAT()函數(shù)
SQL REPLACE()函數(shù)
SQL LPAD()函數(shù)
SQL EXPORT_SET()函數(shù)
SQL EXCEPT子句
SQL FIELD()函數(shù)
SQL CONVERT_TZ()函數(shù)
SQL邏輯運(yùn)算符
SQL SEC_TO_TIME()函數(shù)
SQL QUOTE()函數(shù)
SQL CURRENT_TIMESTAMP()方法
SQL QUARTER()函數(shù)
SQL MAKE_SET()函數(shù)
SQL ADDTIME()函數(shù)
SQL MAKEDATE()函數(shù)
SQL HEX()函數(shù)
SQL LEFT()函數(shù)
SQL使用序列(自動(dòng)遞增)
SQL DEFAULT約束
SQL CURRENT_TIME()函數(shù)
SQL表達(dá)式
SQL TIMESTAMP()函數(shù)
SQL NOW()函數(shù)
SQL TOP,LIMIT,ROWNUM子句
SQL RIGHT JOIN(右連接)
SQL CONV()函數(shù)
SQL CHECK約束
SQL INTERVAL()函數(shù)
SQL事務(wù)
SQL STRCMP()函數(shù)
SQL UPPER()函數(shù)
SQL UNHEX()函數(shù)
SQL UTC_TIME()函數(shù)
SQL SUBTIME()函數(shù)
SQL ADDDATE()函數(shù)
SQL PERIOD_DIFF()函數(shù)
SQL REGEXP模式
SQL笛卡爾或交叉連接
SQL BIN(N)函數(shù)
SQL RADIANS()函數(shù)
SQL OCT(N)函數(shù)
SQL DAYNAME()函數(shù)
SQL FIND_IN_SET()函數(shù)
SQL日期函數(shù)
SQL LOAD_FILE()函數(shù)
SQL MAX()函數(shù)
SQL ROUND()函數(shù)
SQL LAST_DAY()函數(shù)
SQL SQRT()函數(shù)
SQL LOCATE()函數(shù)
SQL算術(shù)運(yùn)算符
SQL索引
SQL CONV(N,from_base,to_base)函數(shù)
SQL Join聯(lián)接
SQL LOG()函數(shù)
SQL數(shù)值函數(shù)
SQL BIT_OR()函數(shù)
SQL自連接
SQL SUBDATE()函數(shù)
SQL創(chuàng)建表(CREATE Table)
SQL DEGREES()函數(shù)
SQL注入
SQL ACOS()函數(shù)
SQL DATE_ADD()和DATE_SUB()方法
SQL YEARWEEK()函數(shù)
SQL BIT_LENGTH()函數(shù)
SQL刪除表(DROP或DELETE Table)
SQL教程
SQL STD()函數(shù)
SQL別名語(yǔ)法
SQL TIME()函數(shù)
SQL WEEKOFYEAR()函數(shù)
SQL SYSDATE()函數(shù)
SQL MICROSECOND()函數(shù)
SQL RDBMS數(shù)據(jù)庫(kù)
SQL DAYOFMONTH()函數(shù)
SQL ORD()函數(shù)
SQL SUBSTRING()函數(shù)
SQL INTERSECT子句
SQL RAND()函數(shù)
SQL ATAN2()函數(shù)
SQL TIMESTAMPDIFF()函數(shù)
SQL UTC_DATE()函數(shù)
SQL FROM_UNIXTIME()函數(shù)
SQL ALTER TABLE(修改表)
SQL FORMAT(X,D)函數(shù)
SQL UNIX_TIMESTAMP()函數(shù)
SQL BIT_AND()函數(shù)
SQL DAYOFWEEK()函數(shù)
SQL LIKE子句
SQL約束
SQL比較運(yùn)算符
SQL INSERT INTO插入查詢
SQL外鍵
SQL CONCAT()函數(shù)
SQL CEIL()函數(shù)
SQL LEAST()函數(shù)
SQL RIGHT()函數(shù)
SQL REPEAT()函數(shù)
SQL CURRENT_DATE()函數(shù)
SQL SQRT(X)函數(shù)
SQL DELETE刪除查詢
SQL CURTIME()函數(shù)
SQL TRUNCATE TABLE(截?cái)啾?
SQL UTC_TIMESTAMP()函數(shù)
SQL ASIN(X)函數(shù)
SQL主鍵
SQL CHAR_LENGTH()函數(shù)
SQL WEEKDAY()函數(shù)
SQL PI()函數(shù)
SQL MONTH()函數(shù)
SQL通配符運(yùn)算符
SQL TRIM()函數(shù)

SQL事務(wù)

事務(wù)就是對(duì)數(shù)據(jù)庫(kù)執(zhí)行的工作單元。事務(wù)是完成邏輯順序的工作,無(wú)論是在手動(dòng)方式由用戶或者自動(dòng)地通過(guò)某種數(shù)據(jù)庫(kù)程序的序列的單元。

事務(wù)是一個(gè)或多個(gè)數(shù)據(jù)庫(kù)更改傳輸。例如,如果創(chuàng)建一個(gè)記錄或更新記錄或刪除記錄在表上,那么在這個(gè)表上可進(jìn)行事務(wù)。重要的是事務(wù)控制,以確保數(shù)據(jù)的完整性和處理數(shù)據(jù)庫(kù)錯(cuò)誤。

實(shí)際上,將很多SQL查詢集到一個(gè)組,將執(zhí)行所有這些一起作為事務(wù)的一部分。

事務(wù)特性:

事務(wù)具有以下四個(gè)標(biāo)準(zhǔn)屬性,通常由首字母縮寫ACID簡(jiǎn)稱:

  • 原子: 確保工作單元中的所有操作都成功完成; 否則,該事務(wù)被中止的故障點(diǎn),操作回滾到操作之前的狀態(tài)。

  • 一致性: 確保數(shù)據(jù)庫(kù)正確后成功提交事務(wù)更改狀態(tài)。

  • 隔離: 事務(wù)操作彼此獨(dú)立和透明。

  • 持久性: 可確保提交的事務(wù)的結(jié)果或仍然存在系統(tǒng)故障的情況下的作用。

事務(wù)控制:

用來(lái)控制事務(wù)有如下命令:

  • COMMIT: 保存更改。

  • ROLLBACK: 回滾更改。

  • SAVEPOINT: 回滾事務(wù)組創(chuàng)建點(diǎn)

  • SET TRANSACTION: 事務(wù)放置的名稱。

事務(wù)控制指令只能用DML命令使用INSERT,UPDATE和DELETE只。它們不能在創(chuàng)建表或刪除它們,因?yàn)檫@些操作都是自動(dòng)提交到數(shù)據(jù)庫(kù)中。

COMMIT命令:

COMMIT命令是用于保存由事務(wù)引用的數(shù)據(jù)庫(kù)改變的事務(wù)命令。

COMMIT命令保存所有事務(wù)在數(shù)據(jù)庫(kù)自上次COMMIT或ROLLBACK命令。

COMMIT命令的語(yǔ)法如下:

COMMIT;

例子:

考慮CUSTOMERS表具有以下記錄:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

以下會(huì)從表中刪除age = 25的記錄,然后提交更改在數(shù)據(jù)庫(kù)中的例子。

SQL> DELETE FROM CUSTOMERS
     WHERE AGE = 25;
SQL> COMMIT;

作為結(jié)果,表2中行數(shù)據(jù)會(huì)被刪除,SELECT語(yǔ)句將產(chǎn)生以下結(jié)果:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

ROLLBACK命令:

ROLLBACK命令是用來(lái)撤消尚未被保存到數(shù)據(jù)庫(kù)事務(wù)的事務(wù)命令。

ROLLBACK命令只能撤消事務(wù),因?yàn)榘l(fā)出的最后一個(gè)COMMIT或ROLLBACK命令。

ROLLBACK命令的語(yǔ)法如下:

ROLLBACK;

例子:

考慮CUSTOMERS表具有以下記錄:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

下面是示例,將刪除表中age = 25 的記錄,然后回滾改變?cè)跀?shù)據(jù)庫(kù)中。

SQL> DELETE FROM CUSTOMERS
     WHERE AGE = 25;
SQL> ROLLBACK;

其結(jié)果是,刪除操作不會(huì)影響表中數(shù)據(jù),使用SELECT語(yǔ)句將產(chǎn)生以下結(jié)果:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

SAVEPOINT命令:

保存點(diǎn)SAVEPOINT是,可以回滾事務(wù)到某一事務(wù)節(jié)點(diǎn),而不回滾整個(gè)事務(wù)。

SAVEPOINT命令的語(yǔ)法如下:

SAVEPOINT SAVEPOINT_NAME;

該命令只有在創(chuàng)建中的事務(wù)的SAVEPOINT語(yǔ)句中使用。ROLLBACK命令用來(lái)取消一組事務(wù)。

回滾到SAVEPOINT的語(yǔ)法如下:

ROLLBACK TO SAVEPOINT_NAME;

以下是打算從CUSTOMERS表中刪除這三個(gè)不同的記錄的一個(gè)例子。在每個(gè)刪除之前創(chuàng)建的保存點(diǎn)SAVEPOINT, 這樣就可以回滾到任何SAVEPOINT,并隨時(shí)在適當(dāng)時(shí)將數(shù)據(jù)返回到其原始狀態(tài):

例子:

考慮CUSTOMERS表具有以下記錄:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

現(xiàn)在,這里是一系列操作:

SQL> SAVEPOINT SP1;
Saveyiibai created.
SQL> DELETE FROM CUSTOMERS WHERE ID=1;
1 row deleted.
SQL> SAVEPOINT SP2;
Saveyiibai created.
SQL> DELETE FROM CUSTOMERS WHERE ID=2;
1 row deleted.
SQL> SAVEPOINT SP3;
Saveyiibai created.
SQL> DELETE FROM CUSTOMERS WHERE ID=3;
1 row deleted.

現(xiàn)在,這三個(gè)刪除已經(jīng)發(fā)生,假設(shè)你要改變主意,決定回滾到標(biāo)識(shí)為SP2的SAVEPOINT。 由于SP2在之后第一個(gè)刪除被創(chuàng)建,最后兩個(gè)刪除都被撤消:

SQL> ROLLBACK TO SP2;
Rollback complete.

請(qǐng)注意,只有第一個(gè)刪除發(fā)生,因?yàn)樗貪L到SP2:

SQL> SELECT * FROM CUSTOMERS;
+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+
6 rows selected.

RELEASE SAVEPOINT命令:

RELEASE SAVEPOINT命令用于刪除已經(jīng)創(chuàng)建的一個(gè)SAVEPOINT。

RELEASE SAVEPOINT的語(yǔ)法如下:

RELEASE SAVEPOINT SAVEPOINT_NAME;

一旦保存點(diǎn)已被釋放,使用ROLLBACK命令不能再撤消自SAVEPOINT進(jìn)行事務(wù)。

SET TRANSACTION 命令:

SET TRANSACTION命令可以被用來(lái)啟動(dòng)一個(gè)數(shù)據(jù)庫(kù)事務(wù)。該命令用于指定隨后的事務(wù)特性。

例如,可以指定一個(gè)事務(wù)是只讀的,或讀寫。

SET TRANSACTION的語(yǔ)法如下:

SET TRANSACTION [ READ WRITE | READ ONLY ];