[MySQL]数据库基础

文章目录

  • 1.连接服务器
  • 2.理解mysql
  • 3.初见数据库
  • 4.主流数据库
  • 5.服务器,数据库,表关系
  • 6.数据逻辑存储
  • 7.MySQL架构
  • 8.SQL分类
  • 9.存储引擎

1.连接服务器

mysql -h 127.0.0.1 -P 3306 -u root -p
-h:指明登录部署mysql服务的主机。没有写 -h 127.0.0.1 默认是连接本地
-P:指明要访问的端口号。没有写 -P 3306 默认是连接3306端口号
-u:指明登录用户
-p:指明需要密码
即: musql -u root -p 也可以

2.理解mysql

  1. mysql是数据库服务的客户端
  2. mysqld是数据库服务的服务器端
  3. mysql本质:基于C(mysql) S(mysqld)模式的一种网络服务
  4. 服务器启动时会绑定端口号 mysqld绑定的端口号为3306
    在这里插入图片描述
  5. mysql是一套提供数据存取服务的网络程序
  6. 数据库一般指的是在磁盘或者內存中存储的特定结构组织的数据 – 将来在磁盘上存储的一套数据库方案
  7. 数据库服务 – mysqld
  8. 一般的文件确实提供了数据的存储功能,但是文并没有提供非常好的内容管理能力(用户角度,打开提取信息这些操作都需要程序员操作)
  9. 数据库本质: 对数据内容存储的一套解决方案,程序员提出字段或者要求,数据库通过mysql服务端给出结果。
  10. 狭义上,数据库可以理解为在存储介质上的数据库“文件”,宏观上,数据是一套存储解决方案
    在这里插入图片描述

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

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

文件的安全性问题
文件不利于数据查询和管理
文件不利于存储海量数据
文件在程序中控制不方便

数据库存储介质:
磁盘
内存
为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,它能更有效的管理数据。数据库的水平是衡量一个程序员水平的重要指标。

netstat -lntp

netstat -lntp 是一个在Unix和Linux系统中使用的命令,用于显示网络连接的统计信息。具体来说,这个命令的各个选项含义如下:

-l:只显示监听中的套接字(sockets)。
-n:以数字形式显示地址和端口号,而不是尝试解析主机名、服务名等。
-t:只显示TCP连接。
-p:显示每个套接字所属的进程ID和程序名。
所以,netstat -lntp 命令会列出所有在监听状态(即等待进入连接)的TCP套接字,并显示与每个套接字关联的进程ID和程序名。这对于查看哪些服务正在运行并监听哪些端口,以及这些服务是由哪个进程或程序运行的,非常有用。

请注意,为了查看其他用户或进程的网络连接信息,你可能需要具有相应的权限(如root权限)。在某些系统上,可能需要使用 sudo 来获取这些权限。

此外,一些现代的Linux发行版可能推荐使用 ss 命令代替 netstat,因为 ss 命令更快速且提供更多的功能。但 netstat 仍然被广泛使用,并且对于许多基本任务来说是完全足够的。

3.初见数据库

数据库: 数据库路径下的每一个文件 一个目录就是一个数据库 数据库中存了很多表
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
见一见数据库:使用mysql建立一个 数据库

建立一张表结构,插入一些数据 - 对比一下mysql在Linux中是如何表现的

  1. 建立数据库,本质就是Linux下的一个目录
  2. 在数据库内建立表,本质就是在Linux下创建对应的文件
  3. 数据库本质其实也是文件! 只不过这些文件并不由程序员直接操作,而是由数据库服务帮我们进行操作。程序员通过客户端向服务端发送合法数据操作请求,服务端操作文件。
    这个工作是谁做的?mysqld服务帮我们做的

在这里插入图片描述

4.主流数据库

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

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

所谓安装数据库服务器(mysqld),只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库(DB),一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
在这里插入图片描述
在这里插入图片描述

6.数据逻辑存储

数据库的逻辑存储是行列式二维表结构。
在这里插入图片描述

7.MySQL架构

MySQL5.6 架构图收藏欣赏
在这里插入图片描述
MySQL 是一个可移植的数据库,几乎能在当前所有的操作系统上运行,如 Unix/Linux、Windows、Mac 和Solaris。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性。

8.SQL分类

  1. DDL【data definition language】 数据定义语言,用来维护存储数据的结构
    代表指令: create, drop, alter
  2. DML【data manipulation language】 数据操纵语言,用来对数据进行操作
    代表指令: insert,delete,update
    DML中又单独分了一个DQL,数据查询语言,代表指令: select
  3. DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务
    代表指令: grant,revoke,commit

