数据库的基本概念。
- 库 schema:好像整个表格文档。好像一个物流公司共占地100亩,盖了50个仓库,A01仓库负责存储河南客户货物,A02仓库负责存储广州xx项目物料。每一个仓库对应一个项目。
- 表 table:对应Excel表格里sheet1 sheet2。由行内内容和列组成。表描述一个类,每一行描述一个对象。
- 字段 field:对应表格头部的 序号、班级、姓名。好像类的属性。
- 值 value:表格每一行具体存储的信息。
- 主键 primary key:类似表格中 序号 这一列。数据库中这一列会自增并不会重复。
- 外键 foreign key:表1里一个字段引用另一个表的行。有点易于维护,保持数据一致性。
字段类型 field type
数据库创建表示要事先告诉计算机硬盘,每张表的每个字段存什么类型、将要存储的内容大还是小。长度过小,内容值存不进去,长度太大,浪费硬盘空间。我们需要选择合适的类型和长度。
各数据库字段类型关键字基本一致。mysql oracle postgresql常用字段类型如下:
- 整数
整数:常用INT INTEGER 占4个字节,2**32,可以表示常用范围整数。
(不常用)TINYINT(1字节) SMALLINT(2字节) MEDIUMINT(3字节)
BIGINT(8字节) 适用身份证号、VIP号码比较长的编号。 - 浮点数
常用 FLOAT(4字节) 单精度小数 。 即使是单精度,范围也不小。
DOUBLE(8字节) 双精度小数。
场景 金钱计算,轨道计算。 - 字符串
CHAR char(10) 可以存储长度(字节长度)不超过10的字符串。例如"hello"。但由于长度按照字节判断,存unicode编码的中文只能存3个。
常用 VARCHAR 0-65535字节,variable char 可变字符串。VARCHAR(5) 可以存储5个中文或5个英文字母。场景 用户名、家庭住址。
TEXT TINYTEXT medium longtext , 场景 大文本存储,书籍文章、用户反馈。
BLOB medium longblob ,二进制文件, 场景 图片、视频。但一般不在数据库中存储图片和视频,因为会增加数据库的计算压力和带宽传输压力和备份还原的难度和用户信息静态资源耦合到一起,解决方案是 图片视频存到普通文件目录下,数据库中存储文件路径。 - 日期
DATE 日期, 形如"2018-11-08"
常用 DATETIME 日期时间, “2018-11-08 16:52:30” “2018-11-08 16:52:30.123” “2018-11-08 16:52:30 GTM+8”
常用 TIMESTAMP 时间戳, 1541667270 1541667270.7252207 1541667270725 - sqlite的字段比较简化:
INTEGER 整数
REAL 浮点数
TEXT 字符串
NULL 什么都不存
数据库的在python中的简单应用
sqlite 比较轻是python的内置库 我们要使用只需要安装一个驱动叫做JDBC就行具体步骤如下:
1. pycharm左下角图标调出工具栏,打开pycharm右侧Database工具。
2. 点加号-DataSource数据源-sqlite 。
3. 弹出的对话框选择 drivers-sqlite(Xerial)
4. 点击download sqlite-jdbc[latest]
5. 如果网速不好的话 下载sqlite-jdbc-3.20.1.jar 。对话框+号-custom jars 从本地安装
6. 驱动安装成功后点击apply应用
7. 点击对话框 project data source ,开始配置连接数据库的实例
8. File路径点击