数据库的相关知识点总结(一)
-
数据存储
-
人工管理阶段
缺点:数据存储量有限,共享处理麻烦,操作容易混乱。
-
文件管理阶段(.txt、.doc、.xls)
优点:数据可以长期保存,可以存储大量的数据,使用简单。
缺点:数据一致性差,数据查找修改不方便,数据冗余度可能比较大。 -
数据库管理阶段
优点:数据组织结构化降低了冗余度,提高了增删改查的效率,容易拓展,方便程序调用处理。
缺点:需要使用sql或者其他特定的语句,相对比较专业。
数据库的基本概念:
按照一定结构,存储管理数据的仓库。
数据库时在数据库管理系统管理和控制下,在一定介质上的数据集合。
数据库管理系统:管理数据库的软件,用于建立和维护数据库
数据库主要分为关系型数据库和非关系型数据库
关系型: 采用关系模型(二维表)来组织数据结构的数据库 ,如Oracle 、SQL_Server、 MySQL
非关系型: 不采用关系模型组织数据结构的数据库,如:MongoDB、Redis
- MySQL数据库
- 是开源数据库,使用C和C++编写
- 能够工作在众多不同的平台上
- 提供了用于C、C++、Python、Java、Perl、PHP、Ruby众多语言的API
- 存储结构优良,运行速度快
- 功能全面丰富
MySQL数据库结构
数据元素–>记录–>数据表–>数据库
基本概念解析:
1、数据表(table) : 存放数据的表格
2、字段(column) : 每个列,用来表示该列数据的含义
3、记录(row) : 每个行,表示一组完整的数据
-
SQL语言
什么是SQL:
结构化查询语言(Structured Query Language),一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存储数据以及查询、更新和管理关系数据库系统。 -
SQL语言特点
1.SQL语言基本上独立于数据库本身
2.各种不同的数据库对SQL语言的支持与标准存在着细微的不同
3.每条命令以 ; 结尾
4.SQL命令(除了数据库名和表名)关键字和字符串可以不区分字母大小写
- 数据库管理
1、查看已有库
show databases;
2、创建库
create database [db] [character set utf8]
create database [db] [character=utf8]
注意:库名的命名
1、数字、字母、下划线,但不能使用纯数字
2、库名区分字母大小写
3、不要使用特殊字符和MySQL关键字
3、切换库
use [db]
4、查看当前所在库
select database();
5、删除库
drop database [db];
慎重!尽管你没有权限orz~
按《刑法》第 286 条和相关司法解释,“删库跑路”等行为,如果造成 10 台以上的系统无法正常运行就可以判刑,如果造成 50 台以上则至少判处 5 年。
- 数据表管理
基本思考过程
1.确定存储内容
2.明确字段构成
3.确定字段数据类型
- 基础数据类型
- 数字类型
整数类型:TINYINT(1字节),SMALLINT(2字节),MEDIUMINT(3字节),INT(4字节),BIGINT(8字节)
浮点类型:FLOAT(4字节),DOUBLE(8字节),DECIMAL
例:decimal(7,2) 总共7位,小数占2位,整数5位。用于确定精度,在数据库中存储准确值
比特值类型:BIT(0、1) 注:0假、1真
- 字符串类型
普通字符串:CHAR,VARCHAR
存储文本:TEXT(长文本数据)
存储二进制数据:BLOB(二进制形式的长文本数据:音频、视频)
存储选项型数据:ENUM,SET
注意:
char:定长,即指定存储字节数后,无论实际存储多少字节数据,最终都占指定的字节大小。默认只能存1字节数据。存取效率高。
varchar:不定长,效率偏低,但是节省空间,实际占用空间根据实际存储大小而定。必须要指定存储大小。
enum用来存储给出的多个值中的一个值,即单选,enum(‘A’,‘B’,‘C’)
set用来存储给出的多个值中的一个值或多个值,即多选,set(‘A’,‘B’,‘C’)
- 时间数据类型
日期:DATE :“YYYY-MM-DD”
日期时间:DATETIME(年月日时分秒)8字节:“YYYY-MM-DD HH:MM:SS”
时间:TIME:“HH:MM:SS”
年份:YEAR:“YYYY”
注:TIMESTAMP:1970-01-01 00:00:00/2038