数据库 - MySQL介绍

目录

前言

一、MySQL介绍

(一)关系型数据库

(二)SQL支持

(三)开源

(四)性能和拓展性

(五)支持多种存储引擎

(六)事物与锁机制

(七)跨平台支持

(八)社区支持与生态系统

(九)适用场景

(十)优缺点

 总结

二、MySQL的简单操作

(一)连接数据库

(二)创建数据库

(三)创建表

(四)插入数据

(五)查询数据

(六)更新数据

(七)删除数据

(八)删除表

(九)删除数据库

(十)数据类型简介

(十一)导入和导出数据

(十二)用户管理


前言

从这篇文章就开始讲述MySQL相关知识,数据库在项目中是非常重要的存在,主要用于存储数据,让我们接着往下看。


一、MySQL介绍

MySQL 是一个广泛使用的开源关系型数据库管理系统(RDBMS),主要用于管理和组织存储在表格中的数据。它由瑞典的 MySQL AB 公司开发,现属于 Oracle 公司。MySQL有以下几个关键点:

(一)关系型数据库

MySQL 使用关系型模型存储数据,这意味着数据被组织成表格,表格之间可以通过特定的字段(如外键)建立关系。每张表由组成,列代表数据的属性,而行则是实际的记录。

(二)SQL支持

MySQL 支持SQL(结构化查询语言),这是数据库操作的标准语言。你可以使用 SQL 来执行数据查询、插入、更新、删除操作。常见的 SQL 语句包括:

  • SELECT:从表中查询数据。

  • INSERT:向表中插入新数据。

  • UPDATE:更新表中的现有数据。

  • DELETE:删除表中的数据。

(三)开源

MySQL 是一个开源软件,这意味着你可以免费下载、使用和修改其源代码。尽管 MySQL 现在属于 Oracle,但其社区版仍然保留开源模式,用户可以根据需要进行扩展和定制。

(四)性能和拓展性

MySQL 因其高性能扩展性而广受欢迎。它可以处理从小型应用程序到大型系统的多种数据工作负载,适合高并发的在线事务处理(OLTP)系统。MySQL 的存储引擎(如 InnoDB 和 MyISAM)提供了不同的方式来管理数据和提高性能。

(五)支持多种存储引擎

MySQL 支持多种存储引擎,这让用户可以根据具体需求选择适合的引擎。常用的存储引擎包括:

  • InnoDB:支持事务、外键和行级锁,适用于高一致性要求的应用。

  • MyISAM:不支持事务,适用于高读取速度的应用。

这些引擎之间的差异让 MySQL 在不同场景下表现灵活,适合多种需求。

(六)事物与锁机制

MySQL 支持事务处理,这意味着一组 SQL 操作可以作为一个原子操作执行,要么全部成功,要么全部失败。事务通常用于确保数据一致性和完整性。MySQL 还提供了锁机制,以防止并发操作时的数据冲突问题。

(七)跨平台支持

MySQL 是跨平台的,支持多种操作系统,包括 Linux、Windows、macOS 等,这使得它可以在不同的开发环境中广泛使用。

(八)社区支持与生态系统

由于 MySQL 的流行,它拥有强大的社区支持和丰富的第三方工具、库与扩展。你可以很容易地找到文档、教程、插件,以及与 MySQL 相关的各种资源。

(九)适用场景

MySQL 适用于各种类型的应用,特别是在网络应用中十分流行。例如,许多 Web 开发框架(如 PHP、Python 的 Django)都可以与 MySQL 无缝集成。它在内容管理系统(CMS)电子商务社交媒体平台等方面有广泛应用。

(十)优缺点

  • 优点

    • 免费开源:对于大部分应用场景来说,MySQL 的社区版已经足够使用。

    • 快速性能:尤其是对读取和查询操作优化得很好。

    • 易于学习:语法直观,学习门槛较低。

    • 广泛的第三方工具支持:例如 phpMyAdmin、HeidiSQL 等工具使数据库管理更简单。

  • 缺点

    • 事务处理较弱(尤其是相比于 PostgreSQL 等其他数据库)。

    • 功能相对简单:对于一些高级数据需求,MySQL 可能不够强大。

 总结

