数据库大概原理: 数据按树型结构存储,查找数据时只需比对几次就能查出来。数据量增大时,查询时间成对数慢速增长。
1. 为什么使用数据库?
- 持久化。内存中的变量当程序重启和电脑断电时丢失数据,而硬盘可以长时间、持久的存储数据。数据存储到硬盘上的过程叫持久化。
- 数据库更加专业强大。 远比纯文本文档、excel表格强大,增删改查和统计数据
库(scheme)、表(table)、字段(field)、值(value)、主键(primary key)、外键(foreign key)。
2. 常见数据库介绍
- sqlite:轻量级数据库。功能基础简单,在数据较少情况下性能并不比重型数据库低。优点 python解释器内置驱动,无需安装直接使用,适合初学数据库。手机应用使用的就是它。
- mysql:最流行的数据库。中型。开源、php流行推动了mysql的流行
- PostgreSQL:大象数据库,号称最先进的数据库。从大学兴起的开源数据库、架构优秀、功能前卫,数据量很大的时候,性能衰减不明显。消耗相同硬件资源的情况下性能和稳定性优于mysql数据库。django odoo等python框架官方推荐使用此数据库。但是目前市场占有率还不高。
- oracle:地位很高的商业数据库。昂贵、稳定、功能强大,常与java配合使用。
- DB2 sybase MSSQL等,其他的商用数据库。
- access:微软office套件中包含,轻量,由于数据库门槛,使用者不多。
no-sql(no only sql)型数据库:
- mongodb 存储单位是文档,json(类似后端dict)结构整个存进去。数据常放在内存中以获得查询性能,定期把数据持久化到硬盘上。
- redis 键值对“name”=“小明”,
- 常见的数据库字段类型
- 数值、整数
INT INTEGER 占4个字节,2**32,可以表示常用范围整数。
(不常用)TINYINT(1字节) SMALLINT(2字节) MEDIUMINT(3字节) BIGINT(8字节) 适用身份证号、VIP号码比较长的编号。 - 浮点数
FLOAT(4字节) 单精度小数
DOUBLE(8字节) 双精度小数
场景 金钱计算 轨道计算 - 字符串
CHAR char(10)可以存储长度(字节长度)不超过10的字符串。例如:“hello”。但由于长度按照字节判断
- 数值、整数