hi
今天登上來,發(fā)現(xiàn)竟然有了3個(gè)評(píng)論~~加油吧!
這周的計(jì)劃其實(shí)遠(yuǎn)遠(yuǎn)沒有達(dá)到,然后下周還有一大堆事情。。。那么。。。周末好好玩吧~
今天試圖完結(jié)MySQL的基礎(chǔ)篇知識(shí),小白變?yōu)榇蟀祝?/p>
1、MySQL
-----存儲(chǔ)引擎(入門)-----
----簡介
---直觀的例子
mysql> SHOW CREATE TABLE test;
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| test | CREATE TABLE `test` (
`id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1 |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.04 sec)
這里的ENGINE=InnoDB就是一個(gè)/種存儲(chǔ)引擎
---
MySQL可以將數(shù)據(jù)以不同的技術(shù)存儲(chǔ)在文件/內(nèi)存中,這種技術(shù)就是存儲(chǔ)引擎(也就是說,存儲(chǔ)引擎就是一種技術(shù),一種存儲(chǔ)技術(shù))
各種引擎功能不一樣,源于存儲(chǔ)機(jī)制、索引技巧、鎖定水平的不同
又稱為表類型
---
MySQL支持的主要有
MyISAM,InnoDB,Memory,CSV,Archive
----知識(shí)點(diǎn)-并發(fā)處理
當(dāng)多個(gè)連接對(duì)記錄進(jìn)行修改時(shí)保證數(shù)據(jù)的一致性和完整性
比如處理多個(gè)用戶對(duì)同一條記錄的請(qǐng)求————常用的為共享鎖(讀鎖)(多個(gè)用戶可以讀取同一個(gè)資源,讀取過程中數(shù)據(jù)不會(huì)發(fā)生任何變化),排它鎖(寫鎖)(在任何時(shí)候只能有一個(gè)用戶寫入資源,進(jìn)行寫鎖時(shí)會(huì)阻塞其他讀鎖或?qū)戞i操作)
加鎖,要注意只針對(duì)最正確的對(duì)象(對(duì)象不能太大太小)——表鎖(是一種開銷最小的鎖策略),行鎖(開銷最大)
----知識(shí)點(diǎn)-事務(wù)處理
用于保證數(shù)據(jù)庫的完整性
滿足:ACID(原子性,一致性,隔離性,持久性)
----知識(shí)點(diǎn)-外鍵
保證數(shù)據(jù)一致性的策略(在之前講各種鍵的那里講過的)
----知識(shí)點(diǎn)-索引
對(duì)數(shù)據(jù)表中一列或多列的值進(jìn)行排序的一種結(jié)構(gòu)(類似目錄的功能)
實(shí)現(xiàn)快速的查詢
----各種引擎的特點(diǎn)
MyISAM:256TB,支持索引,表鎖,支持?jǐn)?shù)據(jù)壓縮——適用于事務(wù)不多的情況
InnoDB:64TB,支持事務(wù)安全(這是常選用該引擎的原因),支持索引,行鎖,支持外鍵(同樣只有該引擎支持這一項(xiàng))——高大上
Memory:有存儲(chǔ)限制(由內(nèi)存大小決定),支持索引,表鎖
Archive:無存儲(chǔ)限制,支持索引,表鎖,支持?jǐn)?shù)據(jù)壓縮
索引的類型還有不同,再說。
其他的:CSV不支持索引,Blackhole用作數(shù)據(jù)復(fù)制的中繼(類似閱后即焚)
用的最多的是前兩個(gè)。
----設(shè)置存儲(chǔ)引擎
---my.ini修改
default-storage-engine=...
---CREATE TABLE table(
...
舉例子如下
mysql> CREATE TABLE tp1(
-> s1 VARCHAR(20)
-> )ENGINE=MyISAM;
Query OK, 0 rows affected (0.10 sec)
mysql> SHOW CREATE TABLE tp1;
+-------+---------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+---------------------------------------------------------------------------------------------+
| tp1 | CREATE TABLE `tp1` (
`s1` varchar(20) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
+-------+---------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> ALTER TABLE tp1 ENGINE=InnoDB;
Query OK, 0 rows affected (0.35 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> SHOW CREATE TABLE tp1;
+-------+---------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+---------------------------------------------------------------------------------------------+
| tp1 | CREATE TABLE `tp1` (
`s1` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+---------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
-----圖形化管理工具-----
----phpMyAdmin
由于我的是wamp集成環(huán)境,可以直接登陸到phpmyadmin
正常的是要到phpmyadmin官網(wǎng)下載對(duì)應(yīng)自己用的php版本的
下載安裝好也是要到網(wǎng)頁端進(jìn)行操作的,畢竟是放在服務(wù)器端的東西
能夠可視化的進(jìn)行數(shù)據(jù)庫、數(shù)據(jù)表、數(shù)據(jù)的操作,感覺上,不是很習(xí)慣,個(gè)人還是喜歡用命令的方式。不過可視化的方便查找錯(cuò)誤什么的吧,還需要再去體會(huì)理解
----Navicat
有中文版客戶端的
----MySQL Workbench
官網(wǎng)提供的客戶端
不打算具體說,網(wǎng)上查得到,而且多摸摸就會(huì)了
2、Ajax
-----簡介-----
中文名:異步的javascript和xml(異步請(qǐng)求,局部刷新)
是一種無需重新加載整個(gè)網(wǎng)頁而可以更新部分頁面的技術(shù)
改變了web的格局
預(yù)備知識(shí):CSS,HTML,JS
----同步和異步
同步:(原來的技術(shù))客戶端請(qǐng)求后服務(wù)器響應(yīng)處理后返回處理結(jié)果,整個(gè)過程中客戶端一直在等待——同步指的是,客戶端和服務(wù)器端同步進(jìn)行處理
異步:(舉個(gè)例子,填寫注冊(cè)信息的時(shí)候,填了郵箱,然后輸入框右側(cè)很快給出一個(gè)綠色的對(duì)號(hào))客戶端有變化的時(shí)候,(似乎)立即發(fā)送請(qǐng)求到處理器端,然后處理器端處理后返回結(jié)果,這個(gè)過程中,客戶端仍在進(jìn)行其他操作——客戶端、服務(wù)器端的異步操作
技術(shù)區(qū)別:在于缺少xmlhttpRequest這個(gè)對(duì)象——用于后臺(tái)和服務(wù)器進(jìn)行數(shù)據(jù)的交換
過程簡介:HTML&CSS來實(shí)現(xiàn)頁面,表達(dá)信息+XHR進(jìn)行數(shù)據(jù)的異步交換+Javascript操作DOM實(shí)現(xiàn)動(dòng)態(tài)局部刷新
----XMLHttpRequest(XHR)對(duì)象創(chuàng)建
實(shí)例化XHR:var request=new XMLHttpRequest();
除了IE6及以前版本的瀏覽器都支持XHR
----HTTP請(qǐng)求
http是計(jì)算機(jī)通過網(wǎng)絡(luò)進(jìn)行通信的規(guī)則/協(xié)議,是一種無狀態(tài)(不保留狀態(tài)/無記憶)的協(xié)議
http請(qǐng)求的步驟:建立TCP連接-》瀏覽器“喊向”服務(wù)器-》服務(wù)器應(yīng)答-》服務(wù)器回答-》關(guān)閉連接
請(qǐng)求和響應(yīng)有各自的格式,詳細(xì)可以查《計(jì)算機(jī)網(wǎng)絡(luò)》或者類似書籍,大概知道有GET/POST啊什么的就可以暫時(shí)繼續(xù)
注意:GET是用URL傳遞數(shù)據(jù),是全部可見的(明文),而且有字符數(shù)限制,優(yōu)點(diǎn)是簡單、安全且可以保存為書簽等
響應(yīng)后在瀏覽器有狀態(tài)碼要適當(dāng)了解:主要看首位——1xx,信息類,表示正在處理;2xx,成功;3xx,重定向,表示請(qǐng)求不成功,需要客戶進(jìn)一步動(dòng)作;4xx,客戶端錯(cuò)誤,表示客戶端提交的請(qǐng)求有錯(cuò)誤,比如404 NOT FOUND,意味著請(qǐng)求中所引用的文檔不存在;5xx,服務(wù)器錯(cuò)誤————有助于web程序的調(diào)試,背一下
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注