MySQL 是一款轻量级、灵活、可靠的数据库管理系统,适用于各种网络应用。它的广泛使用、良好的社区支持、以及跨平台的特性,使得 MySQL 成为现代开发中不可或缺的一部分。


二、MySQL的简单操作

MySQL 的基本操作主要围绕数据库和表的创建、管理以及数据的增删改查。以下是一些常见的 MySQL 操作及其 SQL 语句示例。

(一)连接数据库

首先,连接到 MySQL 服务器,可以通过命令行工具或图形化界面来连接。

mysql -u 用户名 -p

输入正确的密码后,你就会进入 MySQL 命令行界面,准备执行 SQL 语句。

(二)创建数据库

创建一个新的数据库可以使用 CREATE DATABASE 语句:

CREATE DATABASE test_db;

创建后,可以选择使用这个数据库:

USE test_db;

(三)创建表

创建表需要指定表的名称和列的结构,包括列的数据类型、长度等。例如,创建一个用户表 users

CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,username VARCHAR(50) NOT NULL,email VARCHAR(100),created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
  • id 列是主键(PRIMARY KEY),并且自动递增(AUTO_INCREMENT)。

  • username 列是 VARCHAR(50) 类型,表示最多包含 50 个字符,且不能为空(NOT NULL)。

  • email 列是 VARCHAR(100) 类型,可以为空。

  • created_at 列是时间戳类型,默认值是当前时间。

(四)插入数据

向表中插入数据可以使用 INSERT INTO 语句。例如,向 users 表中插入一条新记录:

INSERT INTO users (username, email) 
VALUES ('JohnDoe', 'johndoe@example.com');

如果某些列具有默认值,或者可以为空,那么这些列可以不在 INSERT INTO 语句中指定。

(五)查询数据

使用 SELECT 语句来从表中查询数据。以下是一些常见的查询操作:

查询所有数据:

SELECT * FROM users;

查询特定列:

SELECT username, email FROM users;

添加条件查询:

SELECT * FROM users WHERE username = 'JohnDoe';

排序查询结果:

SELECT * FROM users ORDER BY created_at DESC;

限制返回的记录数:

SELECT * FROM users LIMIT 5;

(六)更新数据

使用 UPDATE 语句来修改表中的数据。例如,修改用户 JohnDoe 的邮箱地址:

UPDATE users 
SET email = 'newemail@example.com' 
WHERE username = 'JohnDoe';

注意WHERE 子句是必要的,如果不加 WHERE,则所有的记录都会被更新。

(七)删除数据

使用 DELETE 语句来删除表中的数据。例如,删除用户名为 JohnDoe 的记录:

DELETE FROM users WHERE username = 'JohnDoe';

同样需要注意 WHERE 子句,否则会删除所有记录。

(八)删除表

删除表时,使用 DROP TABLE 语句:

DROP TABLE users;

(九)删除数据库

如果不再需要某个数据库,可以删除它:

DROP DATABASE test_db;

(十)数据类型简介

在创建表时,你需要为每一列指定适当的数据类型。常用的数据类型包括:

  • 整数类型INTTINYINTBIGINT 等。

  • 字符串类型VARCHAR(n)TEXT 等。

  • 日期和时间类型DATEDATETIMETIMESTAMP 等。

  • 浮点数类型FLOATDOUBLE

(十一)导入和导出数据

可以使用 MySQL 的导入导出功能来备份和恢复数据。

导出数据库:

mysqldump -u 用户名 -p 数据库名 > backup.sql

导入数据库:

mysql -u 用户名 -p 数据库名 < backup.sql

(十二)用户管理

MySQL 也支持用户管理,例如创建用户并赋予权限:

创建新用户:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

授予权限:

GRANT ALL PRIVILEGES ON test_db.* TO 'newuser'@'localhost';

刷新权限:

FLUSH PRIVILEGES;

三、总结

