MySQL 数据库学习教程一:开启数据库探索之旅
在当今数字化时代,数据已然成为企业和组织最为宝贵的资产之一。而数据库管理系统则是存储、管理和操作这些数据的核心工具。MySQL 作为一款广泛应用的开源关系型数据库管理系统,以其可靠性、高性能和易用性而备受青睐。如果你渴望踏入数据库领域,掌握 MySQL 数据库的基本技能,那么这篇教程将为你指引方向,带你迈出坚实的第一步。
一、MySQL 简介
MySQL 是一种基于结构化查询语言(SQL)的关系型数据库管理系统。它能够高效地存储、组织和检索大量的数据,适用于各种规模的应用场景,从个人博客网站到大型企业级应用系统都有广泛的应用。其具有以下特点:
• 开源免费:MySQL 的开源性质使得开发者可以免费使用、修改和分发它,大大降低了开发成本,促进了技术社区的积极参与和创新。
• 跨平台支持:可以在多种操作系统上运行,包括 Windows、Linux、Mac OS 等,为不同环境下的开发和部署提供了便利。
• 高性能:通过优化的存储引擎和查询处理机制,能够快速地处理复杂的查询操作,满足高并发访问的需求。
• 可靠性:具备完善的数据备份和恢复功能,以及数据完整性约束机制,确保数据的安全性和一致性。
二、安装与配置 MySQL
(一)下载 MySQL
首先,访问 MySQL 官方网站(https://dev.mysql.com/downloads/mysql/),根据你的操作系统版本选择合适的 MySQL 安装包进行下载。
(二)安装 MySQL
• Windows 系统:
• 运行下载的安装程序,按照安装向导的提示进行操作。在安装过程中,你可以选择安装类型(如典型安装、自定义安装)、设置安装路径、配置 root 用户密码等。
• 安装完成后,确保将 MySQL 的 bin 目录添加到系统环境变量 PATH 中,以便在命令行中能够方便地访问 MySQL 命令。
• Linux 系统(以 Ubuntu 为例):
• 打开终端,使用以下命令更新软件包列表:
sudo apt-get update
• 然后安装 MySQL 服务器:
sudo apt-get install mysql-server
• 安装过程中会提示设置 root 用户密码,按照提示完成设置。
• 安装完成后,可以使用以下命令检查 MySQL 服务是否正常运行:
sudo service mysql status
(三)配置 MySQL
MySQL 安装完成后,可能需要进行一些基本的配置。例如,可以修改 MySQL 的配置文件(my.cnf)来调整一些参数,如字符集设置、缓存大小等,以适应特定的应用需求。在 Windows 系统中,my.cnf 文件通常位于 MySQL 安装目录下;在 Linux 系统中,一般位于 /etc/mysql 目录下。
三、MySQL 基本概念
(一)数据库
数据库是一个存储数据的容器,类似于一个文件柜,用于组织和管理相关的数据表、视图、存储过程等对象。在 MySQL 中,可以使用CREATE DATABASE语句创建一个新的数据库,例如:
CREATE DATABASE my_database;
(二)数据表
数据表是数据库中存储数据的基本单元,由行和列组成。每一行代表一条记录,每一列代表一个字段,用于存储特定类型的数据。例如,创建一个名为users的数据表,包含id、name、age等字段:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
age INT
);
在这个例子中,id字段被定义为自增长的整数类型,并作为主键,用于唯一标识每一条记录;name字段为字符串类型,最大长度为 50;age字段为整数类型。
(三)数据类型
MySQL 支持多种数据类型,包括整数类型(如 INT、BIGINT)、小数类型(如 DECIMAL)、字符串类型(如 VARCHAR、CHAR)、日期时间类型(如 DATE、DATETIME)等。选择合适的数据类型对于数据库的性能和数据存储的准确性非常重要。
(四)主键与外键
• 主键:主键是数据表中的一个或一组字段,其值能够唯一地标识每一条记录。主键的作用是确保数据的完整性和唯一性,便于数据的查询、更新和删除操作。如上面users表中的id字段就是主键。
• 外键:外键用于建立两个数据表之间的关联关系。它指向另一个表的主键,通过外键可以实现数据的关联查询和数据一致性维护。例如,创建一个orders表,其中包含user_id外键,关联到users表的id主键:
CREATE TABLE orders (
order_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
order_date DATE,
FOREIGN KEY (user_id) REFERENCES users(id)
);
四、SQL 基础操作
(一)插入数据
使用INSERT INTO语句向数据表中插入数据。例如,向users表中插入一条记录:
INSERT INTO users (name, age) VALUES (‘John’, 25);
(二)查询数据
使用SELECT语句从数据表中查询数据。例如,查询users表中所有记录:
SELECT * FROM users;
也可以指定查询特定字段:
SELECT name, age FROM users;
还可以使用WHERE子句添加查询条件,例如查询年龄大于 20 岁的用户:
SELECT * FROM users WHERE age > 20;
(三)更新数据
使用UPDATE语句更新数据表中的数据。例如,将John的年龄更新为 26 岁:
UPDATE users SET age = 26 WHERE name = ‘John’;
(四)删除数据
使用DELETE FROM语句删除数据表中的数据。例如,删除users表中名为John的记录:
DELETE FROM users WHERE name = ‘John’;
五、总结
在本教程中,我们对 MySQL 数据库进行了初步的介绍,包括其特点、安装与配置方法、基本概念以及 SQL 基础操作。这只是 MySQL 学习的开端,接下来我们将深入探讨更复杂的查询语句、数据连接操作、索引优化等内容。通过不断的学习和实践,你将逐渐掌握 MySQL 数据库的强大功能,能够有效地管理和操作数据,为构建各种应用系统奠定坚实的基础。希望你能继续保持学习的热情,在 MySQL 数据库的学习道路上不断前进。
相关文章:
MySQL 数据库学习教程一:开启数据库探索之旅
在当今数字化时代,数据已然成为企业和组织最为宝贵的资产之一。而数据库管理系统则是存储、管理和操作这些数据的核心工具。MySQL 作为一款广泛应用的开源关系型数据库管理系统,以其可靠性、高性能和易用性而备受青睐。如果你渴望踏入数据库领域…...

