1、数据库简介
1.1 什么是数据库
数据库其实就是"基于数据结构"实现出来的一类软件,这类软件可以用来对数据进行管理,管理也就是对数据进行增删查改等一些操作
为什么说数据库是基于数据结构实现出来的"一类软件"呢?
答:因为数据库它不止一个软件,在数据库这个圈子里比较典型的数据库有:MySQL、Oracle、SQL Server
我们博文中主要讲解的就是MySQL
1.2 为什么要用数据库存储数据
平时在我们电脑中主要采用文件进行存储数据,那为什么还要学习MySQL呢?
答:因为文件进行存储数据有很多缺点,比如:文件安全性问题、文件不利于数据查询和管理、文件不利于存储大量的数据、文件在程序中不方便控制...
为了解决上述采用文件存储数据的缺点,计算机行业中的大佬们就设计出了更利于管理数据的软件,这个软件更方便的管理数据。数据库不仅可以管理数据还可以远程服务,通过远程连接来使用数据库,因此也称为数据库服务器
1.3 数据库的分类
数据库是基于数据结构实现出来的一类软件,既然是一类那么就不止一个软件,肯定有很多的软件。那么很多的数据库软件,就可以按照某种性能进行分类
数据库根据关系来进行分类,分为:关系型数据库和非关系型数据库
关系型数据库:关系型数据库就是采用关系模型来组织数据的,所谓的关系模型其实就是二维表(有点类似于execl表格的方式来存储的),而一个 关系型数据库就是由二维表的行和列及其之间的联系所组成的一个数据组织 。
SQL是一个编程语言,是基于关系型数据库的语言
注:SQL是结构化查询语言
常用的关系型数据库有:Oracle、MySQL、SQL Server
非关系型数据库:不是采用关系模型进行组织数据的就是非关系型数据库,通常指的是NoSQL 数据库(NoSQL 是 Not Only Sql 的缩写,不规定基于SQL实现)。非关系型数据库通常基于键值对、文档、列族、图型来组织数据,如:Radis、MongoDB、HBase...
NoSQL 的数据之间无关系,所以就非常容易扩展,存储方式更灵活。
关系型数据库和非关系型数据库的区别:
关系型数据库 | 非关系型数据库 | |
使用SQL | 是 | 不强制要求,一般不基于SQL实现 |
事务支持 | 支持 | 不支持 |
复杂操作 | 支持 | 不支持 |
海量读写操作 | 效率低 | 效率高 |
基本结构 | 基于表和列,结构固定 | 灵活性比较高 |
使用场景 | 业务方面的OLTP系统 | 用于数据的缓存,或基于统计分析的OLAP系统 |
注:OLTP指的是联机事务处理,OLAP指的是联机分析处理
2、 MySQL
2.1 MySQL 的介绍
MySQL是关系型数据库软件,SQL则是运行在MySQL这个软件上面的语言
MySQL是一个客户端、服务器结构的软件
客户端(cliend):主动发送数据的一方
服务端(server):被动接受数据的一方
举例说明:假设你要去小卖部买东西,你跟老板说给我拿瓶可乐,此时就相当于客户端给服务器发送数据,发送数据就称为发送“请求(request)”。老板就拿了瓶可乐给你了,此时就相当于服务器给客户端返回数据,返回数据就称为返回“响应(response)”
此时你就相当于“客户端”,老板就相当于“服务器”,客户端给服务器发送一个请求,服务器给客户端返回一个响应
计算机的客户端和服务器是通过网络来进行通信的
2.2 数据库的基本操作
进行数据库操作之前需要安装数据库软件和配置环境变量,大家可以看看其他博主的安装方法和配置环境变量的方法。安装和配置环境变量完成之后,可以按键盘上的 win + R 键,在弹出的框中输入 cmd,按确定打开 cmd 窗口
打开 cmd 窗口后输入 mysql -u root -p 然后按回车,输入密码按回车即可登录
登录成功显示:
注:数据库的操作不区分大小写,每一条指令后面都加分号,符号都为英文状态下的
2.2.1 显示当前的数据库
输入 show databases; 即可查看当前所有的数据库
现在可能有些小伙伴会有疑问了,为什么还没有创建数据库,里面就有数据库了?
答:这些是 MySQL 自带的系统库,这些系统库不能删,删了可能就用不了 MySQL 了
2.2.2 创建数据库
输入 create database 数据库名; 即可创建一个数据库
一般显示 OK 的都是操作成功,如果想要查看是否操作成功可以查看当前所有的数据库,看是否有创建的数据库
sec 是 second(秒)的缩写,表示操作的时间,创建的数据库的名字不能是 SQL 的关键字
什么是 SQL 的关键字呢?
答:我们操作的指令都是 SQL 的关键字
操作失败一般会显示 error ,然后看 error 后面的错误说明即可
创建数据库的时候,还可以指定数据库的字符集 create database 数据库名 charset 字符集名;
如果创建的数据库重名了咧?
如果创建的数据库重名了则会报错,并提示这个数据库已存在。如果加上 if not exists 则表示如果存在就不用创建了,加上 if not exists 则不会报错了,只会发生警告
error:表示错误
warning:表示警告
2.2.3 选中指定的数据库
在 MySQL 服务器上,数据库可以有很多。如果要进行操作,则需要先确定对哪个数据库进行操作,对哪个数据库进行操作就需要选中哪个数据库
输入 use 数据库名; 即可选中一个数据库
选择这个数据库后,后续的操作都是针对这个数据库进行的
2.2.4 删除数据库
输入 drop database 数据库名; 即可删除一个数据库
数据库删除之后,内部看不到对应的数据库,里面的表和数据全部会被删除,这里也没有回收站,一旦删除,数据也就没了,所以删库的时候一定要谨慎