数据库基本
数据库类型
- 关系型数据库——MySQL、Oracle
- 文件型数据库——sqlite
- 文档型(分布式)数据库——MongoDB
- NoSQL
- 数据仓库
关系型数据库:
最常见,最常用,可用做大型系统的主数据库。特点:数据之间是有关系的。
MySQL :性能高,安全性高,容灾略差。免费,适合绝大多数普通应用。
oracle:容灾特别强。收费,适合金融,医疗
文件型数据库:
简单,但不能存储庞大的数据。用来保存不是特别庞大并且简单点的数据。适合做迁移,数据备份之类的,单机存储少量数据。
文档型数据库:
直接存储异构数据 ,方便,适合需求变更多的,性能略差。
NoSQL
没有复杂的关系,对性能有极高的要求,速度快,支持巨大的并发。
- redis
- memcached
- hypertable
bigtable
redis:完全跑在内存里的,性能非常高,分布式。
安全性
数据库的服务器最大的安全隐患在注入。
操作
管理性——建库,建表。
navicat,phpmyadmin
增删改查——注册,增加文章,删除文章等。
建表
主键
- 不重复
- 性能最高
类型
数字
文本
char - 一般不用
varchar - 短
text - 长
索引
用处:
1.性能
2.限制
主键 - 唯一+索引 不重复,提升性能
唯一
索引 - 提高查询性能,降低其他操作性能,占用更多空间
全文索引 - 适合文本搜索,做搜索引擎,更占资源
SQL————4大语句
基础用法:
增 INSERT
INSERT INTO <表> (字段,…) VALUES(值,…);
1
INSERT INTO user (username,password) VALUES('lisi','111111');
删 DELETE
DELETE FROM <表> WHERE 条件 ;
1
DELETE FROM USER WHERE ID=2 ;
改 UPDATE
UPDATE <表> SET 字段=新值,字段=新值,… WHERE 条件;
1
UPDATA user SET password='654321',username='wangwu' WHERE ID=1 ;
查 SELECT
SELECT 字段列表 FROM <表> WHERE 条件 ORDER BY 字段 LIMIT 0,30;
1
2
3
4SELECT username FROM user WHERE id<5;
SELECT * FROM user WHERE id<5;
SELECT * FROM user WHERE id<5 ORDER BY ID DESC //降序;
SELECT * FROM user WHERE id<5 ORDER BY ID DESC LIMIT 1; //只要一条