mysql基础概念

文章目录

  • 登录mysql
  • mysql和mysqld
  • 数据库操作
  • 主流数据库
  • MYSQL架构
  • SQL分类


登录mysql

登录mysql连接服务器,mysql连接时可以指明主机用-h选项,然后就可以指定主机Ip地址,-P可以指定端口号 -u指定登录用户 -P指定登录密码
查看系统中有无mysql,就是查看mysql进程
在这里插入图片描述
连接登录mysql
在这里插入图片描述
设置免密码按两次回车键,连接mysql后出现这个就是连接成功
在这里插入图片描述

mysql和mysqld

mysqld和mysql它们两个有何区别
mysql是数据客户端
mysqld为数据库服务端,服务器后端一直守护进程运行着。
它们存储在不同路径下
在这里插入图片描述
mysql的本质是:基于C(mysql)和S(server)模式的一种网络服务,mysql是一套给我提供数据存取的服务的网络程序。而在口头上说的数据库一般指在磁盘或者内存中存储的特定结构组织的数据就是在磁盘上存储的一套数据库方案!
而数据库的服务端是mysqld
mysql为数据库客户端
数据库能存储但是存储的话文件就已经能够存储了又为何要有数据库用来对数据做存取,因为一般文件只是提供了对数据做存储的功能,但是文件没有提供对数据做更好的管理方案,就是对存储的数据做增删查改,所以对于数据的管理能力需要我们用户自己来,因此也就衍生了数据库,数据库能够对数据存储的同时能将存储的数据做更好的管理,能做增删查改。
数据库的本质:对数据内容存储的一套解决方案,你给我的字段或要求,然后数据库我(mysqld)给你一个结果,它在给结果之前要对数据进行分析,然后返回结果给用户,数据库整体对外提供存储解决方案。
在这里插入图片描述

程序员发送需求给客户端,然后mysql根据需求给服务器mysqld服务端,然后mysqld拿到请求对磁盘中的数据库文件做管理操作,然后将结果返回给mysqld,再返回给mysql最后返回给用户,数据库对存储的数据做管理。
数据库提供存储能力的文件数据库在存储介质下保存,数据库模式是数据在磁盘中结构化数据库。

数据库操作

查看数据库
show databases;
在这里插入图片描述
首先建立一个数据库,数据库数据都是存放在一个路径下
在/etc/my.cnf配置文件中,数据路径
在这里插入图片描述
进入到这个路径下/var/lib/mysql
在这里插入图片描述
查看可以发现他有很多文件有目录文件和普通文件
然后创建一个数据库create database 数据库名;由于是在命令行上操作的所以要以分号结尾
在这里插入图片描述
创建数据库成功
查看数据库会有多出自己创建的数据库
在这里插入图片描述
然后在/var/lib/mysql路径下查看会多出一个目录文件
在这里插入图片描述
所以Linux下建立一个数据库就是在系统下建立一个目录文件,下达指令时会在磁盘上创建一个目录文件,而创建数据库之后再在这个数据库之下创建一张表,要先进入这个数据库,进入数据库就是使用数据库
use 数据库名,然后create table 表名
在这里插入图片描述
设置表中各种字段,列名,大小,类型;
创建好表之后在数据库目录下会存在许多文件,这是创建表之后出来的
在这里插入图片描述
而在数据库中建表就是在Linux下创建一个文件,表系统会默认给它分配字节大小,当有表之后就可以向表中插入数据了,insert into 表名(表中字段信息)values(设置对应值);
在这里插入图片描述
然后查看表
在这里插入图片描述
请求建数据库和建表这个工作是由mysqld完成。
在linux下,数据库路径下一个目录就是一个数据库,数据库本质也是文件,只不过这些文件不由程序员直接操作而是由数据库服务端操作。

主流数据库

SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目。
Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,并发一 般来说不如MySQL。
MySQL: 世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的SQL处理效果好。
PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究使用,可以免费使用,修改和分发。
SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
H2:是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。
其中最主流的数据库为MYSQL关系型数据库,当选择数据库时要考虑它的生态是否成熟,生态(开源,然后它暴露的问题得到解决暴露出来,然后有活跃的社区,官方匹配的文档…等等),大部分互联网公司都是使用的mysql数据库。
而服务器,数据库表的关系是什么?
安装数据库服务器就只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一 个应用创建一 个数据库。
为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
数据库服务器、数据库和表的关系如下:
在这里插入图片描述
在这里插入图片描述
数据库它是一种行列式的存储结构,以表结构呈现出来
在这里插入图片描述

学生表,一行就代表一个人,然后一列代表一种属性集合,按照行列式存储方式。

MYSQL架构

MySQL是一一个可移植的数据库,几乎能在当前所有的操作系统上运行,如Unix/Linux、Windows.Mac和Solaris。各种系统在底层实现方面各有不同,但是MySQL基本上能保证在各个平台上的物理体系结构的一致性。
在这里插入图片描述
客户交互
第一层连接然后进行安全管理,第二层为词法分析,第三层为数据存储方案,存储引擎

SQL分类

DDL [data definition language] 数据定义语言,用来维护存储数据的结构
代表指令: create, drop, alter;建表,修改表结构,维护存储数据的结构
DML [data mani pulation language] 数据操纵语言,用来对数据进行操作
代表指令:insert, delete, update;增删改对表数据结构内操作语言;
DML中又单独分了一一个DQL,数据查询语言,代表指令: select
DCL [Data Contro1 Language] 数据控制语言,主要负责权限管理和事务
代表指令: grant, revoke, commit

存储引擎
存储引擎是数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
MySQL的核心就是插件式存储引擎,支持多种存储引擎。
查看存储引擎show engines;
在这里插入图片描述
其中最常用的存储引擎是InnoDB和MyISAM
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【系统架构师】-选择题(十二)计算机网络

1、网闸的作用:实现内网与互联网通信,但内网与互联网不是直连的 2、管理距离是指一种路由协议的路由可信度。15表示该路由信息比较可靠 管理距离越小,它的优先级就越高,也就是可信度越高。 0是最可信赖的,而255则意味…

(Java)心得:LeetCode——11.盛最多水的容器

一、原题 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容…

【C++】CentOS环境搭建-安装CATCH2

【C】CentOS环境搭建-安装CATCH2 1.克隆Catch2仓库2. 进入Catch2目录3. 创建一个构建目录4. 使用CMake生成构建系统(以及可能的编译)5.安装Catch2(可选,根据你的需求) 1.克隆Catch2仓库 git clone https://github.com…

ansible部署lamp架构

搭建参考:ansible批量运维管理-CSDN博客 定义ansible主机清单 [rootansible-server ~]# vim /etc/hosts 192.168.200.129 host01 192.168.200.130 host02 [rootansible-server ~]# vim /etc/ansible/hosts [webserver] host01 host02 在ansible端编写index.html…

08.1.自定义图形

自定义图形 创建图形 随便选择几个参数直接添加 选择自定义折线图形查看

一键追爆款,GPT一键改文‌‍‬⁣⁡​⁤⁢​⁢⁡⁣‬‍‌​​‬ ​‍⁤‬ ‬⁡⁡⁡‍‌‬⁡⁡⁢‬⁤⁢⁢⁤​‍‌​​‬ ​⁣‌,绘唐3,绘唐工具

ai画影满足你的制作要求 一键追爆款,GPT一键改文 AI推文小说&漫画解说&解压混剪 人物定义,角色定义,lora转换,模型转换,可视化参考满足 一键追爆款 一键挂机生成,效果更精彩,使用更方…

苹果电脑怎么安装crossover 如何在Mac系统中安装CrossOver CrossOver Mac软件安装说明

很多Mac的新用户在使用电脑的过程中,常常会遇到很多应用软件不兼容的情况。加上自己以前一直都是用Windows系统,总觉得Mac系统用得很难上手。 其实,用户可以在Mac上安装CrossOver,它支持用户在Mac上运行Windows软件,例…

恶意软件正劫持安全软件更新进行分发

GuptiMiner 是一个高度复杂的威胁,最早在 2018 年发现,主要为了在大型企业中分发后门。一种是 PuTTY Link 的增强版本后门,能够针对本地网络进行 SMB 扫描,并通过网络横向移动到网络上其他可能易受攻击的 Windows 7 和 Windows Se…

