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程序的调试,背一下