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

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...