当前位置: 首页 > 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…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

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

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

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控&#xff0c;故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令&#xff1a;jps [options] [hostid] 功能&#xff1a;本地虚拟机进程显示进程ID&#xff08;与ps相同&#xff09;&#xff0c;可同时显示主类&#x…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)

LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 题目描述解题思路Java代码 题目描述 题目链接&#xff1a;LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...