【全栈开发】----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程序存数据进库,也会更新,大家静待。。。

感谢您的三连!!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ primer plus 第四节 复合类型

本章内容包括: • 创建和使用数组 • 创建和使用 c-风格字符串 • 创建和使用 string 类字符串 • 使用方法getline( )和 get( )读取字符串 • 混合输入字符串和数字 • 创建和使用结构 • 创建和使用共用休 • 创建和使用枚举 • 创建和使用指针 • 使用 new和delete 管理动态…

Java中的泛型类 --为集合的学习做准备

学习目标 ● 掌握在集合中正确使用泛型 ● 了解泛型类、泛型接口、泛型方法 ● 了解泛型上下限 ● 了解基本的使用场景 1.有关泛型 1.1泛型的概念 泛型(Generics)是Java中引入的参数化类型机制,允许在定义类、接口或方法时使用类型参数&a…

VUE3+Vite使用TailwindCSS【若依前后端分离框架】

参考:https://tailwind.nodejs.cn/docs/guides/vite#vue 和 https://blog.csdn.net/hjl_and_djj/article/details/144694485依次运行命令: cnpm install -D tailwindcss3.4.17 postcss autoprefixernpx tailwindcss init -p修改配置文件tailwind.config.…

FFmpeg入门:最简单的音频播放器

FFmpeg入门:最简单的音频播放器 欢迎大家来到FFmpeg入门的第二章,今天只做一个最简单的FFmpeg音频播放器;同样,话不多说,先上流程图 流程图 以上流程和视频播放器的解码过程基本上是一致的; 不同点在于 S…

在Ubuntu下,源码编译安装Python

在Ubuntu下,源码编译安装Python 知识点 知识点1:在 Linux 系统里,/usr 目录通常用于存放一些共享的、只读的程序和数据,是系统安装软件的一个重要位置。而 /usr/src 目录一般是用来存放系统源代码以及一些软件包的源代码的地方 …

《每天读一个JDK源码》之HashMap解读

📌《每天读一个JDK源码》之HashMap解读 🔗源码定位:java.util.HashMap(建议IDE对照阅读) 今天我们来破解Java集合框架中最精妙的艺术品——HashMap!它不仅是面试必考题(出现率99%)&…

【Java项目】基于SpringBoot的Java学习平台

【Java项目】基于SpringBoot的Java学习平台 技术简介:采用Java技术、SpringBoot框架、MySQL数据库等实现。系统基于B/S架构,前端通过浏览器与后端数据库进行信息交互,后端使用SpringBoot框架和MySQL数据库进行数据处理和存储,实现…

使用ChatGPT-Deep Reaserch两步给出文献综述!

文献综述是学术论文写作中不可或缺的一部分,它不仅是对已有研究的梳理和总结,更是为后续研究奠定理论基础的关键步骤。通过文献综述研究者能够全面了解当前研究领域的现状、主要观点和研究方法,从而找到自己研究的切入点和创新点。这一过程需…

java基础知识(理论篇)

一、java介绍 1.1Java语言 Java 是一种广泛使用的、通用的、面向对象的编程语言,Java 的设计目标是“一次编写,到处运行”,这也这意味着 Java 程序可以在任何支持 Java 的平台(如 Windows、Linux、macOS 等)上运行。 …

金融赋能绍兴纺织 民生银行助力外贸中小微企业“走出去”

在浙江绍兴,纺织业作为一张熠熠生辉的产业名片,承载着深厚的历史底蕴与蓬勃的发展活力。这里依傍长三角经济圈,交通网络纵横交错,将原材料产地与广阔市场紧密相连;产业集群高度成熟,上下游产业链完备&#…

综合实验处理表格

新建excel表格,输入信息,另存为csv文件。 利用notepad打开csv文件,可以观察格式 目标:通过编程处理文件,实现对数据的处理,成绩求和以及评价 对数据逐行处理,读一行,处理一行&#…

我和我的通义灵码

我和我的通义灵码 我和我的通义灵码个人版&企业版个人版登录个人版workspace应用场景terminal 企业版登录企业版#team docs 体验总结 我和我的通义灵码 说到通义灵码,作为程序员的我们是最有发言权的。从全国首个AI代码助手-通义灵码公测到现在,不知…

一文学会Volatile关键字

引言 在 Java 多线程实战中,volatile 是一个重要的关键字,用于修饰变量,经常在JUC源码中出现,本文详细解析一下这个关键字的奥秘 1. 基本概念 volatile 关键字的主要作用是保证变量的可见性以及在一定程度上禁止指令重排序。在…

Java测试框架Mockito快速入门

Mockito结合TestNG快速入门 什么是Mockito Mockito 是一个专门用于 Java 的强大测试框架,主要用来创建和管理模拟对象,辅助开发者进行单元测试,具有以下特点和功能: 创建模拟对象:能通过简洁的语法创建类或接口的模…

week 3 - More on Collections - Lecture 3

一、Motivation 1. Java支持哪种类型的一维数据结构? Java中用于在单一维度中存储数据的数据结构,如arrays or ArrayLists. 2. 如何在Java下创建一维数据结构?(1-dimensional data structure) 定义和初始化这些一…

Ubuntu 防火墙iptables和 ufw

文章目录 iptables 和 ufw 的区别Ubuntu 上使用 ufw 配置 iptables 和 ufw 的区别 iptables 和 ufw 是 Linux 系统中用于管理防火墙的工具,但它们的设计目标和使用方式有所不同。 iptables:功能强大,适合高级用户和复杂场景,但配…

(动态规划 最长连续递增子序列)leetcode 674

我上个文章提到了最长递增子序列这个题可以去看看 这个题目翻译人话就是找出最长的递增子串,用一层for循环就行,时间复杂度是O(n) 比起上个题,一个范围多条子序列(路径)这里一个范围只有一条递增路径,所以…

STM32CubeMx DRV8833驱动

一、DRV8833驱动原理 ​ STBY口接单片机的IO口,STBY置0电机全部停止,置1才能工作。STBY置1后通过AIN1、AIN2、BIN1、BIN2 来控制正反转。 AIN1AIN2电机状态00停止1speed反转speed1正转11停止 其中A端(AIN1与AIN2)只能控制AO1与…

JSON Schema 入门指南:如何定义和验证 JSON 数据结构

文章目录 一、引言二、什么是 JSON Schema?三、JSON Schema 的基本结构3.1 基本关键字3.2 对象属性3.3 数组元素3.4 字符串约束3.5 数值约束 四、示例:定义一个简单的 JSON Schema五、使用 JSON Schema 进行验证六、实战效果6.1 如何使用 七、总结 一、引…

前端Npm面试题及参考答案

目录 npm 是什么?它的主要作用是什么? npm 包管理工具与 Yarn 有何不同? npm 的 package.json 文件有哪些重要字段? 什么是 npm 依赖?如何在项目中安装、更新和移除依赖? npm 的 node_modules 目录是什么?它的作用是什么? 什么是 npm 脚本?如何在 package.json 中…