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

【全栈开发】----Mysql基本配置与使用

本篇是在已下载Mysql的情况下进行的,若还未下载或未创建Mysql服务,请转到这篇:

2024 年 MySQL 8.0.40 安装配置、Workbench汉化教程最简易(保姆级)_mysql8.0.40下载安装教程-CSDN博客

本文对于mysql的操作均使用控制台sql原生代码编写

目录

一、MySQL背景介绍

二、Mysql基本操作

1、运行Mysql

2、修改密码

3、显示、创建和删除数据库

显示

创建数据库

删除数据库

三、数据库的基本语句

1、基础数据类型

2、创建表:

简单的创建:

查看数据库下创建的表:

查看表属性:

查看表内容:

添加内容

?编辑?

查看表属性:

删除表:

3、表内的增删改查

增加数据

删除数据

修改数据

查找数据

小结

四、Mysql综合实例

创建表:

插入数据

删除指定数据

修改数据

查找数据

一、MySQL背景介绍

MySQL 是一种广泛使用的关系型数据库管理系统(RDBMS),以其高性能、可靠性和易用性而闻名。作为开源软件,MySQL 遵循 GNU 通用公共许可证(GPL),提供免费和商业版本,适用于各种规模的应用程序开发。它支持多种操作系统,如 Windows、Linux 和 macOS,具有跨平台的灵活性。MySQL 的核心优势在于其高效的查询处理能力,特别适合高并发读写操作,并且内置了丰富的安全特性,如用户权限管理和 SSL 支持,确保数据传输的安全性。此外,MySQL 提供多种存储引擎选择,如 InnoDB 和 MyISAM,以满足不同的应用场景需求。它的广泛应用涵盖了从简单的网站到复杂的企业级应用,包括内容管理系统(CMS)、电子商务平台和大数据分析等。活跃的社区支持和丰富的生态系统使得 MySQL 成为开发者首选的数据库解决方案之一。Oracle 公司自2010年起拥有 MySQL,但其开源版本继续受到全球开发者的青睐和支持。

二、Mysql基本操作

1、运行Mysql

方法一:

直接软件包中自带登录客户端

输入之前下载mysql时输入的密码,点击Enter(设置密码可以看之前这篇:

2024 年 MySQL 8.0.40 安装配置、Workbench汉化教程最简易(保姆级)_mysql8.0.40下载安装教程-CSDN博客)

最左边出现mysql>即代表已进入mysql

方法二:

在cmd终端中进入到mysql文件中的bin目录

依次输入命令:

D:
cd D:load_softwareMysql8.0MySQL Server 8.0Installin

如下图:

输入mysql的进入命令

mysql -uroot -p

这里的p后面加root代表显示输入密码,若不加则默认隐藏密码

输入密码后成功进入页面如下:

注意!在mysql>目录下,输入的语句必须以";"结尾才可运行!

2、修改密码

在mysql>下输入:

ALTER USER 'root'@'localhost' IDENTIFIED BY '718718';

若是在其他设备和端口,则修改root和localhost即可。

8.0以上版本的直接输入下面语句即可:

set password = '';

3、显示、创建和删除数据库

显示

在mysql>目录下输入

show databases;

可以显示目前该数据库服务上所安装的数据库文件,当然,大家的页面和我肯定不一样:

创建数据库

在mysql目录下输入:

create database test default character set utf8; 

(default character set设置默认编码关键字,test是数据库名称)

再次显示数据库,发现test数据库已加入:

删除数据库

输入以下命令即可(test替换成自己要删除的数据库名称):

drop database test; 

三、数据库的基本语句

数据库,我的理解是在一个文件夹中放了很多excel表

首先,进入到一个数据库中:

use test;

查看该数据库中的所有数据表:

show tables;

可以看到现在还是空的

1、基础数据类型

整数:

小数:

decimal是精确小数,double和float和decimal用法相似

字符串:

时间类型:

2、创建表:

设置主键一般为非空,并且可以自增(默认也是非空,可以不写not null)

MySQL还有很多其他的数据类型,例如:set、enum、TinyBlob、Blob、MediumBlob、LongBlob等,详细见官方文档:

MySQL :: MySQL 8.4 Reference Manual

