当前位置: 首页 > news >正文

今天我们来学习一下关于MySQL数据库

目录

前言:

1.MySQL定义:

1.1基础概念:

1.1.1数据库(Database):

1.1.2表(Table):

1.1.3记录(Record)与字段(Field):

1.2技术特性:

1.2.1结构化查询语言(SQL):

1.2.2事务处理:

1.2.3索引与查询优化:

1.3应用与优势:

1.3.1开源与免费:

1.3.2跨平台兼容性:

1.3.3广泛的应用场景:

1.3.4强大的社区支持:

1.4高级特性与扩展:

1.4.1存储过程与函数:

1.4.2触发器与视图:

1.4.3复制与分区:

1.4.4安全性与权限管理:

2.SQL语句:

 2.1数据查询语言(DQL, Data Query Language):

2.1.1主要用于查询数据库中的数据。

2.1.2代表关键字是 SELECT。

2.1.3常见用法包括简单查询、连接查询、子查询等。

2.2数据定义语言(DDL, Data Definition Language):

2.2.1用于定义或修改数据库结构,包括创建、修改和删除表、索引等数据库对象。

2.2.2代表关键字有 CREATE、ALTER、DROP 等。

2.2.3例如,使用 CREATE TABLE 语句创建新表,使用 ALTER TABLE 语句修改表结构。

2.3数据操纵语言(DML, Data Manipulation Language):

2.3.1用于插入、更新、删除数据库中的数据。

2.3.2代表关键字有 INSERT、UPDATE、DELETE。

2.3.3例如,使用 INSERT INTO 语句向表中插入新数据,使用 UPDATE 语句修改表中的数据。

2.4数据控制语言(DCL, Data Control Language):

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

2.4.2代表关键字有 GRANT、REVOKE 等。

2.4.3例如,使用 GRANT 语句赋予用户访问数据库的权限,使用 REVOKE 语句撤销用户的访问权限。

2.5事务控制语言(TCL, Transaction Control Language):

2.5.1用于管理数据库事务,确保数据的完整性和一致性。

2.5.2代表关键字有 COMMIT、ROLLBACK、SAVEPOINT 等。

2.5.3例如,使用 COMMIT 语句提交事务,使用 ROLLBACK 语句回滚事务到某个状态。

3.DDL之数据库操作:database:

3.1.创建数据库

3.2 查看数据库:

3.2.1查看当前用户的所有数据库:

3.2.2 查看某个数据库的定义信息:

3.3 删除数据库

 3.4.修改正在使用的数据库:


前言:

在前面我们我们已经学习了关于tcp/ip协议今天我们来学习一下关于MySQL数据库。希望通过这篇文章能够让大家都能够有所收获,能对MySQL数据库有一个更深刻的理解和认识。这些内容都是我个人关于学习的一些见解,希望大家多多包涵,也欢迎大家在评论区和谐讨论。

1.MySQL定义:

MySQL是一个开源的关系型数据库管理系统,它使用结构化查询语言(SQL)进行数据库操作。MySQL数据库是按照数据结构来组织、存储和管理数据的仓库,支持大量的数据存储,并提供高效的数据检索、定义、管理、维护等功能。

1.1基础概念:

1.1.1数据库(Database)

数据库是按照数据结构来组织、存储和管理数据的仓库。在MySQL中,数据库是表的集合,用于存储特定应用或项目的所有数据。

1.1.2表(Table)

表是数据库的基本存储单位,由行和列组成。每一行代表一条记录,每一列代表一个字段。字段定义了数据的类型和约束。

1.1.3记录(Record)与字段(Field)

记录是表中的一行数据,字段则是表中的一列数据。记录由多个字段组成,每个字段存储特定类型的数据。

1.2技术特性:

1.2.1结构化查询语言(SQL)

MySQL使用SQL作为查询语言,用于执行数据的增删改查等操作。SQL是一种标准化的语言,易于学习和使用。

1.2.2事务处理

MySQL支持事务处理,确保数据的完整性和一致性。通过ACID属性(原子性、一致性、隔离性、持久性),MySQL提供了可靠的数据处理机制。

1.2.3索引与查询优化

MySQL提供索引功能,以加速数据的检索速度。同时,MySQL还具备查询优化器,能够自动优化查询语句的执行计划,提高查询效率。

1.3应用与优势:

1.3.1开源与免费

