数据库基础

article/2025/8/12 7:32:45

MySQL基础

一、什么是数据库

mysql是数据库服务的客户端

mysql是数据库服务的服务器端

本质:基于C(mysql)S(mysqld)模式的一种服务网络,一套给我们提供数据存取的服务的网络程序

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

一般的文件提供了数据的存储功能,但是没有提供很好的数据(内容)管理能力(用户角度),数据库就是对 数据内容存储的一套解决方案。

1.建立数据库,本质就是Linux下的一个目录;

2.在数据库建表,就是在linux下创建特定的文件

3.数据库本质也是文件,不是由程序员操作,而是由数据库帮我们操作。

二、服务器、数据库、表关系

1.数据库软件(如 MySQL)需要安装在服务器上运行,服务器为数据库提供计算资源(CPU、内存、存储)和网络环境。

2.数据库由多个表组成,表是数据库存储数据的具体载体

三、MySQL架构

MySQL 作为典型的客户机 / 服务器(C/S)架构关系型数据库,其体系结构可分为多个逻辑层,各层分工明确,协同实现数据存储、查询、事务管理等功能

四、SQL分类

1.数据查询语言(DQL - Data Query Language)

用于从数据库中查询数据

SELECT - 从数据库表中检索数据

SELECT column1, column2 FROM table_name WHERE condition;

2.数据操作语言(DML - Data Manipulation Language)

用于修改数据库中的数据

INSERT - 向表中插入新记录

INSERT INTO table_name (column1, column2) VALUES (value1, value2);

UPDATE - 更新表中的现有记录

UPDATE table_name SET column1 = value1 WHERE condition;

DELETE - 从表中删除记录

DELETE FROM table_name WHERE condition;

3.数据定义语言(DDL - Data Definition Language)

用于定义和修改数据库结构

CREATE - 创建数据库对象(表、视图、索引等)

CREATE TABLE table_name (column1 datatype, column2 datatype);

ALTER - 修改现有数据库对象

ALTER TABLE table_name ADD column_name datatype;

DROP - 删除数据库对象

DROP TABLE table_name;

TRUNCATE - 删除表中的所有数据(保留表结构)

TRUNCATE TABLE table_name;

4.数据控制语言(DCL - Data Control Language)

用于控制对数据库的访问权限

GRANT - 授予用户权限

GRANT SELECT, INSERT ON table_name TO user_name;

REVOKE - 撤销用户权限

REVOKE SELECT, INSERT ON table_name FROM user_name;

5.事事务控制语言(TCL - Transaction Control Language)

用于管理数据库事务

COMMIT - 提交当前事务

COMMIT;

ROLLBACK - 回滚当前事务

ROLLBACK;

SAVEPOINT - 设置事务保存点

SAVEPOINT savepoint_name;

SET TRANSACTION - 设置事务特性

SET TRANSACTION ISOLATION LEVEL READ COMMITTED;

6.其他SQL语句

索引操作

CREATE INDEX index_name ON table_name (column1, column2);

视图操作

CREATE VIEW view_name AS SELECT column1, column2 FROM table_name;

存储过程和函数

CREATE PROCEDURE procedure_name() BEGIN ... END;sql

五、存储引擎

存储引擎是数据库管理系统(DBMS)中负责数据的物理存储、检索和管理的核心组件。它类似于数据库的“底层操作系统”,决定了数据如何被存储在磁盘或内存中、如何被读写、以及支持哪些高级功能(如事务、锁等)。


http://www.hkcw.cn/article/WxlWHFNjGt.shtml

相关文章

多线程——线程池

课程: 什么是线程池 可以自己实现这个功能,自己写一个线程池 jdk也给提供了线程池 为什么要有线程池 Executor框架 任务:就是代码 执行:谁去执行这个代码,之前是Thread执行的, thread: Executor: …

2006-2021年 中国社会状况综合调查CSS数据(含Excel、Stata格式)

2006-2021年 中国社会状况综合调查CSS数据(含Excel、Stata格式).ziphttps://download.csdn.net/download/2401_84585615/89784651 https://download.csdn.net/download/2401_84585615/89784651 2006至2021年,中国社会状况综合调查&#xff08…

ReLU的变体

在深度学习中,ReLU(Rectified Linear Unit)是最常用的激活函数之一,但其存在一些局限性(如死亡ReLU问题)。为解决这些问题,研究者们提出了多种变体。以下是常见的ReLU变体及其核心特点&#xff…

麦克风和电脑内播放声音实时识别转文字软件FunASR整合包V5下载

我基于FunASR制作的实时语音识别转文字软件当前更新到V5版本。软件可以实时识别麦克风声音和电脑内播放声音转为文字。 FunASR软件介绍 FunASR 是一款基础语音识别工具包和开源 SOTA 预训练模型,支持语音识别、语音活动检测、文本后处理等。 我使用FunASR制作了一…

Ollama 开放 局域网访问 外网访问 mac

目录 问题描述 搜索尝试 最终方案 问题描述 我们在本地安装Ollama模型后通过127.0.0.1:11434访问正常返回 但是无法通过局域网IP访问如: http://192.168.1.158:11434 搜索尝试 搜索发现需要添加环境变量 OLLAMA_HOST 才能开放外网访问 export OLLAMA_HOST0.0.…

让Windows“怀上”macOS,不要太漂亮