简单的创建:
create table tb1(id int not null primary key auto_increment,name varchar(64))DEFAULT CHARSET=utf8;

这里的primary key auto_increment是设置主键,并且自动加一

这样创建可视性不高,也可以分行,只要不加";"就不会运行:

 create table tb2(age int,salary tinyint)DEFAULT CHARSET=utf8;

查看数据库下创建的表:
show tables;

查看表属性:
desc tb1;

(这里的desc全称是descript)

查看表内容:
select * from tb1;

(*号表示全部)

现在还是空表

添加内容
insert into 表名(列名,...) values(值,...);

也可以一次存入多组数据

insert into 表名(列名,...) values(值,...),(值,...),(值,...)...;

显示:

由于前面设置了主键为auto_increment,序号会自动加一

查看表属性:
desc 表名

删除表:
drop table 表名;

3、表内的增删改查

增加数据
#在表中为某两列插入一行数据
insert into 表名(列名,列名)values(值,值);#在表中为某几列插入任意行数据
insert into 表名(列名,列名...)values(值,值...),(值,值...),(值,值...),
(值,值...)...;
删除数据
#删除整张表
delete from 表名;
删除表中满足条件的表
delete from 表名 where 条件;#例子
delete from tb2;
delete from tb2 where id=1;
delete from tb2 where id =1 and name="谭sir";
delete from tb2 where id =2 or name="林sir";
delete from tb2 where id>1;
delete from tb2 where id >= 2;
delete from tb2 where id != 3;
delete from tb2 where id in(l,3);
修改数据
#更新某一列为某值
update 表名 set 列=值;
#更新几列的值
update 表名 set 列=值,列=值...;
#更新满足
update 表名 set 列=值 where 条件;#例子
update tb2 set password="哈哈哈";
update tb2 set email="哈哈哈"where id >1;
update tb2 set age=age+10 where id>2;
查找数据
#查询整张表
select *from 表名称;
#查询满足条件的列
select 列名称,列名称 from 表名称;
select 列名称,列名称 from 表名称 where 条件;#例子
select *from tb2;
select id,name from tb2;
select id,name from tb2 where id>10;
select id,name from tb2 where name="xx" and password="xx";
小结

由上文很容易看出,创建数据库和数据表结构,使用原生代码很容易实现,需要提前通过工具+命令创建。

但是,为表中添加数据,若数据量很大时,一行一行添加很不现实,这种情况下一般使用程序来实现增删改查。

四、Mysql综合实例

综合使用所有数据类型创建一个表

创建表:

create table tb2(id int not null primary key auto_increment,name varchar(64) not null,password char(64) not null,email varchar(64) not null,age tinyint,salary decimal(10,2),ctime datetime)DEFAULT CHARSET=utf8;

插入数据

为该表插入一行内容并显示:

insert into tb2(name,password,email,age,salary,ctime) values("谭sir","123","122685@qq.com",19,100000.20,"2024-12-20 10:02:02");select * from tb2;

为表中添加多行数据并显示:

#插入数据
insert into tb2(name,password,email,age,salary,ctime) 
values("江sir","1203","122685@qq.com",22,0.23,"2024-12-20 10:02:03"),
("林sir","12003","12285@qq.com",19,234.20,"2024-12-20 10:02:03"),
("徐sir","1230","1285@qq.com",18,12345.20,"2024-12-20 10:02:03"),
("张sir","1023","12685@qq.com",18,23456.20,"2024-12-20 10:02:03"),
("叶sir","1203","12265@qq.com",19,34567.20,"2024-12-20 10:02:03");#显示
select * from tb2;

删除指定数据

(这里好不容易添加了数据,我就少删点)

#删除id为3的数据
delete from tb2 where id=3;#显示
select * from tb2;

修改数据

修改一整列

#更新密码
update tb2 set password="12@qq.com"#显示
select * from tb2;

带条件修改

#更新id大于1的
update tb2 set email='哈哈哈' where id>1;#更新id大于2的年龄加一
update tb2 set age=age+1 where id>2;

查找数据

查找某两列

select id,name from tb2;

查找满足条件的数据

select id,name,password from tb2 where name="谭sir" and age>18;

本文基于控制台命令,命令繁琐,可视化不太方便,市面上也有一些控制MySQL的软件,后面可能会出新文介绍。还有Python程序存数据进库,也会更新,大家静待。。。