该篇文章主要是MySQL的入门简介,主要是MySQL的介绍和较为基础的操作,下篇文章会进行数据查询相关的探讨,拭目以待吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1543100.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Kotlin 函数和变量(四)

导读大纲 1.1 基本要素: 函数和变量1.1.1 声明变量以存储数据1.1.2 将变量标记为只读或可重新赋值1.1.3 更简单的字符串格式化: 字符串模板 1.1 基本要素: 函数和变量 本节将向你介绍每个 Kotlin 程序都包含的基本元素: 函数和变量 你将编写自己的第一个 Kotlin 程序,了解 Kotl…

18_Python文件操作

计算机中的文件 文件是存储在计算机上的数据集合&#xff0c;它可以是文本、图片、音频、视频或其他任何类型的数据。 在计算机系统中&#xff0c;文件通常用来长期保存信息。 文本文件&#xff1a;一种以字符编码&#xff08;如ASCII、UTF-8、UTF-16等&#xff09;的形式存储…

高速滑环在摄像领域的应用分析

高速滑环在现代摄像技术中扮演着至关重要的角色。随着摄像设备向高速度、高精度的方向发展&#xff0c;传统的信号传输方式已无法满足需求。高速滑环作为连接旋转部件与固定部件的重要组件&#xff0c;能够有效地传递电信号和数据&#xff0c;为摄像设备的高效运转提供保障。 …

[arcgis插件]在批量出图时,如何把图层属性表以动态表格的形式插入到布局页面

在Arcmap&#xff0c;如何把图层属性表以动态表格的形式插入到布局页面? 众所周知&#xff0c;在属性表的左上角&#xff0c;有个功能是“把表添加到布局”&#xff0c;就可以把属性表以表格的形式添加到布局页面。 但是今天要说的是并不是这个&#xff0c;今天要说的是&…

神经网络(一):神经网络入门

文章目录 一、神经网络1.1神经元结构1.2单层神经网络&#xff1a;单层感知机1.3两层神经网络&#xff1a;多层感知机1.4多层神经网络 二、全连接神经网络2.1基本结构2.2激活函数、前向传播、反向传播、损失函数2.2.1激活函数的意义2.2.2前向传播2.2.3损失函数、反向传播2.2.4梯…

SSCMS 插件示例 一插件创建及插件菜单

SSCMS 插件示例下载 1、工程创建过程,如下图所示。 2、工程路径和工程命名,如下图所示。 bjxingch作者 IPluginCUDR插件名称 3、选择框架,如下图所示。 4、使用NuGet安装 SSCMS和Datory,如下图所示。

【软件工程】状态转换图 其他图形工具

状态转换图 一、定义 二、符号表示 其他图形工具 一、层次方框图 二、Warmer图 三、IPO图 例题 选择题

熟练的Java程序员:掌握核心技能,引领技术潮流

Java&#xff0c;作为一门成熟且广泛应用的编程语言&#xff0c;对于程序员来说&#xff0c;不仅是一种技能&#xff0c;更是一种职业态度的体现。一个熟练的Java程序员&#xff0c;应该具备哪些技术呢&#xff1f;本文将为您揭晓答案。 1. 扎实的Java基础 熟练掌握Java语言的…

《深入理解JAVA虚拟机(第2版)》- 第13章 - 学习笔记【终章】

第13章 线程安全与锁优化 13.1 概述 面向过程的编程思想 将数据和过程独立分开&#xff0c;数据是问题空间中的客体&#xff0c;程序代码是用来处理数据的&#xff0c;这种站在计算机角度来抽象和解决问题的思维方式&#xff0c;称为面向对象的编程思想。 面向对象的编程思想…

想从事大模型?一大波工作岗位等你选!

技术类岗位 您可从事&#xff1a;算法工程师&#xff0c;研发工程师。 管理类岗位 您可从事&#xff1a;AI项目经理、AI产品经理、AI销售、AI解决方案。 01 技术类岗位 算法工程师 大模型算法工程师的职位通常要求求职者具备以下几方面的能力和经验。 通用技能教育背景…

