1 数据库(上):MySQL的概述和安装、SQL简介

文章目录


前言


一、数据库相关的概念

  • 常见基本概念
名称 说明 简称
数据库 存储数据的仓库,数据是有组织的进行存储 DataBase (DB)
数据库管理系统 操纵和管理数据库的大型软件 DataBase Management System(DBMS)
SQL 操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准 Structured Query Language (sQL)
  • 什么是数据库?用于存储和管理数据的仓库。

  • 数据库的特点:

    • 持久化存储数据的。其实数据库就是一个文件系统
      我们平时使用的内存、硬盘其实都可以看做数据库;数据库其实简单理解成硬盘也是可以的。
      代码开发中,数据管理部分管理内存数据,其实数据库也是干这个活的。这么一解释立马就知道数据库有什么用了。
    • 方便存储和管理数据
    • 使用了统一的方式操作数据库 --SQL
  • 当前主流的关系型数据库管理系统(DBMS)有哪些?

    • MySQL: 开源免费的数据库,小型的数据库。已经被 Oracle 收购了.MySQL6.x版本也开始收费。
    • Oracle: 收费的大型数据库,Oracle 公司的产品。Oracle 收购SUN 公司,收购MYSQL
    • DB2:IBM公司的数据库产品,收费的。常应用在银行系统中.
    • SQLServer:MicroSoft公司收费的中型的数据库。C#、.net等语言常使用。
    • SyBase:已经淡出历史舞台。提供了一个非常专业数据建模的工具PowerDesigner。
    • SQLite:嵌入式的小型数据库,应用在手机端。
  • 常用数据库: MySQL,Oracle这两种是程序员需要掌握的一项技能。如果从事移动端开发SQLite要学。

二、MySQL概述

1 MySQL的安装和配置

安装视频

MySQL官方提供了商业版本(收费)和社区版本(免费),本系列博客仅仅用于学习,我们使用社区版本用于学习就可以了。

本课程采用的是MySOL的社区版(MySOLCommunityServer 8.0.31)

【注】:视频中是使用这个版本,不想搞事情就也使用这个版本。
安装包下载地址

安装具体过程就不演示了,有需要直接安装上面视频一步一步来就可以了。

【注】:上面这种解压式安装好像少了一个 my.ini配置文件没有自己创建,不过无所谓了,也能用。本机学习就这样了,后面我们都是要到linux系统上面去装

关于这个my.ini配置文件的问题,MySQL安装这篇博客比较完整,有强迫症可以自己按照这篇博客尝试。没有的话就按照上面视频上面来吧!

2 MySQL登录、退出

(1)mysql -uroot -p1234 或者mysql -uroot -p ---- 登录

(2)exit或者quit ---- 退出

经过了前面的配置,我们已经配置好了,并且有了一个root账号

  • 账户:root
  • 密码:1234

在cmd里面输入下列命令就能登录和退出了:

  • 登入:mysql -uroot -p1234
  • 退出:exit

3 远程登录服务器上的MySQL命令

mysql -hip地址 -P3306 -uroot -p连接目标的密码 ---- 远程连接服务器上的mysql命令

  • 应用场景
    我们在学习阶段是将MySQL装到本机上面学习;
    但是在企业中开发并不需要我们在本机上面安装MySQL,而是有专门的服务器上装了MySQL。
    我们要使用就只要远程连接到这个服务器上的MySQL了。

这个也很简单,一行命令就可以搞定:

这里的3306是MySQL默认端口号,全世界都知道哈哈哈

下面还是使用127.0.0.1连接本机试一下:

真正演示的话,有两种方法目前:使用虚拟机vmware或者直接去买一个服务器自己玩(建议装Linux)

先在本机上面学习吧!后面再买一台玩哈哈。

4 MySQL的卸载

如果一不小心第一次没装上,就去卸载吧!卸载流程上面视频上面也有。

5 MySQL数据模型

(1)关系型数据库和非关系型数据库

  • 关系型数据库 (RDBMS):建立在关系模型基础上,由多张相互连接的二维表组成的数据库
  • 特点:
    • 使用表存储数据,格式统一,便于维护
    • 使用SOL语言操作,标准统一,使用方便,可用于复杂查询
  • 非关系型数据库:不是以二维表结构存储的就是喽
    比较典型的就是我们后面要学习的redis是一种键值对类型的数据库

(2)数据库、表、数据(MySQL数据模型)

在MySQL里面数据库、表、数据这三个概念都是有具体的含义的。

  • 数据库:就是指文件夹
  • 表:就是指文件
  • 数据:就是文件里面的东西喽

如果是按照上面视频来的话:

安装好了MySQL可以在安装目录下面看到一个data文件夹

这个文件夹就是我们MySQL放数据的地方。继续点开

这个里面的每一个文件夹就是一个数据库。怎么验证,我们可以用SQL命令创建一个数据库看看

cmd下输入命令:
create database db01;

这就是创建一个命为db01的数据库

可以看到目录下生成了一个db01文件夹。因此就可以证明,数据库就是一个文件夹。

这就引出了MySQL的数据架构:

三、SQL简介

  • SQL: 一门操作关系型数据库的编程语言,定义操作所有关系型数据库的统一标准。

(1)SQL通用语法

  • SQL通用语法
    • SQL语句可以单行或多行书写,以分号结尾。
    • SQL语句可以使用空格/缩进来增强语句的可读性。
    • MySQL数据库的SQL语句不区分大小写。
    • 注释:
      单行注释 :-- 注释内容(两个横岗+一个空格,注意要有一个空格) 或 #注释内容(MySQL特有,#后面空格不是必须)
      多行注释: /*注释内容 */

(2)SQL分类

  • SQL分类
分类 全称 说明
DDL Data Definition Language 数据定义语言,用来定义数据库对象(数据库,表,字段);关键字: create,drop, alter 等
DML Data Manipulation Language 数据操作语言,用来对数据库表中的数据进行增删改;关键字: insert,delete,update 等
DQL Data Query Language 数据查询语言,用来查询数据库中表的记录;关键字: select,where 等
DCL Data Control Language 数据控制语言,用来创建数据库用户、控制数据库的访问权限;关键字:GRANT,REVOKE 等
相关推荐
娇娇yyyyyy4 分钟前
Qt编程(3): 信号和槽函数
开发语言·数据库·qt
乌鸦乌鸦你的小虎牙3 小时前
qt 5.12.8 配置报错(交叉编译环境)
开发语言·数据库·qt
一只大袋鼠4 小时前
Redis 安装+基于短信验证码登录功能的完整实现
java·开发语言·数据库·redis·缓存·学习笔记
Anastasiozzzz4 小时前
深入研究Redis的ZSet底层数据结构:从 Ziplist 的级联更新到 Listpack 的完美救场
数据结构·数据库·redis
菠萝蚊鸭4 小时前
x86 平台使用 buildx 基于源码构建 MySQL Wsrep 5.7.44 镜像
数据库·mysql·galera·wsrep
沙漏无语6 小时前
(二)TIDB搭建正式集群
linux·数据库·tidb
姚不倒6 小时前
三节点 TiDB 集群部署与负载均衡搭建实战
运维·数据库·分布式·负载均衡·tidb
隔壁小邓6 小时前
批量更新方式与对比
数据库
数据知道6 小时前
MongoDB复制集架构原理:Primary、Secondary 与 Arbiter 的角色分工
数据库·mongodb·架构
人道领域6 小时前
苍穹外卖:菜品新增功能全流程解析
数据库·后端·状态模式