日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql事务顺序重排_MySQL事务处理及字符集和校对顺序

發布時間:2023/12/10 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql事务顺序重排_MySQL事务处理及字符集和校对顺序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、事務處理 事務處理:是一種機制,管理必須成批執行的MySQL操作,以保證數據庫不包含不完整的操作結果。用來維護數據庫的完整性。

利用事務處理,可以保證一組操作不會中途停止,或作為整體執行或完全不執行(除非明確指示)。如果沒有發生錯誤,整組語句寫入數據庫,如發生錯誤,則進行回退,以恢復數據庫到某個已知且安全的狀態。

事務處理的幾個重要術語:

·事務:一組SQL語句;

·回退:撤銷指定SQL語句的過程;

·提交:將未存儲的SQL語句結果寫入數據庫表;

·保留點:事務處理中設置的臨時占位符,可以對它發布回退(與回退整個事務處理不同);

管理事務處理的關鍵:將SQL語句組分解為邏輯塊,并明確規定數據何時應該回退,何時不應回退。

start transaction:標識事務的開始

1、使用rollback

rollback命令用來回退(撤銷)MySQL語句,如下:

select * from ordertotals;

start transaction;

delete from ordertotals;

select * from ordertotals;

rollback;

select * from ordertotals;

解析:用rollback語句回退start transaction之后的所有語句,最后一條select語句顯示該表不為空。

PS:

rollback只能在一個事務處理內使用(在執行一條start transaction命令之后)。

事務處理用來管理select、insert和update語句;不能回退select語句(沒意義);不能回退create或drop操作(即使事務中使用這兩條語句,如果執行回退,它們也不會被撤銷)。

2、使用commit

一般MySQL語句都是直接針對數據庫表執行和編寫,也就是隱含提交,即提交(寫或保存)操作是自動的;但在事務處理塊中,提交不會隱含地進行。為進行明確的提交, 使用commit語句,如下:

start transaction; delete from orderitems where order_num = '20010'; delete from orders where order_num = '20010'; commit; 解析:從系統中完全刪除訂單20010,涉及更新兩個數據庫表,所以使用事務處理塊來保證訂單不被部分刪除。commit語句僅在不出錯時寫出更改。如果第一條delete起作用,但第二條失敗,則delete不會提交(被自動撤銷)。

PS:當commit或rollback語句執行后,事務會自動關閉(將來的更改會隱含提交)。

3、使用保留點

復雜的事務處理可能需要部分提交或回退;

為了支持回退部分事務處理,必須能在事務處理塊中合適的位置放置占位符,如果需要回退,可以回退到某個占位符,這些占位符稱為保留點,為了創建占位符,可以使用savepoint語句,比如:savepoint deletel;

解析:每個保留點都取標識它的唯一名字,以便回退時MySQL知道要回退到何處。如為回退到本例給出的保留點,可以使用:rollback to deletel;

PS:保留點越多越好,這樣可以更靈活的回退;保留點在事務處理完成后自動釋放,或也可以用release savepoint明確的釋放保留點。

4、更改默認提交行為

默認的MySQL行為是自動提交所有更改,即該SQL語句都是針對表執行的,而且立即生效;為指示MySQL不自動提交更改,可以使用:set autocommit = 0;

autocommit標志決定是否自動提交更改,不管有沒有commit語句;即設置autocommit=0(假)指示MySQL不自動提交更改(直到autocommit被設置為真為止)。

PS:autocommit標志是針對每個連接,而不是服務器。

二、字符集和校對順序 數據庫表被用來存儲和檢索數據,不同的語言和字符集需要以不同的方式存儲和檢索。因此MySQL需要適應不同的字符集,適應不同排序和檢索數據的方法。

常見的術語:

·字符集:字母和符號的組合

·編碼:為某個字符集成員的內部表示

·校對:為規定字符如何比較的指令

1、查看字符集

查看所支持的字符集完整列表,可以使用:show character set;

這條語句顯示所有可用的字符集以及每個字符集的描述和默認校對。

為查看所支持校對的完整列表,可使用:show collation;

此語句顯示所有可用的校對,以及它們適用的字符集。

PS:通常系統管理在安裝時定義一個默認的字符集合校對,也可在創建數據庫時,指定默認的字符集和校對;為了確定所用字符集合校對,可使用以下語句:

show variables like 'character%';

show cariables like 'collation%';

PS:事實上,字符集很少是服務器范圍(甚至數據庫范圍);不同表甚至不同列,都可能需要不同字符集,而且兩者都可以在創建表時指定。

2、指定字符集和校對

為了給表指定字符集和校對,可使用如下語句:

create table mytable

( columnn1 int,

columnn2 varchar(10)

) default character set hebrew

collate hebrew_general_ci;