Vue+Elementui el-tree树只能选择子节点并且支持检索
效果: 只能选择子节点 添加配置添加检索代码 源码: <template><div><el-button size"small" type"primary" clearable :disabled"disabled" click"showSign">危险点评估</el-button>…...

Lumos学习王佩丰Excel第十八讲:LOOKUP函数与数组
一、回顾统计函数 1、使用SUMIF函数 sumif(条件区域,求和条件,求和区域) 2、使用SUMIFS函数 SUMIFS(求和范围, 条件范围1, 条件1, 条件范围2, 条件2, ...) 二、认识数组 1、数组生成原理 所谓数组,是有序的元素序列。组成数组的各个变量称为数组的元素。对于Ex…...

Git的基本使用操作
文章目录 Git 全局配置基本操作Git 常用命令版本回退根据版本号回滚分支远端分支 🏡作者主页:点击! 🤖Git专栏:点击! ⏰️创作时间:2024年12月1日12点50分 Git 全局配置 虽然说是全局配置&am…...
【C语言】结构体嵌套
结构体嵌套是指在一个结构体中定义另一个结构体作为其成员。这种方式可以实现更复杂的数据结构设计,便于对数据进行分层管理和组织,广泛应用于实际开发中,例如操作系统内核、嵌入式系统、网络协议解析等。下面是对结构体嵌套的详细介绍&#…...

PDF view | Chrome PDF Viewer |Chromium PDF Viewer等指纹修改
1、打开https://www.browserscan.net/zh/ 2、将internal-pdf-viewer改为 internal-pdf-viewer-jdtest看下效果: 3、源码修改: third_party\blink\renderer\modules\plugins\dom_plugin_array.cc namespace { DOMPlugin* MakeFakePlugin(String plugin_…...

maxun爬虫工具docker搭建
思路来源开源无代码网络数据提取平台Maxun 先把代码克隆到本地(只有第一次需要) git clone https://github.com/getmaxun/maxun.git 转到maxun目录 cd maxun 启动容器 docker-compose --env-file .env up -d 成功启动六个容器 网址 http://local…...

JAVAWeb之javascript学习
1.js引入方式 1. 内嵌式:在head中,通过一对script标签引入JS代码;cript代码放置位置有一定的随意性,一般放在head标签中;2.引入外部js文件 在head中,通过一对script标签引入外部JS代码;注意&…...
vue3中是如何实现双向数据绑定的
在 Vue 3 中,双向数据绑定主要通过 v-model 指令实现。v-model 是一个语法糖,它内部实际上结合了 v-bind 和 v-on 指令来实现数据的双向绑定。下面详细介绍 Vue 3 中双向数据绑定的实现原理和使用方法。 双向数据绑定的基本原理 v-bind 指令࿱…...
JavaScript事件机制详解
JavaScript中的事件模型是指当用户与网页进行交互时,浏览器会触发不同类型的事件,开发者可以通过添加事件监听器来响应这些事件。事件流是描述事件在页面元素中传播的过程,从窗口对象开始,逐级向下传播到最具体的元素,…...
k8s运行运行pod报错超出文件描述符表限制
1.问题描述 运行pod超过文件描述符表 unable to allocate file descriptor table - out of memory/opt/COMMAND.sh: line 9: 2.查看设备的文件描述符限制 操作前一定要先查询这个值,2097152这个值即为我们可设置的最大值,超过这个值后将无法登录&am…...