感谢您的三连!!!

相关文章:

【全栈开发】----Mysql基本配置与使用

本篇是在已下载Mysql的情况下进行的,若还未下载或未创建Mysql服务,请转到这篇: 2024 年 MySQL 8.0.40 安装配置、Workbench汉化教程最简易(保姆级)_mysql8.0.40下载安装教程-CSDN博客 本文对于mysql的操作均使用控制台sql原生代码…...

Spring Boot项目的基本设计步骤和相关要点介绍

以下是一个关于Spring Boot项目的基本设计步骤和相关要点介绍,我们以一个简单的示例应用——员工管理系统为例进行说明: 一、项目概述 员工管理系统旨在实现对公司员工信息的有效管理,包括员工基本信息录入、查询、更新以及删除等功能。通过Spring Boot框架来快速搭建后端…...

【Spring快速入门】不断更新...

一、Java基础 1、注解 1.3、自定义注解 springboot项目中自定义注解的使用总结、java自定义注解实战(常用注解DEMO)_springboot在类或者方法上加自定义注解-CSDN博客 同平台的新林。大佬就总结的很好,最近写得项目利用aop切面编程中的Aut…...

nodejs版本管理,使用 nvm 删除node版本,要删除 Node.js 的某个版本详细操作

要删除 Node.js 的某个版本并保持 Node Version Manager (nvm) 的管理整洁,可以按以下步骤操作: 步骤 1:查看已安装的 Node.js 版本 nvm ls这会列出你通过 nvm 安装的所有 Node.js 版本。输出类似于: -> v18.17.1v16.20…...

HTML之JavaScript DOM(document)编程处理事件

HTML之JavaScript DOM&#xff08;document&#xff09;编程处理事件 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"…...

5.【线性代数】—— 转置,置换和向量空间

五 转置&#xff0c;置换和向量空间 1. 置换矩阵2. 转置矩阵3. 对称矩阵4. 向量空间4.1 向量空间4.2 子空间 1. 置换矩阵 定义&#xff1a; 用于行互换的矩阵P。 之前进行ALU分解时&#xff0c;可能存在该行主元为0&#xff0c;要进行行互换&#xff0c;即PALU 性质&#xff1…...

移动通信发展史

概念解释 第一代网络通信 1G 第二代网络通信 2G 第三代网络通信 3G 第四代网络通信 4G 4g网络有很高的速率和很低的延时——高到500M的上传和1G的下载 日常中的4G只是用到了4G技术 运营商 移动-从民企到国企 联通-南方教育口有人 电信 铁通&#xff1a;成立于 2000 年…...

Python MoviePy 视频处理全攻略:从入门到实战案例

第1章 环境安装与配置 # 案例1&#xff1a;安装MoviePy及FFmpeg !pip install moviepy # Windows安装FFmpeg&#xff1a;https://ffmpeg.org/download.html # Linux: sudo apt-get install ffmpeg# 验证安装 from moviepy.editor import * print("MoviePy版本:", __…...

uniapp webview嵌入外部h5网页后的消息通知

最近开发了个oa系统&#xff0c;pc端的表单使用form-create开发&#xff0c;form-create 是一个可以通过 JSON 生成具有动态渲染、数据收集、验证和提交功能的表单生成组件。移动端使用uniapp开发&#xff0c;但是因为form-create移动端只支持vant&#xff0c;不支持uniapp。官…...

macos安装jmeter测试软件

java环境安装 a. 验证安装环境 java -version # 如果有版本信息&#xff0c;说明已安装 b. 安装jdk # 安装 Homebrew&#xff08;如未安装&#xff09; /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # 安装 O…...

【virtiofs】ubuntu24.04+qemu7.0调试virtiofs

文章目录 编译qemu编译buildroot编译linux-6.8.1编译virtiofsd启动脚本qemu调试方法环境: win11 + vmware17 ubuntu24.04 buildroot git clone git://git.busybox.net/buildroot linux-6.8.1 https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-6.8.1.tar.gz virti…...

DeepSeek 和 ChatGPT 在特定任务中的表现:逻辑推理与创意生成

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;Linux网络编程 &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 ​ Linux网络编程笔记&#xff1a; https://blog.cs…...

