【MySQL】数据库基础 -- 详解

一、什么是数据库

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

一般的文件确实提供了数据的存储功能,但是文件并没有提供非常好的数据(内容)的管理能力(用户角度)。

文件保存数据有以下几个缺点:
  • 文件的安全性问题
  • 文件不利于数据查询和管理
  • 文件不利于存储海量数据
  • 文件在程序中控制不方便 

数据库的本质:对数据内容存储的一套解决方案,mysql 客户端给我字段或者要求,我直接给 mysql 客户端结果就行。(“我”:在磁盘上存储的数据库文件 + mysql 客户端)

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

  • mysql 是数据库服务的客户端
  • mysqld 是数据库服务的服务器端。 

  • mysql 本质:基于 C(mysql) S(mysqld) 模式的一种网络服务

(可以查看到 mysql 所绑定的端口号:3306)

mysql 是一套提供数据存取的服务的网络程序。

口语上:

数据库特指:在磁盘或者内存中存储的特定结构组织的数据 -- 将来在磁盘上存储的一套数据库方案

数据库服务:mysqld


二、主流数据库

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

三、基本使用

1、MySQL 安装

【MySQL】在 Centos7 环境安装 MySQL -- 详细完整教程-CSDN博客


2、连接服务器

输入:

mysql -h 127.0.0.1 -P 3306 -u root -p

登陆选项的认识: 

输出:

Enter password:Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.21-log MySQL Community Server (GPL)Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>
注意
  • 如果没有写 -h 127.0.0.1 默认是连接本地。
  • 如果没有写 -P 3306 默认是连接 3306 端口号。

3、服务器管理

执行 win+r 输入 services.msc 打开服务管理器
通过下图左侧停止,暂停,重启动按钮进行服务管理


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

  • 所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库一般开发人员会针对每一个应用创建一个数据库
  • 为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
  • 数据库服务器、数据库和表的关系如下:


5、数据库的使用

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

  1. 建立数据库,本质就是 Linux 下的一个目录。
  2. 在数据库内建立表,本质就是在 Linux 下创建对应的文件即可。

以上工作是 mysqld 服务做的。

注意

数据库的本质也是文件只不过这些文件并不由程序员直接操作,而是由数据库服务帮我们进行操作。


(1)创建数据库
create database helloworld;


(2)使用数据库
use helloworld;


(3) 创建数据库表


(4)表中插入数据
insert into student (name, age, gender) values ("张三", 20, '男');
insert into student (name, age, gender) values ("李四", 22, '男');

(5)查询表中的数据
select * from student;

(6)数据逻辑存储


四、MySQL架构

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


五、SQL 语句分类

  • DDLdata definition language数据定义语言,用来维护存储数据的结构
代表指令: create,drop,alter

  • DMLdata manipulation language数据操纵语言,用来数据进行操作
代表指令: insert delete update
  • DML中又单独分了一个DQL,数据查询语言,代表指令: select

  • DCLData Control Language数据控制语言,主要负责权限管理和事务
代表指令: grant revoke commit

六、存储引擎

1、存储引擎

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

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

2、查看存储引擎

show engines;


3、存储引擎对比 

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

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

相关文章

无心剑中译佚名《春回大地》

The Coming of Spring 春回大地 I am coming, little maiden, With the pleasant sunshine laden, With the honey for the bee, With the blossom for the tree. 我来啦,小姑娘 满载着欣悦的阳光 蜂儿有蜜酿 树儿有花绽放 Every little stream is bright, All …

Windows 安装 Linux子系统,并为子系统设置图形化界面

安装WSL 在控制面板中打开下面的选项: 执行下面的命令,更新到WSL2版本,并在以后创建子系统的时候默认采用WSL2的版本: wsl --update wsl --set-default-version 2在Window上安装连接工具: 在Window上下载VcXsrv&…

备战蓝桥杯---动态规划之经典背包问题

看题: 我们令f[i][j]为前i个物品放满容量为j的背包的最大价值。 f[i][j]max(f[i-1][j],f[i-1][j-c[i]]w[i]); 我们开始全副成负无穷。f[0][0]0;最后循环最后一行求max; 负无穷:0xc0c0c0c0;正无穷:0x3f3f3f3f 下面是v12,n6的图示&#xff…

深搜问题:素数圆环

祝大家新年快乐,今天给大家带来龙年第一道题 时间限制:1秒 内存限制:128M 题目描述 如图所示为一个由n个圆圈构成的圆环。将自然数1,2,...,n放入圆圈内,并且要求任意两个相邻的圆圈内…

自动化UI,API和DevOps测试架构设计与实现

自动化测试是软件开发过程中的重要环节,它可以提高测试效率、减少人工测试的工作量。本文将介绍自动化测试架构的设计原则和实现方法,以帮助读者理解如何构建一个可靠、可扩展和易于维护的自动化测试框架。 1. 什么是自动化测试? - 解释了…

二阶系统的迹-行列式平面方法(trace-determinant methods for 2nd order system)