MySQL是一个开源项目,可以免费使用和修改。这降低了企业的成本,并促进了技术的共享与发展。

1.3.2跨平台兼容性

MySQL可以在多种操作系统上运行,如Windows、Linux、Unix等。这使得开发者可以根据项目需求选择合适的操作系统环境。

1.3.3广泛的应用场景

由于MySQL的稳定性和高效性,它被广泛应用于各种场景,如网站开发、企业级应用、数据分析等。许多知名公司如Facebook、淘宝等都使用MySQL作为其后端数据库。

1.3.4强大的社区支持

MySQL拥有庞大的用户社区和丰富的文档资源。开发者可以在社区中寻求帮助、分享经验并获取最新的技术动态。

1.4高级特性与扩展:

1.4.1存储过程与函数

MySQL支持存储过程和函数,允许开发者在数据库中编写复杂的业务逻辑,减少网络传输和提高处理效率。

1.4.2触发器与视图

MySQL提供触发器和视图功能,用于在数据变更时自动执行特定操作或简化复杂查询的表示。

1.4.3复制与分区

MySQL支持数据复制功能,可以实现数据的备份和负载均衡。同时,MySQL还支持表分区功能,可以将大表拆分成多个小表以提高查询性能和管理效率。

1.4.4安全性与权限管理

MySQL提供强大的安全性功能,如访问控制、加密通信等。同时,MySQL还支持细粒度的权限管理功能,可以精确控制用户对数据库的访问权限和操作范围。

总之MySQL是一个功能强大、灵活且易于使用的关系型数据库管理系统。它的开源性质、广泛的平台支持、强大的社区和丰富的功能使其成为许多应用程序的首选数据库解决方案。无论是小型项目还是大型企业级应用,MySQL都能提供可靠的数据存储和处理能力。

2.SQL语句:

SQL(Structured Query Language,结构化查询语言)是用于管理关系型数据库的标准编程语言。SQL语句可以根据其功能进行分类,主要分为以下几类:

 2.1数据查询语言(DQL, Data Query Language)

2.1.1主要用于查询数据库中的数据。

2.1.2代表关键字是 SELECT

2.1.3常见用法包括简单查询、连接查询、子查询等。

示例:查询employees表中所有员工的姓名和工资。

SELECT first_name, last_name, salary FROM employees;

2.2数据定义语言(DDL, Data Definition Language)

2.2.1用于定义或修改数据库结构,包括创建、修改和删除表、索引等数据库对象。

2.2.2代表关键字有 CREATEALTERDROP 等。

2.2.3例如,使用 CREATE TABLE 语句创建新表,使用 ALTER TABLE 语句修改表结构。

 示例:创建一个名为employees的表,包含idfirst_namelast_namesalary字段。

CREATE TABLE employees (  id INT PRIMARY KEY AUTO_INCREMENT,  first_name VARCHAR(50),  last_name VARCHAR(50),  salary DECIMAL(10, 2)  
);

2.3数据操纵语言(DML, Data Manipulation Language)

2.3.1用于插入、更新、删除数据库中的数据。

2.3.2代表关键字有 INSERTUPDATEDELETE

2.3.3例如,使用 INSERT INTO 语句向表中插入新数据,使用 UPDATE 语句修改表中的数据。

示例:向employees表中插入一条新记录。

INSERT INTO employees (first_name, last_name, salary) VALUES ('John', 'Doe', 5000.00);

 示例:删除employees表中John Doe的记录。

DELETE FROM employees WHERE first_name = 'John' AND last_name = 'Doe';

2.4数据控制语言(DCL, Data Control Language)

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

2.4.2代表关键字有 GRANTREVOKE 等。

2.4.3例如,使用 GRANT 语句赋予用户访问数据库的权限,使用 REVOKE 语句撤销用户的访问权限。

示例:授予用户usernameemployees表的查询权限。

GRANT SELECT ON database_name.employees TO 'username'@'host';

2.5事务控制语言(TCL, Transaction Control Language)

2.5.1用于管理数据库事务,确保数据的完整性和一致性。

2.5.2代表关键字有 COMMITROLLBACKSAVEPOINT 等。

2.5.3例如,使用 COMMIT 语句提交事务,使用 ROLLBACK 语句回滚事务到某个状态。

示例:开始一个新事务。 

START TRANSACTION;

3.DDL之数据库操作:database:

