数据库类型

  1. 关系型数据库——MySQL、Oracle
  2. 文件型数据库——sqlite
  3. 文档型(分布式)数据库——MongoDB
  4. NoSQL
  5. 数据仓库

关系型数据库:
最常见,最常用,可用做大型系统的主数据库。特点:数据之间是有关系的。
MySQL :性能高,安全性高,容灾略差。免费,适合绝大多数普通应用。
oracle:容灾特别强。收费,适合金融,医疗
文件型数据库:
简单,但不能存储庞大的数据。用来保存不是特别庞大并且简单点的数据。适合做迁移,数据备份之类的,单机存储少量数据。
文档型数据库:
直接存储异构数据 ,方便,适合需求变更多的,性能略差。

NoSQL
没有复杂的关系,对性能有极高的要求,速度快,支持巨大的并发。

  1. redis
  2. memcached
  3. hypertable
  4. bigtable

    redis:完全跑在内存里的,性能非常高,分布式。

安全性

数据库的服务器最大的安全隐患在注入。

操作

管理性——建库,建表。
navicat,phpmyadmin
增删改查——注册,增加文章,删除文章等。

建表

主键

  1. 不重复
  2. 性能最高

类型
数字
文本
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
4
SELECT 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; //只要一条