hi
今天登上來,發現竟然有了3個評論~~加油吧!
這周的計劃其實遠遠沒有達到,然後下周還有一大堆事情。。。那麼。。。周末好好玩吧~
今天試圖完結MySQL的基礎篇知識,小白變為大白?
1、MySQL
-----存儲引擎(入門)-----
----簡介
---直觀的例子
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就是一個/種存儲引擎
---
MySQL可以將數據以不同的技術存儲在文件/內存中,這種技術就是存儲引擎(也就是說,存儲引擎就是一種技術,一種存儲技術)
各種引擎功能不一樣,源於存儲機制、索引技巧、鎖定水平的不同
又稱為表類型
---
MySQL支持的主要有
MyISAM,InnoDB,Memory,CSV,Archive
----知識點-並發處理
當多個連接對記錄進行修改時保證數據的一致性和完整性
比如處理多個用戶對同一條記錄的請求————常用的為共享鎖(讀鎖)(多個用戶可以讀取同一個資源,讀取過程中數據不會發生任何變化),排它鎖(寫鎖)(在任何時候只能有一個用戶寫入資源,進行寫鎖時會阻塞其他讀鎖或寫鎖操作)
加鎖,要注意只針對最正確的對象(對象不能太大太小)——表鎖(是一種開銷最小的鎖策略),行鎖(開銷最大)
----知識點-事務處理
用於保證數據庫的完整性
滿足:ACID(原子性,一致性,隔離性,持久性)
----知識點-外鍵
保證數據一致性的策略(在之前講各種鍵的那裡講過的)
----知識點-索引
對數據表中一列或多列的值進行排序的一種結構(類似目錄的功能)
實現快速的查詢
----各種引擎的特點
MyISAM:256TB,支持索引,表鎖,支持數據壓縮——適用於事務不多的情況
InnoDB:64TB,支持事務安全(這是常選用該引擎的原因),支持索引,行鎖,支持外鍵(同樣只有該引擎支持這一項)——高大上
Memory:有存儲限制(由內存大小決定),支持索引,表鎖
Archive:無存儲限制,支持索引,表鎖,支持數據壓縮
索引的類型還有不同,再說。
其他的:CSV不支持索引,Blackhole用作數據復制的中繼(類似閱後即焚)
用的最多的是前兩個。
----設置存儲引擎
---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集成環境,可以直接登陸到phpmyadmin
正常的是要到phpmyadmin官網下載對應自己用的php版本的
下載安裝好也是要到網頁端進行操作的,畢竟是放在服務器端的東西
能夠可視化的進行數據庫、數據表、數據的操作,感覺上,不是很習慣,個人還是喜歡用命令的方式。不過可視化的方便查找錯誤什麼的吧,還需要再去體會理解
----Navicat
有中文版客戶端的
----MySQL Workbench
官網提供的客戶端
不打算具體說,網上查得到,而且多摸摸就會了
2、AJAX
-----簡介-----
中文名:異步的Javascript和XML(異步請求,局部刷新)
是一種無需重新加載整個網頁而可以更新部分頁面的技術
改變了web的格局
預備知識:CSS,HTML,JS
----同步和異步
同步:(原來的技術)客戶端請求後服務器響應處理後返回處理結果,整個過程中客戶端一直在等待——同步指的是,客戶端和服務器端同步進行處理
異步:(舉個例子,填寫注冊信息的時候,填了郵箱,然後輸入框右側很快給出一個綠色的對號)客戶端有變化的時候,(似乎)立即發送請求到處理器端,然後處理器端處理後返回結果,這個過程中,客戶端仍在進行其他操作——客戶端、服務器端的異步操作
技術區別:在於缺少XMLHttpRequest這個對象——用於後台和服務器進行數據的交換
過程簡介:HTML&CSS來實現頁面,表達信息+XHR進行數據的異步交換+JavaScript操作DOM實現動態局部刷新
----XMLHttpRequest(XHR)對象創建
實例化XHR:var request=new XMLHttpRequest();
除了IE6及以前版本的浏覽器都支持XHR
----HTTP請求
http是計算機通過網絡進行通信的規則/協議,是一種無狀態(不保留狀態/無記憶)的協議
http請求的步驟:建立TCP連接-》浏覽器“喊向”服務器-》服務器應答-》服務器回答-》關閉連接
請求和響應有各自的格式,詳細可以查《計算機網絡》或者類似書籍,大概知道有GET/POST啊什麼的就可以暫時繼續
注意:GET是用URL傳遞數據,是全部可見的(明文),而且有字符數限制,優點是簡單、安全且可以保存為書簽等
響應後在浏覽器有狀態碼要適當了解:主要看首位——1xx,信息類,表示正在處理;2xx,成功;3xx,重定向,表示請求不成功,需要客戶進一步動作;4xx,客戶端錯誤,表示客戶端提交的請求有錯誤,比如404 NOT FOUND,意味著請求中所引用的文檔不存在;5xx,服務器錯誤————有助於web程序的調試,背一下