DDL与DML(数据操纵语言)不同,DML主要处理数据的增删改查(如INSERT、UPDATE、DELETE、SELECT等),而DDL关注数据库模式的修改,即数据结构的更改。

3.1.创建数据库

create database 数据库名;

例如:

create database test;

如果想要指定数据库中的数据编码:

create database 数据库名 character set 字符集;

3.2 查看数据库:

3.2.1查看当前用户的所有数据库:

show databases;

3.2.2 查看某个数据库的定义信息:

show create database 数据库名;

3.3 删除数据库

drop database 数据库名;

 3.4.修改正在使用的数据库:

3.4.1查看正在使用的数据库:

select database();

3.4.2切换数据库:

use 数据库名;

结语:

今天我们就先分享到这里,关于MySQL数据库其实还有一些内容,不过由于时间的关系,今天先分享到这里关于我的博文同时也欢迎大家对我的文章进行点评,也欢迎各位大佬在评论区和谐讨论。

相关文章:

今天我们来学习一下关于MySQL数据库

目录 前言: 1.MySQL定义: 1.1基础概念: 1.1.1数据库(Database): 1.1.2表(Table): 1.1.3记录(Record)与字段(Field): …...

长期护理保险可改善老年人心理健康 | CHARLS CLHLS CFPS 公共数据库周报(3.6)...

