从今天开始,学习将进入新的阶段——数据库,这是对于一个从事IT行业工作者来说是十分重要的,所以需要我们认真地去学习应用。同时将之前所学的知识点不能落下,要做好巩固复习与总结,相信我们一起能够进步,提高我们的技术与知识!!!
数据库是指长期存储在计算机内有组织可共享的数据集合。数据库中的数据以及数据之间的关系按照一 定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并在一定的范围内可以被多个用户共享。
关系型数据库,存储的格式可以直观地反映实体间的关系。关系型数据库和常见的表格比较相似,关系型数据库中表与表之间是有很多复杂的关联关系的。 在轻量或者小型的应用中,使用不同的关系型数据库对系统的性能影响不大,但是在构建大型应用时,则需要根据应用的业务需求和性能需求,选择合适的关系型数据库。
SQL的特点:
统合统一、高度非过程化
面向集合的操作方式
以同一种语法结构提供两种使用方法,命令行方式交互和嵌入主语言
语法简单,其中只有94个英文单词,核心功能只有6个单词【insert update delete select】
随着近些年技术方向的不断拓展,大量的NoSql数据库如MongoDB、Redis、Memcache出于简化数据库结构、避免冗余、影响性能的表连接、摒弃复杂分布式的目的被设计。指的是分布式的、非关系型的、不保证遵循ACID原则的数据存储系统。
常见的NoSQL数据库有4种类型:
key-value数据库,使用hash表存储数据。例如Redis
列存储数据库,主要针对分布式的海量数据,例如HBase
文档型数据库,主要存储版本化的文档信息,例如MongoDB
图形化数据库,主要用于计算数据之间的关系,例如Neo4j
1、复杂查询SQL数据库比较擅长
2、SQL数据库不适合分层次的数据存储,NoSQL可以很好的实现数据的分层次存储,更适合大数据
3、对于要求数据严格一致性的应用中SQL非常使用,而且稳定,能够保证数据操作的原子性和一致性;而NoSQL对事务的处理能力有限,一般保证最终一致性
4、SQL厂商支持,而NoSQL是社区支持
5、性能对比中,NoSQL明显优于SQL数据库,一般NoSQL都充分的利用系统的内存资源
6、NoSQL数据库开发方便,不用考虑数据关系和格式
MySQL使用的是SQL语句,体积小、速度快、免费开源的关系型数据库
MySQL是由SQL接口、解析器、优化器、缓存、存储引擎
1、客户端向MySQL服务器发送一个SQL语句
2、服务器首先检查缓存,如果命中则立刻返回存储在缓存中的结果,否则下一步
3、服务器首先进行SQL语句解析、预处理,再由优化器生成对应的执行计划
4、MySQL服务器根据执行计划,调用存储引擎的API执行查询
5、最后将查询结果返回客户端,同时缓存查询结果
启动客户端:在bin目录下 mysql -uroot -p123456
查看所有的数据库 show databases;
切换当前数据库 use 数据库名称;
查看当前数据库下的所有数据表 show tables;
查看某个数据表的结构定义 desc 数据表名称;
放弃正在输入的命令 \c
显示命令清单 \h
退出客户端 \q ,也可以使用 exit 或者 quit
查看服务器的状态信息 \s
退出客户端 quit