MoE硬件部署

文章目录 MoE硬件部署硬件需求**专家硬件映射&#xff1a;模块化计算单元****路由硬件加速&#xff1a;门控网络专用单元****内存与通信优化****能效控制策略****实例&#xff1a;假设部署Mixtral 8x7B到自研AI芯片** 资源分配硬件资源预分配&#xff08;编译时&#xff09;运行…...

MYSQL中的性能调优方法

MySQL性能调优是数据库管理的重要工作之一&#xff0c;目的是通过调整系统配置、优化查询语句、合理设计数据库架构等方法&#xff0c;提高数据库的响应速度和处理能力。以下是常见的MySQL性能调优方法&#xff0c;结合具体的案例进行说明。 1. 优化查询语句 查询语句是数据库…...

Day48(补)【AI思考】-设计模式三大类型统一区分与记忆指南

文章目录 设计模式三大类型统一区分与记忆指南**一、创建型模式&#xff08;对象如何生&#xff1f;&#xff09;****二、结构型模式&#xff08;对象如何组&#xff1f;&#xff09;****三、行为型模式&#xff08;对象如何动&#xff1f;&#xff09;****1. 行为型类模式&…...

公牛充电桩协议对接单车汽车平台交互协议外发版

充电设备与平台交互协议-外发版 V1.0.0.05 1 充电设备与平台交互协议 &#xff08;外发版&#xff09; 充电设备与平台交互协议-外发版 V1.0.0.05 2 版本 版本日期 修改人 版本说明 1.0.0.00 2022.05.05 研发部 外发初版 1.0.0.01 2022.08.26 研发部 0x32 增加鉴权参数 0x34 增…...

大语言模型内容安全的方式有哪些

大语言模型内容安全的方式有哪些 LLM(大语言模型)内容安全方式主要是通过技术手段对模型生成的内容进行检测、过滤和干预,以确保输出符合道德、法律和社会规范。以下是一些常见的方式方法及其原理和著名的应用案例: 基于规则的过滤 原理:制定一系列明确的规则和模式,例…...

【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析⑩】

ISO 14229-1:2023 UDS诊断【ECU复位0x11服务】_TestCase10 作者&#xff1a;车端域控测试工程师 更新日期&#xff1a;2025年02月18日 关键词&#xff1a;UDS诊断协议、ECU复位服务、0x11服务、ISO 14229-1:2023 TC11-010测试用例 用例ID测试场景验证要点参考条款预期结果TC…...

Android WindowContainer窗口结构

Android窗口是根据显示屏幕来管理&#xff0c;每个显示屏幕的窗口层级分为37层&#xff0c;0-36层。每层可以放置多个窗口&#xff0c;上层窗口覆盖下面的。 要理解窗口的结构&#xff0c;需要学习下WindowContainer、RootWindowContainer、DisplayContent、TaskDisplayArea、T…...

从零到一实现微信小程序计划时钟:完整教程

在本教程中&#xff0c;我们将一起实现一个微信小程序——计划时钟。这个小程序的核心功能是帮助用户添加任务、设置任务的时间范围&#xff0c;并且能够删除和查看已添加的任务。通过以下步骤&#xff0c;我们将带你从零开始实现一个具有基本功能的微信小程序计划时钟。 项目…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

怎么让Comfyui导出的图像不包含工作流信息,

为了数据安全&#xff0c;让Comfyui导出的图像不包含工作流信息&#xff0c;导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo&#xff08;推荐&#xff09;​​ 在 save_images 方法中&#xff0c;​​删除或注释掉所有与 metadata …...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...

vue3 daterange正则踩坑

<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...

Unity VR/MR开发-VR开发与传统3D开发的差异

视频讲解链接&#xff1a;【XR马斯维】VR/MR开发与传统3D开发的差异【UnityVR/MR开发教程--入门】_哔哩哔哩_bilibili...

怎么开发一个网络协议模块(C语言框架)之(六) ——通用对象池总结(核心)

+---------------------------+ | operEntryTbl[] | ← 操作对象池 (对象数组) +---------------------------+ | 0 | 1 | 2 | ... | N-1 | +---------------------------+↓ 初始化时全部加入 +------------------------+ +-------------------------+ | …...