数据库
1. 介绍:
数据库是一个长期存储在计算机内的,有组织的,有共享的,统一团里的数据集合,是按数据结构来存储和管理数据的计算机软件系统
存放数据,访问数据,操作数据的存储仓库,可以查询,统计,添加,删除和修改
1.1 数据库的特点:
数据共享,较少数据冗余;特定的数据类型;较高的数据独立性;统一的数据控制
1.2 数据类型:
数据类型决定数据在计算机中的存储格式,代表不同的信息类型:整数;浮点数;精确小数;二进制;日期时间;字符串;
1.3数据库系统
数据库管理系统:用于管理数据库的软件,授权,提供数据的操作机制,维护数据的安全性,完整性和可靠性
数据库系统的数据冗余小,可以节省数据的存储空间
很容易实现多个数据的共享
1.4 sql 语言
对数据库的操作语言叫sql(Structured Query Language),结构化查询语言
sql语言书写规范
数据库系统软不区分大小写,建议大写。但字符串常量区分大小写
可单行或多行。以;结尾
关键词不能跨多行或简写
用空格和缩进来提高语句的可读性
子句通常位于独立行,方便编辑,提高可读性
sql语言包含以下四个部分
数据定义语言(DDL):DROP , CREATE , ALTER等语句
数据操作语言(DML):INSERT(插入),UPDATE(修改),DELETE(删除)等语句
数据查询语言(DQL):SELECT语句
数据控制语言(DCL):GRANT, REVOKE,COMMIT,ROLLBACK等语句
1.5 数据库存储引擎
数据库存储引擎是数据库底层软件组件。数据库管理系统(DBMS)使用数据引擎进行创建,查询,更新和删除数据库等操作。不同的存储引擎提供不同的存储机制,索引技巧,锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能,不同的数据库管理系统支持多种不同的数据存储引擎,msyql的核心就是存储引擎
(1) 存储引擎介绍
(3) 存储引擎的选择
注:除非需要InnoDB不具备的特性,且没有其他办法替代,否则都应优先考虑InnoDB
MylSAM:默认的Mysql插件式存储引擎。 以读、插入操作为主,且更新、删除操作较少,并对事务的完整性,并发性要求不高。此存储引擎咋web、数据仓储和其他应用环境下使用较多
InnoDB :用于事务处理应用程序,支持外键。以插入、查询、更新和删除等操作较多,对事务的完整性要求较高,并发条件下要求数据一致性。InnoDB存储引擎有效的降低了由于删除和更新导致的锁定,还可以确保事务的完整性提交和回滚,对于类似计费系统或者财务系统对数据的准确性要求比较高,使用此存储引擎是合适的。采用事务日志,系统崩溃后易于数据的恢复
Memory :将所有数据保存于RAM中,支持Hash索引,在需要快速定位记录和其他类似数据的环境下,可提供快速访问。缺陷:对表的大小有限制,太大无法cache在内存中,且不支持BLOB、TEXTleixing ,使用的表级锁,并发性能低。一般用于作为中间表保存中间数据(redis,memcached非关系型数据库)
MERGE :用于将一系列等同的myISAM