9.存储引擎

MySQL的核心就是插件式存储引擎,支持多种存储引擎

存储引擎:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。

查看存储引擎

在这里插入图片描述

使用最多的存储引擎,也是我们mysql默认配置的engines

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/535812.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SSH的物流配送管理系统的设计与实现

摘 要 当今社会,物流配送已成为影响经济发展的显著因素。而随着社会信息化发展,建立有效的物流配送管理体系不仅能够减少物流成本,更能够提升工作人员的工作效率与客户的满意度。而基于B/S架构的物流配送管理体系,不仅具有良好的…

VUE实现Provide的计算属性

通过此篇可以学到: 如何使用Providerinject进行“跨代”传值如何实现一个计算属性的Provider如何解决告警“injection "xxxxx" not found. ” 一、描述 目前需要创建一个计算属性传入Provide,并且能够被其他组件Inject 二、实现 父组件 .…

docker之自己制作jdk镜像

一,下载想要制作的镜像的对应jdk(自行下载),本文使用jdk17(因为自己的springboot项目时在jdk17下开发的,悲!!!,再加上没有在官网上找到对应镜像,只…

vivado高速口自环测试27dr RFSOC

首先打开VIVADO软件,创建一个新的工程 设置地址和名称 选择器件型号 点击IP Catalog->搜索 ibert->选择第一个,双击打开配置 根据原理图设置速率和时钟 根据原理图,没有串联电容时选择DC,否则选择AC,Termi...选择…

智能指针的讲解

1.为什么要智能指针 首先我们分析一段代码: 1、如果p1这里new 抛异常会如何? 2、如果p2这里new 抛异常会如何? 3、如果div调用这里又会抛异常会如何? int div() {int a, b;cin >> a >> b;if (b 0)throw invalid_ar…

嵌入式学习第二十八天!(数据库)

数据库: 1. 数据库软件: 1. 关系型数据库:Mysql、Oracle、SqlServer、Sqlite 2. 非关系型数据库:Redis、NoSQL 2. 数组、链表、文件、数据库 数组、链表:内存存放数据的方式(代码运行结束、关机数据丢失&…

淘宝京东1688...商品详情数据和关键词搜索数据采集

要采集淘宝、京东、1688等电商平台的商品详情数据和关键词搜索数据,可以采取以下几种常见的方法: 请求示例,API接口接入Anzexi58 使用API接口: 这些电商平台通常都提供开放API接口,允许开发者调用接口获取所需的数据。…

nRF52832——唯一 ID 与加密解密

nRF52832——唯一 ID 与加密解密 唯一 ID 概念唯一 ID 作用读取唯一 ID 唯一 ID 用于加密TEA 加密算法唯一 ID 的加密和解密 唯一 ID 概念 唯一 ID 作用 nRF52xx 微控制器提供一组 64 位的唯一 ID 号,这个唯一身份标识所提供的 ID 值对任意一个 nRF52xx 微控制器&…

前端之用html做一个用户登陆界面

用户登陆界面 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>用户注册页面</title></head> <body><form action"https://www.baidu.com" method"post">…

瑞熙贝通实验室物联网管理平台新升级|支持远程开门视频监控与电源控制以及环境监测

瑞熙贝通实验室智能物联网管控平台&#xff1a;利用“互联网与物联网技术”有机融合&#xff0c;对实验室的用电安全监测、实验室环境异常监测&#xff08;颗粒物监测、明火监测、可燃气体、烟雾监测、温湿度传感器、红外人体感应&#xff09;、实验室人员安全准入、万物互联等…

科普编程中 宿主环境(host environment) 基础概念

我们来说说 宿主环境 首先 什么是宿主环境&#xff1f; 宿主环境 (host environment) 意思就是 程序运行所必须的依赖环境 安卓和IOS 系统 就是两种完全不同的宿主环境 总所周知 微信版的安卓App 在苹果中是无法运行的 所以说 Android 是安卓软件的宿主环境 离开了这个宿主环…

MySQL基础-----多表查询之内外连接与自连接

目录 前言 一、内连接 1.隐式内连接 2.显式内连接 二、外连接 1.左外连接 2.右外连接 三、自连接 1.自连接查询 2.联合查询 前言 本期我们学习MySQL中多表查询的内连接、外连接和自连接。这里我会通过相关的案例去讲解多表查询中的内外连接与自连接的查询方式&#xff…