如何给文件和文件夹添加备注信息

1. 给文件添加备注信息 1. 打开文件夹,点击查看 → 选项 → 更改文件夹和搜索选项 → 勾除隐藏受保护的操作系统文件 → 勾选显示隐藏的文件、文件夹和驱动器; 2. listary工具搜索desktop.ini,随便点击一个desktop.ini文件,即可…

线程同步--互斥锁,读写锁

线程同步 基本概念 线程的能力在于能够方便地通过全局变量或共享内存来交换信息,但这也带来了并发控制的复杂性,主要表现在如何安全地管理多个线程对共享资源的访问。这里涉及到几个关键的概念和技术: 临界区(Critical Section…

走进C++:C到C++的过渡

目录 什么是C呢? C的发展史 多了一些吃前来很香的“语法糖”。 语法糖一:命名空间 命名空间有个强大的功能 如何使用 语法糖二:缺省参数 语法糖三:函数重载 语法糖四:引用 引用传参 引用返回 引用和…

算法学习011-不同的二叉查找树/搜索树 c++动态规划算法实现 中小学算法思维学习 信奥算法解析

目录 C不同的二叉查找树 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、运行结果 五、考点分析 六、推荐资料 C不同的二叉查找树 一、题目要求 1、编程实现 二叉查找树(Binary Search Tree),(…

AI图书推荐:ChatGPT全面指南—用AI帮你更健康、更富有、更智慧

你是否在努力改善你的健康? 你是否长期遭受财务困难? 你想丰富你的思想、身体和灵魂吗? 如果是这样,那么这本书就是为你准备的。 《ChatGPT全面指南—用AI帮你更健康、更富有、更智慧》(CHATGPT Chronicles AQuick…

Mybatis-Plus常用的增删改查坑

添加依赖 <!--实体类上加上Data注解就不用写get&#xff0c;set&#xff0c;toString&#xff0c;equals等方法了--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional…

Three.js基础练习——渲染一个立方体

1.学习内容参考了 three.js入门教程--零基础也能学会_threejs菜鸟教程-CSDN博客 本章内容包含渲染立方体&#xff0c;并配合ui工具食用~ 2.效果图 import * as THREE from three import * as dat from dat.gui import { OrbitControls } from three/addons/controls/OrbitC…

ETL中如何执行Python脚本

Python的解读 Python 是一种高级、通用的编程语言&#xff0c;由荷兰程序员吉多范罗苏姆&#xff08;Guido van Rossum&#xff09;于1990年代初设计并发布。Python的设计哲学强调代码的可读性和简洁性&#xff0c;它的语法清晰且表达力强&#xff0c;使得开发者能够以更少的代…

中国各地级市的海拔标准差数据集

01、数据简介 海拔标准差是指对某个地点的海拔进行测量后&#xff0c;所得结果与平均海拔之间的差异。它反映了测量结果的离散程度&#xff0c;即海拔数据的可靠性。如果标准差较小&#xff0c;说明测量结果的可靠性较高&#xff1b;如果标准差较大&#xff0c;则说明测量结果…

《解锁高效合同管理系统:优化业务流程,提升管理效率》

随着企业规模的扩大和业务复杂性的增加&#xff0c;合同管理变得愈发重要。合同是企业与客户、供应商、合作伙伴之间的法律约束和商业承诺&#xff0c;而有效的合同管理系统则成为企业提高运营效率、降低风险的关键工具。本文将探讨合同管理系统的重要性以及如何利用合同管理系…

Electron 报错:WinState is not a constructor

文章目录 问题分析 问题 在使用 electron-win-state 库时报错如下 代码如下&#xff1a; const WinState require(electron-win-state) const winState new WinState({ defaultWidth: 800,defaultHeight: 600,// other winState options, see below })const browserWindow…

工作中使用Optional处理空指针异常

工作中使用Optional处理空指针异常 实体类以前对空指针的判断Optional处理空指针测试结果 实体类 package po;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import java.io.Serializable;Data AllArgsConstructor NoArgsConstruct…