文章目录

  • 一. 什么是数据库
  • 二. 为什么要有数据库
  • 三. 数据库分类
  • 四. 数据库的基本使用
    • 1. MySQL安装
    • 2. 检查MySQL后端服务器是否启动
    • 3. 连接MySQL服务器
    • 4. 服务器,数据库,表关系
    • 5. 数据存储逻辑
  • 五. MySQL体系结构
  • 六. SQL语句分类
  • 七. 存储引擎

一. 什么是数据库

数据库(database)是一整套的数据存储容灾解决方案。是用来组织、存储和管理数据的仓库。

当今世界充斥着大量的数据。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音也都是数据。为了方便管理互联网世界中的数据,就有了数据库管理系统的概念(简称:数据库)。用户可以对数据库中的数据进行新增、查询、更新、删除等操作。

二. 为什么要有数据库

存储数据用文件就可以了,为什么还要弄个数据库?

文件保存数据有以下几个缺点:

  • 文件的安全性不高。
  • 文件不利于数据查询和管理,因为需要遍历,效率太低。
  • 文件不利于存储海量数据。

为了解决上述问题,专家们设计出了一套专门的数据管理系:数据库。

三. 数据库分类

  • SQL Sever: 微软的产品,.Net程序员的最爱,适合中大型项目。
  • Oracle: 甲骨文产品,适合大型项目和复杂的业务逻辑,并发性一般来说不如MySQL。
  • MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的SQL处理效果好。
  • PostgreSQL:加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究,都可以免费使用、修改和分发。
  • SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
  • H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。

四. 数据库的基本使用

1. MySQL安装

Centos7安装MySQL详细步骤

所谓安装MySQL,其实是在我们的平台上安装MySQL的客户端和服务器:

更确切地说,MySQL服务的本质是一个网络服务器进程,所以它也应有自己对应的端口号和其所遵守的协议:

2. 检查MySQL后端服务器是否启动

安装完成后输入命令:ps axj | grep mysqld来检查MySQL的后端服务器mysqld是否启动:
另外输入命令:systemctl stop mysqld可以终止MySQL后端服务器:

输入命令:systemctl start mysqld开启MySQL后端服务器:

3. 连接MySQL服务器

命令行上输入mysql -uroot -p,接着再输入密码即可连接上MySQL服务器:

想要退出MySQL,只需输入quit即可:

PS:清屏的话可以输入system clear;或者按ctrl + l组合键。

4. 服务器,数据库,表关系

  • 首先我们需要连接MySQL服务器,然后在MySQL客户端中输入对数据的操作SQL语句,并交给服务器端完成。
  • 同时我们可以创建多个数据库,为了保存应用中实体的数据,一般会在数据库中创建多张表,以保存程序中实体的数据。

数据库服务器、数据库和表的关系如下:

数据库与文件的关系

上图中数据库和表的关系很像学习操作系统时,老师给我们介绍的目录和普通文件之间的关系,其实一个数据库就相当于一个目录,而表相当于数据库下目录的普通文件。

my.cnf是mysql启动时加载的配置文件,其默认存储路径为:/etc/my.cnf。进入后可以看到MySQL的数据存储路径为:datadir=/var/lib/mysql,即我们所创建的数据库和表都存储在该路径下:

  • Note1:创建一个数据库,本质就是在数据库的数据路径/var/lib/mysql下,新建一个目录

    新建的数据库里默认有一个文件db.opt,初始时它里面存有该数据库的字符集和字符集校验规则:

  • Note2:创建表之前,一定要先选中并进入一个数据库,这相当于进入一个目录文件

  • Note3:创建表的本质是在指定的数据库目录下,新建几个相关的普通文件

5. 数据存储逻辑

表格结构介绍

表格由行和列组成,其中一行代表一条记录;一列代表一个属性:

五. MySQL体系结构

MySQL 是一个可移植的数据库,几乎能在当前所有的操作系统上运行,如 Unix/Linux、Windows、Mac和Solaris。不同系统在底层实现方面各有不同,但是MySQL基本上能保证它在各个平台上物理体系结构的一致性。

六. SQL语句分类

  • DDL【data definition language】: 数据定义语言,用来维护存储数据的结构
    代表指令: create、drop、alter。
  • DML【data manipulation language】 :数据操纵语言,用来维护数据本身
    代表指令: insert、delete、update。

    • DML中又单独分了一个DQL,表示数据查询语言,代表指令: select。
  • DCL【data control language】:数据控制语言,主要负责权限管理和事务
    代表指令: grant、revoke、commit,

七. 存储引擎

存储引擎负责解决数据库管理系统如何存储数据、如何为存储的数据建立索引以及如何更新、查询数据等技术的实现方法。MySQL的核心是插件式存储引擎,它能够支持多种存储引擎,我们可以在mysql客户端中输入show engines;查看MySQL所支持的所有存储引擎:

【MySQL】数据库基础知识相关推荐

  1. 1.0 MySQL数据库基础知识

    MySQL数据库基础知识 MYSQL介绍 MySQL分支版本的发展 MySQL. Oracle. SQLServer的市场区别 MYSQL数据库使用上的结构 MYSQL体系架构图 MYSQL体系架构- ...

  2. Mysql数据库基础知识(五)之:视图、变量、存储过程、函数、流程控制结构

    第一部分:Mysql数据库基础知识(一)之 基础查询----分组查询 第二部分:Mysql数据库基础知识(二)之 连接查询----子查询-----分页查询------union联合查询 第三部分:My ...

  3. 【笔记】——MySQL数据库——基础知识-——快速回顾——(加深印象篇)

    文章目录 前言 一.MySQL是什么? 二.数据库的常见概念 三.数据库存储数据的特点 四.SQL语言的分类 1.)DML 2.)DDL 3.)DCL 五.数据库的基本操作 5.1.)创建数据库 5. ...

  4. Mysql数据库基础知识总复习

    前言 小亭子正在努力的学习编程,接下来将开启javaEE的学习~~ 分享的文章都是学习的笔记和感悟,如有不妥之处希望大佬们批评指正~~ 同时如果本文对你有帮助的话,烦请点赞关注支持一波, 感激不尽~~ ...

  5. Mysql数据库基础知识总结,结构分明,内容详细

    数据库知识总结 一,Select的使用 1. 基本的Select语句 2.排序与分页 3.多表查询 4.函数 a.函数的理解 b.单行函数 c.聚合函数 5.子查询 a.子查询的分类 b.相关子查询 ...

  6. MySQL数据库基础知识7,查询的执行过程

    目录 一.拆分查询 二.分解关联查询 三.查询的执行过程 四.优化器的一些优化手段 1.重新定义关联表的顺序 2.将外连接转化为内连接 3.使用增加变换规则 4.优化count().max().min ...

  7. Mysql数据库基础知识

    2018年2月20日星期二 Mysql数据库 l ##MySql01 数据库简介 1. **数据库简介**          之前使用的流操作把数据存储到txt文档上,对于修改/插入等,首先代码繁琐, ...

  8. MySQL数据库基础知识,基础操作详细整理

    文章目录 1. 数据库概念介绍,应用场景 什么是数据库 术语解释 2. 关系型数据库Mysql a) 数据库的组成部分介绍(服务器.数据库.表.行和列) b) Mysql数据库安装.navicat数据 ...

  9. mysql数据库基础知识和安装与卸载(快速入门)

    数据库--MySql 项目中的数据都是保存在数据库中的. 为什么要用数据库,数据库的特点             1>数据共享             2>减少冗余度 3>便于集中控 ...

  10. MySQL数据库基础知识(一)

    一.数据库的引入 1.什么是数据库?有什么好处?   概念: 用来存储和管理数据的仓库   好处: 可以实现数据的持久化存储 2.IO流和数据库的区别? //主要体现在管理数据方面 IO:   IO流 ...

最新文章

  1. 随机选取字母c语言,菜鸟求助,写一个随机输出26个英文字母的程序
  2. css 横线_CSS-画一个太极阴阳图
  3. x shell 配置 和相关注意点(vm相关注意点)
  4. 互联网1分钟 |1219
  5. get pid and kill
  6. 使用PLSQL 远程连接oracle数据库
  7. 【Linux】Linux多个关机命令详解
  8. centos6.5 bash基础命令2
  9. sql 插入新数据 如何处理等字符_新手们还在到处找报表资料吗?Intouch SQL 数据库脚本给你安排...
  10. 关于云数据库的“担忧”,你占了几条?
  11. Office 2010 使用技巧
  12. stack(栈)数据结构详解
  13. Vivado 使用方法
  14. c语言中双引号是什么作用,C语言中单引号与双引号的区别
  15. 模拟进程创建、终止、阻塞、唤醒原语_轻松搞定进程原理
  16. GitHub新手用法详解【适合新手入门-建议收藏!!!】
  17. 2345浏览器劫持主页解决办法
  18. linux中管道符“|”的作用
  19. 关于uni-app的一些坑(日后再做补充)
  20. R语言气泡图 bubble chart

热门文章

  1. Avast高级版的cleanup激活码
  2. android手机命令,使用adb命令操控Android手机(adb命令)
  3. ACCESS数据库如何设置密码
  4. linux7防火墙端口映射,服务器使用firewall进行端口映射端口转发
  5. linux 如何开放外网端口映射本地端口
  6. g2(t)用matlab,数字信号处理实验报告
  7. 使用vue3.0仿cnode网站
  8. jquery文档就绪的三种书写方式
  9. visio2013专业版激活密匙
  10. 【SQL基础-1】SQL基本语句—增删改查