hello呀!各位,这里是Sunlightʊə。
目前大三,主要在学习Java语言。可以一起交流呀!
专栏:
目录
数据库是什么?
首先,在我们学习数据库之前要了解数据库是什么?MySQL又是什么?
下面,我们来简单介绍一下:
MySQL:
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
MySQL/Oracle/SQL server是软件,而SQL则是一个编程语言(是一个结构化的查询语言).
这个编程语言就是运行在MySQL/Oracle/SQL server之上的.(就像Java运行在JVM之上一样).
说完MySQL,我们再来介绍一下什么是数据库.
首先,我们在电脑上存储文件的时候,一般情况下为了方便常常将有某种联系或关系的一些文件存放到一个文件夹中.这样的存储对我们去查看文件来说,是一种极其方便的存储形式.我们的数据库就类似于文件夹一样,有了这些数据库我们查找文件更加的方便.
那可能有人会有疑问了:我在电脑上存储数据用文件或者excel表格就可以了.为什么要用数据库呐?
那必定是数据库有它自己的优势啊!
那么数据库的优势有哪些呐?
数据库可以存放大量的数据,允许很多人同时使用里面的数据.
数据库的优势:
- 1.数据以表格的形式出现
- 2.每行为各种记录名称
- 3.每列为记录名称所对应的数据域
- 4.许多的行和列组成一张表单
- 5.若干的表单组成database(数据库)
数据库分类
数据库主要分为两类:一类是关系型数据库,一类是非关系型数据库.
关系型数据库:
关系型数据库指的是使用关系模型(二维表格模型)来组织数据的数据库。
常见关系型数据库管理系统(ORDBMS):
- Oracle
- MySql
- Microsoft SQL Server
- SQLite
- PostgreSQL
- IBM DB2
关系型数据库的特点:
优点:
1、易于维护:格式上有严格的要求,都是使用表结构,格式一致;
2、使用方便:SQL语言通用,可用于复杂查询;
3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
缺点:
1、读写性能比较差,尤其是海量数据的高效率读写;
2、固定的表结构,灵活度稍欠;
3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。
非关系型数据库:
非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定,常用于存储非结构化的数据。
常见的NOSQL数据库:
- 键值数据库:Redis、Memcached、Riak
- 列族数据库:Bigtable、HBase、Cassandra
- 文档数据库:MongoDB、CouchDB、MarkLogic
- 图形数据库:Neo4j、InfoGrid
非关系型数据库的优势:
- 非关系型数据库存储数据的格式可以是 key-value 形式、文档形式、图片形式等。使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
- 速度快,效率高。
- 非关系型数据库具有扩展简单、高并发、高稳定性、成本低廉的优势。
- 非关系型数据库相比较关系型数据库而言,功能更少,性能更快,能更好的适应分布式环境.
客户端和服务器
在数据库是什么中,我们提到了数据库服务器.那么什么是服务器呐?什么又是客户端呐?
服务器:
被动接收数据的一方.
存储数据的本体.
客户端:
主动发送数据的一方.
和用户交互的部分. -->通过命令行来输入SQL语句.
命令行客户端是自带的客户端.除此之外还有图形化客户端.
客户端和服务器,可以在同一台主机上,也可以在不同的主机上.
客户端和服务器之间通过网络来进行通信,但无论是不是在同一个主机,都是通过网络来进行通信的.
当服务器和客户端都在一个主机上的时候,电脑不联网也不会影响数据库的使用,在我们的电脑上面有一个特殊的环回网卡,可以让自己发自己收,不通过网线或WiFi都可以进行通信.
数据库的操作
数据库的操作主要分为:显示数据库,创建数据库,使用数据库和删除数据库.
显示数据库
show databases;
创建数据库
create database (if not exists) 数据库名 ;
使用数据库
use 数据库名;
删除数据库
drop database 数据库名;
数据库表的操作
数据库表的操作和数据库的操作相似,主要分为:查看表结构,选中数据库,创建表,删除表.
查看表结构
desc 表名;
选中数据库
use 数据库名
在对表进行操作前要先选定表结构.
创建表
create table 表名(
列名 类型,
列名 类型,
......
);
删除表
drop table 表名;
注意注意,无论是删除表操作还是删除数据库操作都是需要注意的,一旦删除,说不定就找不回来了.会损失很多数据的,虽然对我们目前的学习者来说这些数据删掉也无伤大雅,但是一旦工作,这个操作需要谨慎下手!!!!!!