什么是数据库?
数据库是指长期存储在计算机内有组织可共享的数据集合。数据库中的数据以及数据之间的关系按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并在一定的范围内可以被多个用户共享。
数据库特点:
数据库中的数据尽可能不重复,以最优化的方式为多种应用服务
数据结构独立于应用
对数据的CRUD由统一软件进行管理和控制DBMS
关系型数据库:
SQL、Oracle、Mysql都属于关系型数据库,关系型数据库是指采用了关系模型来组织数据的数据库。简单来说,关系模式就是二维表格模型。
SQL的特点:
1、统合统一、高度非过程化
2、面向集合的操作方式
3、以同一种语法结构提供两种使用方法,命令行方式交互和嵌入主语言
4、语法简单,其中只有94个英文单词,核心功能只有6个单词【insert update delete select】
非关系型数据库:
NoSQL泛指非关系型数据库,主要用于针对超大规模和高并发的社交SNS类型网站的解决方案
NoSQL适用场景:数据模型比较简单;需要灵活性很强的IT系统中;对数据库性能要求较高;
不需要高度数据一致性;
SQL和NoSql:
1、复杂查询SQL数据库比较擅长
2、SQL数据库不适合分层次的数据存储,NoSQL可以很好的实现数据的分层次存储,更适合大数据
3、对于要求数据严格一致性的应用中SQL非常使用,而且稳定,能够保证数据操作的原子性和一致性;而NoSQL对事务的处理能力有限,一般保证最终一致性
4、NoSQL的性能明显优于SQL数据库,一般NoSQL都充分的利用系统的内存资源
5、NoSQL数据库开发方便,不用考虑数据关系和格式
MySQL数据库
MySQL使用的是SQL语句,体积小、速度快,是免费开源的关系型数据库
MySQL是由SQL接口、解析器、优化器、缓存、存储引擎
1、客户端向MySQL服务器发送一个SQL语句
2、服务器首先检查缓存,如果命中则立刻返回存储在缓存中的结果,否则下一步
3、服务器首先进行SQL语句解析、预处理,再由优化器生成对应的执行计划
4、MySQL服务器根据执行计划,调用存储引擎的API执行查询
5、最后将查询结果返回客户端,同时缓存查询结果
常用数据库命令:
安装数据库,在bin目录下:mysqld --initialize --console
启动数据库服务:net start mysql
关闭服务器:net stop mysql
删除mysql系统服务:mysqld --remove
启动客户端,在bin目录下:mysql -uroot -p密码
查看所有的数据库:show databases;
切换当前数据库:ues 数据库名称;
查看当前数据库下的所有数据表:show tables;
查看某个数据表的结构定义:desc 数据库名称;
退出客户端:\q或exit或quit
显示命令清单:\h
放弃正在输入的命令:\c
查看服务器状态信息:\s