【計(jì)算機(jī)本科補(bǔ)全計(jì)劃】Mysql 學(xué)習(xí)小計(jì)(3)

正文之前

想到自己每天中午還要玩一小時(shí)手機(jī),就自責(zé)不已吕朵,今天看成甲的好好學(xué)習(xí)一書猎醇,頗有收獲,晚上寫給大伙看努溃,現(xiàn)在還是謝謝 Mysql硫嘶,到了后面感覺(jué)越來(lái)越難了呢!梧税!

正文


Mysql 事務(wù)

Mysql 事務(wù)主要用于處理操作量大沦疾,復(fù)雜度高的數(shù)據(jù)称近。比如說(shuō),在人員管理系統(tǒng)中哮塞,你刪除一個(gè)人員刨秆,你即需要?jiǎng)h除人員的基本資料,也要?jiǎng)h除和該人員相關(guān)的信息彻桃,如信箱坛善,文章等等晾蜘,這樣邻眷,這些數(shù)據(jù)庫(kù)操作語(yǔ)句就構(gòu)成一個(gè)事務(wù)!簡(jiǎn)單點(diǎn)說(shuō)剔交,事務(wù)就是你要進(jìn)行的一系列操作肆饶。你每輸入一條指令岖常,就類似于是進(jìn)行了一個(gè)事務(wù)驯镊。在 ### Mysql 命令行的默認(rèn)設(shè)置下,事務(wù)都是自動(dòng)提交的竭鞍,即執(zhí)行 SQL 語(yǔ)句后就會(huì)馬上執(zhí)行 COMMIT 操作板惑。因此要顯式地開(kāi)啟一個(gè)事務(wù)務(wù)須使用命令 begin 或 START TRANSACTION,或者執(zhí)行命令 set AUTOCOMMIT=0偎快,用來(lái)禁止使用當(dāng)前會(huì)話的自動(dòng)提交冯乘。

太過(guò)具體的內(nèi)容暫時(shí)不說(shuō),說(shuō)點(diǎn)平時(shí)用的上的晒夹。

Mysql 事務(wù)處理主要有兩種方法:
1裆馒、用 begin, rollback, COMMIT來(lái)實(shí)現(xiàn)

  • begin 開(kāi)始一個(gè)事務(wù)
  • rollback 事務(wù)回滾
  • COMMIT 事務(wù)確認(rèn)

2、直接用 set 來(lái)改變 Mysql 的自動(dòng)提交模式:

  • set AUTOCOMMIT=0 禁止自動(dòng)提交,也就是說(shuō)你的操作會(huì)被默認(rèn)備份存儲(chǔ)丐怯,然后如果你需要后退直接后退即可
  • set AUTOCOMMIT=1 開(kāi)啟自動(dòng)提交

綜上來(lái)看喷好,我們開(kāi)啟自動(dòng)提交會(huì)比較好,除非你能極強(qiáng)的把控自己記得提交读跷,或者有別的需求梗搅,否則一般的學(xué)習(xí)與練習(xí)的話,回滾操作其實(shí)并非那么渴求的效览。不過(guò)這個(gè)東西无切,就好比是每一次操作都進(jìn)行備份了,如果能實(shí)時(shí)回滾钦铺,確實(shí)很不錯(cuò)的订雾。所以關(guān)閉自動(dòng)提交貌似也是很好的工作習(xí)慣啊C础洼哎!而且還支持打標(biāo)記點(diǎn)烫映,也就是說(shuō)每一次回滾都只是回到打標(biāo)記點(diǎn)的位置,而不會(huì)把之前做的所有工作一并付之東流~ 美滋滋


Mysql alter命令

當(dāng)我們需要修改數(shù)據(jù)表名或者修改數(shù)據(jù)表字段時(shí)噩峦,就需要使用到 Mysql alter命令锭沟。綜合以前的知識(shí),大概建立一個(gè)架構(gòu):