欢迎报名2024年“真实世界临床研究”课程! 本周郑老师开讲:“真实世界临床研究”培训班,3月16-17日两天,欢迎报名! CHARLS公共数据库‍ CHARLS数据库简介中国健康与养老追踪调查(China Health and Retirement Longitud…...

49、C++/友元、常成员函数和常对象、运算符重载学习20240314

一、封装类 用其成员函数实现&#xff08;对该类的&#xff09;数学运算符的重载&#xff08;加法&#xff09;&#xff0c;并封装一个全局函数实现&#xff08;对该类的&#xff09;数学运算符的重载&#xff08;减法&#xff09;。 代码&#xff1a; #include <iostream…...

SQL Server错误:15404

执行维护计划失败&#xff0c;提示SQL Server Error 15404 无法获取有关... 异常如下图&#xff1a; 原因&#xff1a;数据库用户名与计算机名称不一致 解决办法&#xff1a;1.重名称数据库用户名 将前缀改成计算机名 2.重启SQL Server代理...

Halcon文件操作

1、Region读写操作 region&#xff08;区域&#xff09;是一种重要的数据类型&#xff0c;用于表示图像中的特定区域。这些区域可以代表图像中的目标、感兴趣的区域、边缘、形状等等 read_image (Image, printer_chip/printer_chip_01) dev_open_window (0, 0, 512, 512, black…...

【测试知识】业务面试问答突击版1

高内聚低耦合 高内聚指的是将相关的功能或数据组织在一起&#xff0c;使得模块内部的各个元素紧密地联系在一起&#xff0c;完成特定的任务。 低耦合指的是模块之间的依赖关系尽可能地降低&#xff0c;模块之间的接口简单清晰&#xff0c;减少模块之间的相互影响。 文章目录 整…...

使用el-row及el-col页面缩放时出现空行解决方案

问题&#xff1a; 当缩放到90%或者110%&#xff0c;选中下拉后&#xff0c;下方就会出现空行 如下图所示&#xff1a; 关于el-row 和 el-col &#xff1a; 参数说明类型可选值默认值span栅格占据的列数number—24offset栅格左侧的间隔格数number—0push栅格向右移动格数number…...

java中几种对象存储(文件存储)中间件的介绍

一、前言 在博主得到系统中使用的对象存储主要有OSS&#xff08;阿里云的对象存储&#xff09; COS&#xff08;腾讯云的对象存储&#xff09;OBS&#xff08;华为云的对象存储&#xff09;还有就是MinIO 这些玩意。其实这种东西大差不差&#xff0c;几乎实现方式都是一样&…...

网络工程师——2024自学

一、怎样从零开始学习网络工程师 当今社会&#xff0c;人人离不开网络。整个IT互联网行业&#xff0c;最好入门的&#xff0c;网络工程师算是一个了。 什么是网络工程师呢&#xff0c;简单来说&#xff0c;就是互联网从设计、建设到运行和维护&#xff0c;都需要网络工程师来…...

SwiftUI的Picker

SwiftUI的Picker 本章来记录一下SwiftUI中三种不同Picker的用法 &#xff0c;分别为normalPicker &#xff0c; wheelPicker&#xff0c; segmentedPicker 。可以根据不同需求展示不同的Picker import SwiftUIstruct PickerBootCamp: View {State var selection: String &quo…...

物联网技术助力智慧城市转型升级:智能、高效、可持续

目录 一、物联网技术概述及其在智慧城市中的应用 二、物联网技术助力智慧城市转型升级的路径 1、提升城市基础设施智能化水平 2、推动公共服务智能化升级 3、促进城市治理现代化 三、物联网技术助力智慧城市转型升级的成效与展望 1、成效显著 2、展望未来 四、物联网技…...

YOLOv7_pose-Openvino和ONNXRuntime推理【CPU】

纯检测系列&#xff1a; YOLOv5-Openvino和ONNXRuntime推理【CPU】 YOLOv6-Openvino和ONNXRuntime推理【CPU】 YOLOv8-Openvino和ONNXRuntime推理【CPU】 YOLOv7-Openvino和ONNXRuntime推理【CPU】 YOLOv9-Openvino和ONNXRuntime推理【CPU】 跟踪系列&#xff1a; YOLOv5/6/7-O…...

通过ACPI检测沙箱-反虚拟机

ACPI & ACPI table ACPI 表示高级配置和电源管理接口&#xff08;Advanced Configuration and Power Management Interface&#xff09;&#xff0c;对于Windows2000&#xff0c;ACPI定义了Windows2000、BIOS和系统硬件之间的新型工作接口。这些新接口包括允许Windows 200…...

计算点集的最小外接矩形——OpenCV的minAreaRect函数

计算点集的最小外接矩形——OpenCV的minAreaRect函数 函数原型 输入一系列二维点&#xff0c;返回其最小外接矩形。 RotatedRect minAreaRect( InputArray points );根据函数原型&#xff0c;输入的数据可以是vector<Point>类型&#xff0c;包含1个以上的点&#xff1…...

Stripe Web 购买集成

图片被吞了可以来这里看&#xff1a;https://juejin.cn/post/7346388511338381364 1. 准备事项 Stripe 账号域名以及配套的网站Stripe 账号付款信息公钥和私钥 2. 配置产品以及价格 可以通过 API 或者 Stripe 管理后台来进行配置 产品&#xff1a;就是商品&#xff0c;只需…...

加密货币在网络违法犯罪活动中的利用情况调查

一、调查背景 区块链基于分布式共识和经济激励等手段&#xff0c;在开放式、无许可的网络空间中&#xff0c;为价值的确立、存储、转移提供了新的解决方案。然而随着加密生态在过去若干年的快速发展&#xff0c;加密货币也越来越多地被用于各类风险活动&#xff0c;为网络赌博…...

【测试知识】业务面试问答突击版3---bug、测试用例设计

文章目录 一个完整的缺陷报告包含一个完整的测试用例包含一个完整的测试计划包含缺陷严重等级简述等价类划分法并举例简述边界值分析法逻辑覆盖针对具体场景的测试用例设计软件中存在多个分支时如何设计测试用例静态代码检查什么白盒测试是&#xff1f;常用方法是&#xff1f; …...

使用大型语言模型进行实体提取

原文地址&#xff1a;Using A Large Language Model For Entity Extraction LLM 能否比传统 NLP 方法更好地提取实体&#xff1f; 2022 年 7 月 12 日 Large Language Models for Generative Information Extraction: A Survey 实体简介 使用Co:here大型语言模型。 实体可以被视…...

基础:TCP是什么?

1. TCP 是什么&#xff1f; TCP&#xff08;Transmission Control Protocol 传输控制协议&#xff09; 是一种面向连接的、可靠的、基于字节流的传输层通信协议&#xff0c;由IETF的RFC 793 [1]定义。 TCP旨在适应支持多网络应用的分层协议层次结构。连接到不同但互连的计算机…...

el-table中 el-popover 性能优化

场景&#xff1a;在 el-table 中使用 el-popover ,出现了 loading 加载卡顿的问题&#xff0c;接口返回的数据的时间大概是 140ms &#xff0c;所以不是接口慢的原因&#xff1b;通过对表中结构的逐步排查&#xff0c;发现是表中的 某一行 所影响的&#xff1b;并且 其中含有 e…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...