记得Windows 11刚发布时,很多人都说它“果味十足”,仿佛是在向macOS靠拢。虽然大家觉得Windows有点“没骨气”,但不得不承认,它的界面确实很美观。 今天给大家介绍两款软件,能让Windows拥有macOS的风格,看起…

Gradle配置指南:深入解析settings.gradle.kts(Kotlin DSL版)

文章目录 Gradle配置指南:深入解析settings.gradle.kts(Kotlin DSL版)settings.gradle.kts 基础配置选项单项目配置多项目配置 高级配置选项插件管理(Plugin Management)基础配置模板案例:Android项目标准配…

Android SDK安装与配置(小白教程)

目录 1、下载: 2、安装: 3、配置环境变量: 4、验证是否安装成功: Android SDK(软件开发工具包)是一套为开发者提供的全面工具和资源集合,涵盖不同版本平台、各类开发与调试工具、支持库等&a…

[wsl2]MacOS/Win局域网ssh连接wsl2:Ubuntu24.04 LTS

【wsl2】MacOS/Win局域网ssh连接wsl2:Ubuntu24.04 LTS 保证使用的是微软应用商店中下载的Ubuntu发行版本,本文在配置时发现若使用docker所基于的ubuntu系统配置会失败。遂采用默认的子发行版本。写在前面why wsl2?win11的好处 开始配置之前1.…

JAVA游戏打手俱乐部护航小程序+APP+公众号+h5 源码游戏陪玩小程序系统

一、系统概述 JAVA 游戏打手俱乐部护航陪玩系统是一款集小程序、APP、公众号和 H5 于一体的综合性游戏陪玩平台。该系统凭借丰富多样的功能,为游戏玩家和陪玩师傅搭建了便捷的沟通桥梁。其主要功能包括精准分类、优惠券管理、我的团队、师傅申请入驻、师傅端抢单机…

使用Mac下载MySQL修改密码第一篇_数据库

Mac下载MySQL MySQL官网链接MySQL​​​​​​ 当进入到官网后下滑到community社区,进行下载 然后选择community sever下载 这里就是要下载的界面,如果需要下载之前版本的话可以点击archives, 可能会因为这是外网原因,有时候下…

【Mac 从 0 到 1 保姆级配置教程 08】- 快速配置 Neovim、LazyVim 以及常用开发环境,如果之前有人这么写就好了

文章目录 2. 安装 Neovim3. 安装 LazyVim3.1. 安装依赖3.2. 安装 LazyVim3.3. 问题修复 4. 配置 LazyVim4.1. 基础知识4.2. 内置快捷键4.3. 自定义快捷键4.4. 配置主题4.5. 配置 C/C 环境4.6. 配置 JSON 和 Markdown 5. 最后6. 参考资料7. 系列教程 Mac 从 0 到 1 保姆级配置教…

Android SMS发送技术指南

本文还有配套的精品资源,点击获取 简介:本文详细介绍了在Android平台上如何使用编程接口(API)发送短信,包括 SmsManager 类的使用、调试技巧和设备兼容性处理。通过实例代码展示了如何实现文本消息的发送&#xf…

AndroidStudio创建Android虚拟机教程

前言 在 Android 开发的世界中,拥有一个可靠且灵活的测试环境是至关重要的。Android Studio 提供了虚拟设备(AVD)管理器,这是一个强大的工具,允许开发者创建自定义的虚拟设备来模拟不同的 Android 设备。通过 AVD&…

uniapp 小程序 web-view 打开H5页面传参以及调用postMessage回传参数

uniapp 小程序 web-view 打开H5页面传参以及调用postMessage回传参数 uniapp 运行微信小程序,在小程序内利用 web-view 打开H5页面进行数据流转的总结。 首先做点准备工作,官网明确的说了小程序是不支持本地的,那怎么进行调试呢,…

mac 下载nvm

先在终端查看是否安装brew brew -v显示版本,开始下一步,如果不显示版本,则需要先安装brew 安装brew 使用brew安装nvm 执行安装命令 brew install nvm配置环境变量 配置环境变量之前,先查看nvm下载的位置 brew list nvm这是…

Android的uid~package~pid的关系

UID : Linux 系统级用户标识,Android 中每个应用安装时分配唯一 UID(如 1000)。 Package: Android 应用包名(例如android),一个 UID 可关联多个 Package(共享 UID 场景如android:sharedUserI…

Rust 学习笔记:发布一个 crate 到 crates.io

Rust 学习笔记:发布一个 crate 到 crates.io Rust 学习笔记:发布一个 crate 到 crates.io提供有用的文档注释常用标题文档注释作为测试注释所包含的项目 使用 pub use 导出一个方便的公共 API设置 crates.io 账户添加 metadata 到一个新的 crate发布到 c…

大白话 Seata 分布式事务浅析,详解TCC模式

大家好,我是此林。 说到分布式事务,第一时间想到 Seata,它支持多种事务模型,比如:XA模式、AT模式、TCC模式、Saga模式(长事务)。 其中 TCC 模式是高性能分布式事务解决方案,适用于核心系统等对 性能有很高…

超标量处理器设计6-指令解码

1. 指令缓存 指令缓存本质上是一个FIFO, 它能够将指令按照程序中指定的顺序存储起来,这样指令在解码的时候,仍然可以按照程序中指定的顺序进行解码。指令缓存是超标量处理器中必须的部件,其原因有两个: 1. 每周期可以取指的个数大…