大健康管理系统|健康综合咨询问诊平台设计与实现(源码+数据库+文档)

大健康管理系统目录 目录 健康综合咨询问诊平台设计与实现 一、前言 二、系统功能设计 三、系统实现 5.1用户信息管理 5.2 医生信息管理 5.3科室信息管理 5.1新闻信息管理 四、数据库设计 1、实体ER图 2、具体的表设计如下所示&#xff1a; 五、核心代码 六、论文…

干货|生成式人工智能大模型备案详细办理资料清单

我以刚通过的大模型备案提交的材料清单给大家详细讲一讲 刚通过的大模型备案材料清单 1、安全评估报告 安全评估报告是大模型备案过程中的一个重要关键部分&#xff0c;它需由专业机构或团队完成&#xff0c;全面评估大模型在语料处理、模型训练、服务提供等环节中的安全性。…

vue3ScrollSeamless滚动如何给子元素添加点击事件:事件委托

页面布局如上截图 下面是方法 function parentClick(e) {if (e.target.tagName A) {router.push({path: /noticeDetails,query: {id: e.target.dataset.eid}});} }使用的时候&#xff0c;可以打印一下方法里面的e&#xff0c;加深理解

基于51单片机的电机控制和角度检测

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机&#xff0c;采用滑动变阻器连接ADC0832数模转换器模拟角度传感器&#xff0c;然后通过LCD1602显示数值&#xff0c;然后按键按下不动&#xff0c;电机正转&#xff0c;松开停止。第二…

红外绝缘子数据集

红外绝缘子数据集&#xff0c;绝缘子旋转框检测 电气工程专业研究可用 电力领域稀有红外图像数据集 红外图像总数5000多张&#xff0c;txt格式&#xff0c;可直接用于yolo训练 红外绝缘子数据集 (Infrared Insulator Dataset, IID) 数据集描述 IID是一个专为电气工程专业研究…

react中解析markdown文本

背景 产品想把从某个地方复制出来的markdown文本&#xff0c;保存下来&#xff0c;并且在前端这边展示的时候&#xff0c;按照对应的格式展示 工具 markedhighlight.jsmarked-highlight 原来的marked版本&#xff0c;是可以直接处理高亮配置&#xff0c;但是后续更新为了轻量…

耦合微带线单元的网络参量和等效电路公式推导

文档下载链接&#xff1a;耦合微带线单元的网络参量和等效电路资源-CSDN文库https://download.csdn.net/download/lu2289504634/89583027笔者水平有限&#xff0c;错误之处欢迎留言&#xff01; 一、耦合微带线奇偶模详细推导过程 二、2,4端口开路 三、2端口短路、3端口开路 四…

Apple Intelligence预计会在iOS 18.1和iOS 18.4之间按此顺序推出

本月早些时候 iOS 18 已公开发布&#xff0c;但首批 Apple Intelligence 功能要等到 10 月份 iOS 18.1 发布后才可以使用。Apple Intelligence 功能将继续在 iOS 18.2 及更高版本中推出&#xff0c;预计路线图如下&#xff0c;出自 Apple 网站和传闻。 Apple Intelligence 需要…

electron-vite使用vue-i18n,ts 检查报错上不存在属性“$t”

问题&#xff1a; electron-vite使用vue-i18n&#xff0c;ts类型检查报错&#xff0c;但实际运行没有问题 解决方案&#xff1a; 1. 在electron-vite渲染端代码src目录下&#xff0c;增加 vue-i18n.d.ts 文件&#xff0c;添加如下内容&#xff1a; /* eslint-disable */ im…

【d47_2】【Java】【力扣】1791.找出星型图的中心节点

思路 直接判断 edges[0][0] edges[0][1] edges[1][0] edges[1][1] 谁重复了 例如&#xff1a; [ [1,2] [2,3] ....],那么中心节点一定是2 代码 class Solution {public int findCenter(int[][] edges) {for (int i0;i<1;i){if (edges[1][0]edges[0][i]) {return edg…