vue 2 父组件根据注册事件,控制相关按钮显隐
目标效果 我不注册事件,那么就不显示相关的按钮 注册了事件,才会显示相关内容 实现思路 组件在 mounted 的时候可以拿到父组件注册监听的方法 拿到这个就可以做事情了 mounted() {console.log(this.$listeners, this.$listeners);this.show.search !…...
22智能 图
例题 根据下列顶点之间的关系,画出相应的图结构 A -> B, C, D B -> A, C, C -> A, D, E, D -> B, E, E -> C, 数据结构:使用邻接表表示图,每个顶点有一个链表来存储与它相邻的顶点。 功能: 创建图。 添加边。 打…...
Springfox、Swagger 和 Springdoc
Springfox、Swagger 和 Springdoc 是用于在 Spring Boot 项目中生成 API 文档的工具,但它们之间有显著的区别和演进关系: 1. Swagger 简介 Swagger 是一个开源项目,旨在为 RESTful APIs 提供交互式文档。最早由 SmartBear 开发,…...

编程基础篇
什么是编程? 原文地址 :样式不太熟悉,有点单一,原文地址 一千个人眼中有一千个哈姆雷特,以下是我眼中的编程: A每天出门需要关一下空调,在家喜欢室内温度在 20左右,6 点左右会打开灯…...
GPT视角下,如何在密码学研究中找到属于你的方向?
(本文所有内容由GPT生成)在密码学领域发现关键性的研究方向并成为一位优秀的密码学研究员,需要结合对领域趋势的洞察、扎实的理论基础以及创新的研究思维。以下是具体步骤和方法: 一、发现关键性研究方向 关注领域前沿动态 顶级会…...

【经典】星空主题的注册界面HTML,CSS,JS
目录 界面展示 完整代码 说明: 这是一个简单的星空主题的注册界面,使用了 HTML 和 CSS 来实现一个背景为星空效果的注册页面。 界面展示 完整代码 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8&…...

Linux学习——4_WEB服务器的部署及优化
WEB服务器的部署及优化 用户常用关于web信息 什么是www www是world wide web的缩写,即万维网,也就是全球信息广播 通常说的上网就是使用www来查询用户所需要的信息。 www可以结合文字、图形、影像以及声音等多媒体,超链接的方式将信息以…...
《Vue 组件化开发:构建可复用的模块》
一、Vue 组件化开发概述 组件化是 Vue.js 的核心概念之一,它允许将界面拆分成独立、可复用的组件,使得开发大型应用变得更加简单和高效。 组件的定义是实现应用中局部功能代码和资源的集合。Vue.js 的组件化用于将 UI 页面分割为若干组件进行组合和嵌套…...
贪心算法理论
系列博客目录 文章目录 系列博客目录贪心算法 (Greedy Algorithm)贪心算法的特点贪心算法的适用条件常见的贪心算法问题贪心算法的步骤贪心算法示例:活动选择问题贪心算法的优缺点 贪心算法 (Greedy Algorithm) 贪心算法是一种在每一步选择中都采取当前状态下最优的…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...

遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...

PLC入门【4】基本指令2(SET RST)
04 基本指令2 PLC编程第四课基本指令(2) 1、运用上接课所学的基本指令完成个简单的实例编程。 2、学习SET--置位指令 3、RST--复位指令 打开软件(FX-TRN-BEG-C),从 文件 - 主画面,“B: 让我们学习基本的”- “B-3.控制优先程序”。 点击“梯形图编辑”…...
视觉slam--框架
视觉里程计的框架 传感器 VO--front end VO的缺点 后端--back end 后端对什么数据进行优化 利用什么数据进行优化的 后端是怎么进行优化的 回环检测 建图 建图是指构建地图的过程。 构建的地图是点云地图还是什么信息的地图? 建图并没有一个固定的形式和算法…...

数据库管理与高可用-MySQL故障排查与生产环境优化
目录 #1.1MySQL单案例故障排查 1.1.1MySQL常见的故障排查 1.1.2MySQL主从故障排查 #2.1MySQL优化 2.1.1硬件方面的优化 2.1.2进程方面的优化 #3.1MySQL存储引擎 3.1.1 MyISAM存储引擎 3.1.2 InnoDB存储引擎 1.1MySQL单案例故障排查 1.1.1MySQL常见的故障排查 (1&…...
AIGC 基础篇 Python基础 02
1.bool类型 书接上回,我们上次最后讲了三大数据类型,除了这三个之外,Python也有bool类型,也就是True和False。 a 2 print(a1) print(a2) 像这里,输出的内容第一个是False,因为a的值为2,而第…...