從上面看得出來(lái)识补,數(shù)據(jù)庫(kù)是由表以及表的關(guān)系構(gòu)成的族淮,在每個(gè)表內(nèi),都有行列之分凭涂,列是屬性:姓名祝辣,編號(hào)這些,行就具體到每個(gè)人切油,對(duì)應(yīng)什么學(xué)號(hào)蝙斜,什么姓名,我們用delete配合where刪除人澎胡,用alter修改列孕荠,通俗點(diǎn)說(shuō),如果表是一個(gè)學(xué)生管理系統(tǒng)攻谁,那么alter就是新開(kāi)一門課稚伍,所有的同學(xué)都多了一門課,成績(jī)暫時(shí)為NULL戚宦,如果是delete那就是開(kāi)出一個(gè)同學(xué)个曙,對(duì)別的同學(xué)沒(méi)啥影響,就是少了一行而已阁苞。詳情見(jiàn)下圖:

如果你需要指定新增字段的位置困檩,可以使用Mysql提供的關(guān)鍵字 first (設(shè)定位第一列), after 字段名(設(shè)定位于某個(gè)字段之后)那槽。first 和 after 關(guān)鍵字只占用于 add 子句悼沿,所以如果你想重置數(shù)據(jù)表字段的位置就需要先使用 drop 刪除字段然后使用 add 來(lái)添加字段并設(shè)置位置。

如果需要修改字段類型及名稱, 你可以在alter命令中使用 modify 或 change 子句 骚灸。

其實(shí)change就可以直接不改名字只改類型達(dá)到modify的效果吧糟趾??

alter table 對(duì) Null 值和默認(rèn)值的影響

修改表名

WTF???為毛不能改甚牲?不管了义郑。到時(shí)候直接復(fù)制一列,然后刪除原來(lái)那一列好了丈钙。


Mysql 索引

  • 1.可以通過(guò)建立唯一索引或者主鍵索引,保證數(shù)據(jù)庫(kù)表中每一行數(shù)據(jù)的唯一性.

  • 2.建立索引可以大大提高檢索的數(shù)據(jù),以及減少表的檢索行數(shù)

  • 3.在表連接的連接條件 可以加速表與表直接的相連

  • 4.在分組和排序字句進(jìn)行數(shù)據(jù)檢索,可以減少查詢時(shí)間中 分組 和 排序時(shí)所消耗的時(shí)間(數(shù)據(jù)庫(kù)的記錄會(huì)重新排序)

  • 5.建立索引,在查詢中使用索引 可以提高性能

或者也可以用alter來(lái)創(chuàng)建索引

alter table table_name add index index_name ON (column(length))

刪除表中索引:

drop index [indexName] ON mytable; 

我一開(kāi)始把索引視為指針非驮,結(jié)果后來(lái)查了下發(fā)現(xiàn)我想錯(cuò)了。索引不存在別的實(shí)際的引用雏赦,只是我們建立索引的時(shí)候劫笙,單獨(dú)的把一列或者多列組合起來(lái)芙扎,形成一個(gè)有序的排布,當(dāng)我們需要檢索我們建立了索引的列的時(shí)候填大,比如說(shuō)我們?cè)趖ableid上建立了索引戒洼,那么當(dāng)我們需要用where來(lái)對(duì)tableid進(jìn)行檢索的時(shí)候,會(huì)首先檢索索引允华,然后可以迅速的找到滿足我們條件的行的地址圈浇,然后直接查詢信息即可。這個(gè)過(guò)程對(duì)我們來(lái)說(shuō)是不可見(jiàn)靴寂,或許當(dāng)你的表格達(dá)到一定程序的時(shí)候磷蜀,會(huì)在檢索時(shí)間上顯示出來(lái)。但是這個(gè)加速的過(guò)程確實(shí)是恐怖的榨汤,100倍的提升不是玩笑蠕搜。

具體更多的索引的內(nèi)容詳見(jiàn):Mysql - index 詳解


Mysql 復(fù)制表

如果我們需要完全的復(fù)制Mysql的數(shù)據(jù)表怎茫,包括表的結(jié)構(gòu)收壕,索引,默認(rèn)值等轨蛤。 如果僅僅使用create table ... select 命令蜜宪,是無(wú)法實(shí)現(xiàn)的。

  • 使用 SHOW create table 命令獲取創(chuàng)建數(shù)據(jù)表(create table) 語(yǔ)句祥山,該語(yǔ)句包含了原數(shù)據(jù)表的結(jié)構(gòu)圃验,索引等。
  • 復(fù)制以下命令顯示的SQL語(yǔ)句缝呕,修改數(shù)據(jù)表名澳窑,并執(zhí)行SQL語(yǔ)句,通過(guò)以上命令 將完全的復(fù)制數(shù)據(jù)表結(jié)構(gòu)供常。
  • 如果你想復(fù)制表的內(nèi)容摊聋,你就可以使用 insert into ... select 語(yǔ)句來(lái)實(shí)現(xiàn)。

