数据库和数据库管理系统
- DB DATABASE 数据库 专门存储信息和维护信息的容器
- DBMS DATABASE MANGERANT SYSTEM 数据库管理系统 管理数据库的软件
- SQL 操作数据库的语言
数据库的发展阶段
- 手工管理阶段 应用程序管理数据、数据不保存、不共享、不具有独立性
- 文件管理阶段 文件系统管理数据、数据可长期保存、但共享性差、冗余度大、独立性差。
- 数据管理阶段 数据库管理系统、数据结构复杂、冗余小、易扩充、较高的独立性、统一数据控制。
数据库的特征:
- 数据结构化
- 数据共享
- 减少冗余
- 数据独立性
数据库的类型
- 网状型数据库 采用记录类型为节点的网状数据模型
- 层次型数据库 采用层次模型模拟现实世界中按层次组织起来的事物
- 关系型数据库(RDMBS) 采用二维表结构进行组内和表间数据的依赖关系
- 关系数据库:一些相关的表和其他数据对象的集合。
- 表由行和列组成(类似二维数组的结构):
- 行 :包含一组记录,每行包含一条记录。
- 列:包含一组命名的属性(也称字段)需要定义数据类型
- 行和列的交叉:数据项(字段值)
常见的关系型数据库
- MySQL 瑞典 AB公司开发,目前属于Oracle公司旗下产品
- sqlserver 微软公司 Windows系统上运行
- oracle 甲骨文公司
- db2
MYSQL字符集(掌握)
- 字符 character 人类语言最小的表意符号,例如A、B等
- 字符编码 character encoding
- 给定一系列字符,对每一个字符赋值一个数值,用数值来代表对应的字符,这个数值就是字符的编码
- 字符集 character set:字符与编码组成的集合
- utf-8
- latin1
- gbk
- 字符序 collation 同一字符集内字符之间的比较规则
- 命名规范: 对应字符集名称开头 + 国家(或者 general)+ci/cs/bin
- 以ci结尾的字符序表示大小写不敏感、以cs结尾的字符序表示大小写敏感、以bin结尾的字符序表示按编码值比较
存储引擎 (理解)
- 概念:如何存储数据、如何为存储数据建立索引、如何更新、查询数据等技术的实现方法。
- 数据库的存储引擎决定了表在计算机的存储方式
- Oracle、SqlServer只有一种存储引擎,mysql有多种存储引擎,mysql的核心是存储引擎
- 查询MySQL支持的存储引擎,SHOW ENGINES;
- oInnoDB:mysql 默认的,支持外键、事务
- MyISAM:不支持外键、事务,但是表可以被压缩、有可以修复和检查表的大多数工具
- MEMORY:存在内存中,访问速度快,但是一旦服务关闭,数据会丢失。
- set default_storage_engin=MyISAM;临时设置存储引擎命令
- 存储引擎的区别
SQL脚本
- 一段SQL语句组成的文件,以.sql格式的文件
- 方便我们部署数据库
常用的数据库命令
- 以下命令在命令行中进行操作
- SELECT VERSION();查看数据库的版本号
- SHOW DATABSAES();查看数据库
- USER 数据库名;切换数据库
- user mysql;切换到mysql数据库下
- SHOW TABLES;显示数据库的表信息
- describe tablename;查看具体的表的结构
- SHOW VARIABLES LIKE ’ %CHAR%’ ;查看mysql数据库服务器和数据库字符集
- show table status from Mysql like’%slave%’;查看MySQL数据表的MySQL字符集
- show full columns from user; 查看MySQL数据列的MySQL字符集。