让我们再次考虑二阶线性系统 d Y d t A Y \frac{d\mathbf{Y}}{dt}A\mathbf{Y} dtdY​AY 我们已经知道,分析这种二阶系统。最主要的是注意它的特征值情形。 (此处没有重根的情形,所有是partial) 而特征值,也就是系…

Electron+Vue实现仿网易云音乐实战

前言 这个项目是我跟着官方文档的那个Electron入门教程大致跑了一遍,了解了下Electron开发流程之后的实战项目,所以中间应该是会有很多写法不是很规范,安全性有可能也没考虑到,可实现的各种api也不是很了解,适合初学者。 必须感谢 https://github.com/Binaryify/NeteaseC…

Python 数据可视化之山脊线图 Ridgeline Plots

文章目录 一、前言二、主要内容三、总结 🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 JoyPy 是一个基于 matplotlib pandas 的单功能 Python 包,它的唯一目的是绘制山脊线图 Joyplots(也称为 Ridgeline Plots&…

【C语言】一道相当有难度的指针某大厂笔试真题(超详解)

这是比较复杂的题目,但是如果我们能够理解清楚各个指针代表的含义,画出各级指针的关系图,这道题就迎刃而解了。 学会这道笔试题,相信你对指针的理解,对数组,字符串的理解都会上一个档次。 字符串存储使用的…

MFC实现遍历系统进程

今天我们来枚举系统中的进程和结束系统中进程。 认识几个API 1)CreateToolhelp32Snapshot 用于创建系统快照 HANDLE WINAPI CreateToolhelp32Snapshot( __in DWORD dwFlags, //指定快照中包含的系统内容__in DWORD th32P…

【华为 ICT HCIA eNSP 习题汇总】——题目集15

1、(多选)以下 eSight 网管支持的远程告警通知方式包括()。 A、邮件 B、语音 C、视频 D、短信 考点:网络运维 解析:(AD) eSight 网管支持的远程告警通知方式主要包括邮件和短信通知&…

【网站项目】031网络游戏公司官方平台

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

网络编程-Socket套接字

目录 1.网络编程 1.1定义与图解 1.2基本概念 (1)发送端和接收端 (2)请求和响应 (3)客户端和服务端 2.Socket套接字 2.1定义 2.2分类 (1)流套接字 (2&#xff…

攻防世界——re2-cpp-is-awesome

64位 我先用虚拟机跑了一下这个程序,结果输出一串字符串flag ——没用 IDA打开后 F5也没有什么可看的 那我们就F12查看字符串找可疑信息 这里一下就看见了 __int64 __fastcall main(int a1, char **a2, char **a3) {char *v3; // rbx__int64 v4; // rax__int64 v…

知识图谱与图神经网络融合:构建智能应用的新前沿

目录 前言1 知识图谱表示学习1.1 典型模型1.2 下游任务 2 图神经网络与知识图谱表示学习2.1 Compgcn:合成图卷积模型2.2 知识图谱嵌入在归纳设置下的推进 3 图神经网络与知识图谱构建3.1 关系抽取的进阶应用3.2 结构信息补全与知识图谱的完整性 4 图神经网络与知识图…

JavaScript综合练习4

JavaScript 综合练习 4 1. 案例演示 2. 代码实现 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title&…

单片机的认识

单片机的定义 先简单理解为&#xff1a; 在一片集成电路芯片上集成了微处理器&#xff08;CPU &#xff09;存储器&#xff08;ROM和RAM&#xff09;、I/O 接口电路&#xff0c;构成单芯片微型计算机&#xff0c;即为单片机。 把组成微型计算机的控制器、运算器、存储器、输…

“SharpDocx” C#项目中用于创建 Word 文档的轻量级模板引擎

简介&#xff1a; SharpDocx是一个轻量级的模板引擎&#xff0c;用于创建Word文档。它允许开发者基于视图生成Word文档&#xff0c;这个视图本身就是一个Word文档&#xff0c;可以根据需要设置简单或复杂的布局。 以下是一些主要特点&#xff1a; 模板引擎类似Razor&#xf…

jmeter-问题二:JMeter进行文件上传时,常用的几种MIME类型

以下是一些常用的MIME类型及其对应的文件扩展名&#xff1a; 文本类型: text/plain: 通常用于纯文本文件&#xff0c;如 .txt 文件。 text/html: 用于HTML文档&#xff0c;即 .html 文件。 application/msword: Microsoft Word文档&#xff0c;即 .doc 和 .docx 文件。 图像…

【大厂AI课学习笔记】【1.5 AI技术领域】(8)文本分类

8,9,10&#xff0c;将分别讨论自然语言处理领域的3个重要场景。 自然语言处理&#xff0c;Natual Language Processing&#xff0c;NLP&#xff0c;包括自然语言识别和自然语言生成。 用途是从非结构化的文本数据中&#xff0c;发掘洞见&#xff0c;并访问这些信息&#xff0…