第一步:

show create table tableuse;

第二步:完全復(fù)制上面的輸出栈暇。然后直接修改表名就好了麻裁。

第三步:復(fù)制數(shù)據(jù)

insert into tableclone (tableid,createtime,Tableuse) select tableid,createtime,Tableuse from tableuse;

在教程下面看到的,哭死:??

create table targetTable LIKE sourceTable;
insert into targetTable select * FROM sourceTable;

Mysql 元數(shù)據(jù)

正文之后

班上的黨支部書記考研源祈,然后班上黨員投骰子決定誰(shuí)來(lái)繼任煎源,最后他么居然我上,心痛香缺。

我這個(gè)保研到外院去的人啊手销,又是班長(zhǎng),又是畢設(shè)負(fù)責(zé)人图张,又是年級(jí)的畢設(shè)負(fù)責(zé)人锋拖,又是年級(jí)學(xué)生會(huì)的小佬馏慨,各種忙活,上課組隊(duì)還帶了個(gè)考研隊(duì)姑隅,計(jì)算機(jī)的BOSS又不找我分配任務(wù)写隶,哎,全身心奉獻(xiàn)給我偉大的學(xué)生工作了么讲仰?放屁慕趴,不存在的,等我畢設(shè)開(kāi)始了誰(shuí)愛(ài)干誰(shuí)干鄙陡,反正明年我跑了冕房。本來(lái)也是對(duì)學(xué)院有點(diǎn)愧疚,拿了名額跑到別的學(xué)院去了趁矾。多干點(diǎn)活還了耙册。自己心情舒暢就好了!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末毫捣,一起剝皮案震驚了整個(gè)濱河市详拙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蔓同,老刑警劉巖饶辙,帶你破解...
    沈念sama閱讀 211,348評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異斑粱,居然都是意外死亡弃揽,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門则北,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)矿微,“玉大人,你說(shuō)我怎么就攤上這事尚揣∮渴福” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 156,936評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵惑艇,是天一觀的道長(zhǎng)蒿辙。 經(jīng)常有香客問(wèn)我,道長(zhǎng)滨巴,這世上最難降的妖魔是什么思灌? 我笑而不...
    開(kāi)封第一講書人閱讀 56,427評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮恭取,結(jié)果婚禮上泰偿,老公的妹妹穿的比我還像新娘。我一直安慰自己蜈垮,他們只是感情好耗跛,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布裕照。 她就那樣靜靜地躺著,像睡著了一般调塌。 火紅的嫁衣襯著肌膚如雪晋南。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,785評(píng)論 1 290
  • 那天羔砾,我揣著相機(jī)與錄音负间,去河邊找鬼。 笑死姜凄,一個(gè)胖子當(dāng)著我的面吹牛政溃,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播态秧,決...
    沈念sama閱讀 38,931評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼董虱,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了申鱼?” 一聲冷哼從身側(cè)響起愤诱,我...
    開(kāi)封第一講書人閱讀 37,696評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎润讥,沒(méi)想到半個(gè)月后转锈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,141評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡楚殿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了竿痰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片脆粥。...
    茶點(diǎn)故事閱讀 38,625評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖影涉,靈堂內(nèi)的尸體忽然破棺而出变隔,到底是詐尸還是另有隱情,我是刑警寧澤蟹倾,帶...
    沈念sama閱讀 34,291評(píng)論 4 329
  • 正文 年R本政府宣布匣缘,位于F島的核電站,受9級(jí)特大地震影響鲜棠,放射性物質(zhì)發(fā)生泄漏肌厨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評(píng)論 3 312
  • 文/蒙蒙 一豁陆、第九天 我趴在偏房一處隱蔽的房頂上張望柑爸。 院中可真熱鬧,春花似錦盒音、人聲如沸表鳍。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)譬圣。三九已至瓮恭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間厘熟,已是汗流浹背偎血。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盯漂,地道東北人颇玷。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像就缆,于是被迫代替她去往敵國(guó)和親帖渠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容