解析:創建一個包含兩列的表,并且指定字符集和校對順序。

MySQL默認使用的字符集和校對:

·如果指定character set和collate兩者,則使用這些值;

·如果只指定character set,則使用此字符集及其默認的校對;

·如果既不指定character set,也不指定collate,則使用數據庫默認。

PS:MySQL允許對每個列設置字符集和校對,例句如下:

create table mytable ( columnn1 int, columnn2 varchar(10), columnn3 varchar(10) character set latin1 collate latin1_general_ci ) default character set hebrew collate hebrew_general_ci;

校對在對用order by子句檢索出來的數據排序時起重要的作用,如果你需要用與創建表時不同的校對順序排序特定的select語句,可以在select語句自身中進行,比如:

select * from customers order by lastname,firstname collate latinl_general_cs;

select使用collate指定一個備用的校對順序(為區分大小寫校對),這樣將影響到結果排序的次序。COLLATE還可以用于GROUP BY、HAVING、聚集 函數、別名等。

PS:如果絕對需要,串可以在字符集之間進行轉換,使用cast()或 convert()函數。

![image](https://img-blog.csdnimg.cn/img_convert/dba2cb79d1c995eb0370236354df505f.png)

[**最新2020整理收集的一些高頻面試題(都整理成文檔),有很多干貨,包含mysql,netty,spring,線程,spring cloud、jvm、源碼、算法等詳細講解,也有詳細的學習規劃圖,面試題整理等,需要獲取這些內容的朋友請加Q君樣:909038429**](https://jq.qq.com/?_wv=1027&k=LTrB46U1)

/./*歡迎加入java交流Q君樣:909038429一起吹水聊天

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的mysql事务顺序重排_MySQL事务处理及字符集和校对顺序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 五月网婷婷 | 狠狠躁天天躁综合网 | 国产成人欧美一区二区三区的 | 国产在线专区 | www.亚洲高清| 亚洲最大的成人网 | 伊人69| av中文字 | 免费在线观看不卡av | 色男天堂| 女人天堂网 | av一区二区三区四区 | 成人一级视频 | 韩国黄色大片 | 国产婷婷 | 欧美我不卡 | 爱乃なみ加勒比在线播放 | 成人www| 精品九九九 | 狠狠操综合网 | 精品视频久久久久久 | 黄色短视频在线播放 | 2018天天操 | 日本少妇xxx| 精品人妻一区二区三区浪潮在线 | 你懂的av在线 | 伊人宗合 | av网站在线免费播放 | a∨色狠狠一区二区三区 | 男女瑟瑟视频 | 天堂资源在线 | av噜噜色 | 精品国产一区二区三区四区阿崩 | 在线视频日韩精品 | 最新国产视频 | 国产精品视频成人 | 日韩av动漫 | 免费在线视频一区二区 | 国产精品香蕉 | 亚洲性片 | 看日本黄色录像 | 欧美激情16p | 亚洲精品网站在线 | 国产精品91久久久 | 日韩一区二区三免费高清在线观看 | 天堂一区在线观看 | 久久国产精品一区二区 | 黄色a级在线观看 | 久久综合久久久久 | 丁香花电影免费播放在线观看 | 国偷自产视频一区二区久 | 成人精品三级av在线看 | 三级黄色小视频 | 免费在线播放黄色片 | 天天操综合网 | 欧美人禽杂交狂配 | 国产成人在线视频网站 | 丰满人妻av一区二区三区 | 成人动漫免费在线观看 | 久久天天干 | 欧美一级精品 | 国产毛片在线 | 三级在线网站 | 大地资源在线观看免费高清版粤语 | 久久婷婷网站 | 欧美黄色大片网站 | 中文字幕 日韩有码 | 官场艳妇疯狂性关系 | 亚洲图片一区二区三区 | 四虎国产精品永久免费观看视频 | 美女精品久久 | 亚洲国产精品午夜久久久 | 日日操影院| 久久久av片 | 91精品国产麻豆国产自产在线 | 夜夜爽天天干 | 视频一区国产 | 成人精品免费视频 | 国产视频一区二区视频 | 日日爽爽| 菠萝菠萝蜜网站 | 精品国产一区二区三区在线观看 | 蜜臀久久99精品久久久无需会员 | www.sesehu| 桃谷绘里香在线观看 | 国产午夜大片 | 亚洲一区二区日韩欧美 | 亚洲精品中文字幕成人片 | 91成人免费看片 | 99精品国产99久久久久久97 | 福利片网址 | 国产良妇出轨视频在线观看 | 让男按摩师摸好爽视频 | 久久视频黄色 | 亚洲av永久一区二区三区蜜桃 | 日本高清不卡在线观看 | 国模福利视频 | 公侵犯一区二区三区 | 色在线免费观看 |