MySQL的基础操作

  • 前言

对MySQL的一些基础操作做一下学习性的总结,基本上是照着视频写的。

MySQL的安装

MySQL的下载

MySQL :: Download MySQL Community Server (Archived Versions)https://downloads.mysql.com/archives/community/

配置环境变量

 下载之后直接解压,尽量不要放到中文的目录下面。之后就是配置环境变量,配置就和Java类似。我这里是win11的系统。

 对“此电脑”进行右键选择“属性”

 

 选择“环境变量”

 选择新建系统变量

 也就是你文件夹下载解压之后进入的路径 

 找到path变量,将%MYSQL_HOME%\bin加入进去

 之后就是一直点确定,不然不会保存。

新建配置文件

除了配置环境变量之外,还需要新建一个配置文件my.ini(需要在你下载解压之后的那个目录里面,和bin目录在同一个目录下)

里面的内容如下:

[mysql]
default-character-set=utf8[mysqld]
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

初始化MySQL

直接搜cmd,然后选择以管理员身份运行,不然会导致权限不够。

mysqld --initialize-insecure

注册MySQL服务

mysqld -install

启动MySQL服务

net start mysql

停止MySQL服务

net stop mysql

修改MySQL默认账户密码

mysqladmin -u root password 用户自己设置的密码

mysqladmin -u root password 1234

登录MySQL

  • 直接输入密码登录

mysql -uroot -p用户刚才设置的密码

C:\Windows\System32>mysql -uroot -p1234
  • 后面输入密码登录(这里的*表示的是你输入的密码,不过他不回显而已)
C:\Windows\System32>mysql -uroot -p
Enter password: ****

退出MySQL

exit和quit都可以退出

注释

单行注释 -- 注释内容 或 #注释内容(MySQL特有)

多行注释 /* 注释*/

用--注释,--后面需要跟一个空格。

DDL(Data Definition Language)数据定义语言

DDL(数据定义语言)_百度百科 (baidu.com)https://baike.baidu.com/item/DDL/21997?fr=ge_ala

查询数据库

databases后面有一个s。

SHOW DATABASES;

 创建数据库

  • 直接创建

database后面没有s。

CREATE DATABASE 数据库名称;

CREATE DATABASE databaseName;
  • 如果数据库不存在才创建

CREATE DATABASE IF NOT EXISTS 数据库名称;

CREATE DATABASE IF NOT EXISTS databaseName;

 删除数据库

  • 直接删除

DROP DATABASE 数据库名称;

DROP DATABASE databaseName;
  • 如果数据库存在才删除

 DROP DATABASE IF EXISTS 数据库名称;

DROP DATABASE IF EXISTS databaseName;

使用数据库 

USE 数据库名称;

USE databaseName;

 查看当前正在使用的数据库

SELECT DATABASE();

 查询表

  • 查询当前数据库下面的所有表的名称。

同样table后面有s。

SHOW TABLES;
  •  查询表的结构

DESC 表名;

DESC tableName;

创建表 

CREATE TABLE 表名(

                        字段名1        数据类型1,

                        字段名2        数据类型2,

                        ...

                        字段名n        数据类型n

);

 注意:最后一行末尾,不能加逗号。

删除表

  • 直接删除表。

DROP TABLE 表名;

DROP TABLE tableName;
  • 如果表存在才删除 

 DROP TABLE IF EXIST 表名;

DROP TABLE IF EXISTS tableName;

修改表 

  • 修改表名

ALTER TABLE 表名 RENAME TO 新的表名;

ALTER TABLE formerName RENAME TO newName;
  • 添加一列 add

ALTER TABLE 表名  ADD 列名 数据类型;

  • 修改数据类型 modify

ALTER TABLE  表名 MODIFY 列名 新数据类型;

  • 修改列名和数据类型 change

ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;

  • 删除列 drop

ALTER TABLE  表名 DROP 列名;

DML(Data Manipulation Language)数据操作语言

数据操纵语言_百度百科 (baidu.com)https://baike.baidu.com/item/%E6%95%B0%E6%8D%AE%E6%93%8D%E7%BA%B5%E8%AF%AD%E8%A8%80?fromtitle=DML&fromid=10035808&fromModule=lemma_search-box

 添加数据

  • 给指定列添加数据

INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...);

  •  给全部列添加数据

INSERT INTO 表名 VALUES(值1,值2,...);

  • 批量添加数据(用逗号分隔)

INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...)...;

INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...)...;

删除数据 

通过where条件来删除目标数据,如果删除语句中未加条件,则将所有数据都删除。

 DELETE FROM 表名 [WHERE 条件];

 修改数据

通过where条件来判断需要修改哪些数据,如果不加条件,则将所有数据都修改。

UPDATE 表名 SET 列名1=值1,列名2=值2,...[ WHERE条件];

DQL(Data Query Language)数据查询语言

DQL_百度百科 (baidu.com)https://baike.baidu.com/item/DQL?fromModule=lemma_search-box

 基础查询

  • 查询多个字段

SELECT  字段列表 FROM 表名;

SELECT * FROM 表名; -- 查询所有数据

SELECT * FROM sc; -- 查询sc表中的所有数据
  •  去除重复记录

这里distinct没有s,当时考试的时候纠结了好久,最后加上了s,导致丢分了。

SELECT DISTINCT  字段列表 FROM 表名;

  • 起别名

之后用到聚合函数,字段可能就会没有信息,让人不知道是什么意思,用了as之后可以更容易理解一点。AS也可以省略。

SELECT 字段名 AS 别名 FROM 表名;

SELECT sname AS '姓名' FROM sc; 

条件查询 

这个和删除修改就类似的含义了,通过条件来查找目标数据。

SELECT  字段列表 FROM 表名  WHERE 条件列表;

 常见符号以及对应的功能

符号功能
>大于
<

小于

>=大于等于
<=小于等于
=等于
<>或!=不等于
BETWEEN ... AND...在某个范围之内(闭区间)
IN(...)多选一
LIKE 占位符模糊查询(_单个任意字符 %多个任意字符)
IS NULL是NULL
IS NOT NULL不是NULL
AND 或 &&
OR 或 ||
NOT 或 !

 SQL中对于不等于一般是用<>这个符号,如果多个条件之间是或者的关系,除了可以用or之外,还可以用in来实现,如果是在一个范围内的话,除了可以用and将两个端点判断同时满足之外,还可以通过between...and...来实现,但是between...and...是包含两边的端点值的。

排序查询

SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式1],排序字段名2 [排序方式2]...;

 ASC:升序排序(默认)

DESC:降序排序

如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序。

分组排序

SELECT 字段列表  FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤];

 在SQLserver里面我记得这个查询的字段列表需要是分组的字段名或者就是聚合函数。

执行顺序:where > 聚合函数 > having

where是分组前执行,having是分组后执行的,所以where不能使用聚合函数来进行判断。

聚合函数名功能
count(列名)统计数量(一般选用不为null的列)
max(列名)最大值
min(列名)最小值
sum(列名)求和
avg(列名)平均值

 如果要统计数据有多少条,但是又不知道哪些数据是都没有null的,就可以用count(*)来实现。

SELECT 聚合函数名(列名)  FROM 表名 ;

注意:null值不参与所有聚合函数运算. 

分页排序 

SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询条目;

起始索引从0开始。

 起始索引=(当前页码-1)*每页显示的条数

MySQL分页查询用limit

oracle分页查询用rownumber

SQLserver分页查询用top

DCL(Data Control Language)数据控制语言

DCL(数据控制语言)_百度百科 (baidu.com)https://baike.baidu.com/item/DCL/6524388?fromModule=lemma_search-box

 总结

学了SQLserver之后在学MySQL就发现好多东西都是类似的了,所以有基础的同学可以快速带过了,写的比较简单,大部分还是老师总结之后我照搬过来的,写这篇的目的还是为了自己可以快速找到知识点,同时也希望能够帮助到有需要的人。

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

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

相关文章

IDEA启动报错【java.sql.SQLSyntaxErrorException: ORA-00904: “P“.“PRJ_NO“: 标识符无效】

IDEA报错如下&#xff1a; 2023-08-17 11:26:15.535 ERROR [egrant-biz,b48324d82fe23753,b48324d82fe23753,true] 24108 --- [ XNIO-1 task-1] c.i.c.l.c.RestExceptionController : 服务器异常org.springframework.jdbc.BadSqlGrammarException: ### Error queryin…

Vue前端封装一个任务条的组件进行使用

任务条 样式 代码 父组件 <articleSteps :tabs"tabs" :tabs-active-name"tabsActiveName" /><div class"drawer__footer"><el-button v-if"tabsActiveName 1 || tabsActiveName 2" click"backClick">…

【3Ds Max】可编辑多边形“边”层级的简单使用

目录 简介 示例 1. 编辑边 &#xff08;1&#xff09;插入顶点 &#xff08;2&#xff09;移除 &#xff08;3&#xff09;分割 &#xff08;4&#xff09;挤出 &#xff08;5&#xff09;切角 &#xff08;6&#xff09;焊接 &#xff08;7&#xff09;桥 &…

1.jvm和java体系结构

jvm简介 JVM&#xff1a;跨语言的平台 Java是目前应用最为广泛的软件开发平台之一。随着Java以及Java社区的不断壮大Java 也早已不再是简简单单的一门计算机语言了&#xff0c;它更是一个平台、一种文化、一个社区。 ● 作为一个平台&#xff0c;Java虚拟机扮演着举足轻重的…

前端(十三)——JavaScript 闭包的奥秘与高级用法探索

&#x1f636;博主&#xff1a;小猫娃来啦 &#x1f636;文章核心&#xff1a;深入理解 JavaScript 中的闭包 文章目录 不理解闭包&#xff1f;这玩意很难&#xff1f;闭包的定义与原理闭包是什么创建一个闭包 闭包的应用场景闭包与作用域闭包与作用域之间的关系全局作用域、函…

【CHI】(十三)链路层

本章介绍了链路层&#xff0c;链路层为节点之间的基于数据包的通信和跨链路的互连提供了一种简化的机制。它包含以下几部分&#xff1a; IntroductionLinkFlitChannelPortNode interface definitionsIncreasing inter-port bandwidthChannel interface signalsFlit packet defi…

视频汇聚/视频云存储/视频监控管理平台EasyCVR添加萤石云设备详细操作来啦!

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

juc概述和Lock接口

目录 一、什么是JUC 1、JUC概述 2、进程与线程 3、线程的状态 4、wait/sleep 的区别 5、并发与并行 6、管程 7、用户线程和守护线程 二、Lock接口 1、Synchronized 使用synchronized实现售票案例 使用synchronized实现增减变量操作 2、什么是 Lock 买票例子使用lo…

CST HFSS MATLAB参数方程定义曲面绘制

CST HFSS 函数定义曲面绘制 简介环境HFSSCSTMATLAB 简介 若在柱坐标系中半径r随z和phi都会变&#xff0c;无法使用一般的方法绘制&#xff0c;这时可以使用参数方程定义的曲面来绘制。举一个例子如下&#xff0c; r 100 0.5 ( c o s ( 0.2 ∗ p i ∗ z ) − 1 ) c o s ( φ …

定位服务器CPU爆满的具体原因

1、查询CPU消耗的进程 使用top命令查看系统的CPU和内存使用情况 CPU一列是线程占用百分比 2、具体查看某个占分比大的进程 以为PId:7355为例&#xff0c; 执行top -Hp 7355&#xff0c;线程按照CPU使用率排序。 3、将线程PID转化为16进制 执行printf %x 7391&#xff0c;将…

论文阅读 - Understanding Diffusion Models: A Unified Perspective

文章目录 1 概述2 背景知识2.1 直观的例子2.2 Evidence Lower Bound(ELBO)2.3 Variational Autoencoders(VAE)2.4 Hierachical Variational Autoencoders(HVAE) 3 Variational Diffusion Models(VDM)4 三个等价的解释4.1 预测图片4.2 预测噪声4.3 预测分数 5 Guidance5.1 Class…

Istio入门体验系列——基于Istio的灰度发布实践

导言&#xff1a;灰度发布是指在项目迭代的过程中用平滑过渡的方式进行发布。灰度发布可以保证整体系统的稳定性&#xff0c;在初始发布的时候就可以发现、调整问题&#xff0c;以保证其影响度。作为Istio体验系列的第一站&#xff0c;本文基于Istio的流量治理机制&#xff0c;…

MySQL 字符集概念、原理及如何配置 — 图文详解

目录 一、字符集概念 1、字符&#xff08;Character&#xff09; 2、字符编码 3、字符集&#xff08;Character set&#xff09; 二、字符集原理 1、ASCII字符集 2、GB2312 3、GBK 4、GB18030 5、BIG5 6、Unicode 编码 三、字符序 四、MySQL字符集 & 字符序 …

Git标签

Git 中的标签&#xff0c;指的是某个分支某个特定时间点的状态(静态)。通过标签&#xff0c;可以很方便的切换到标记时的状态。 比较有代表性的是人们会使用这个功能来标记发布结点 (v1.0、v1.2等)。 下面是myatis-plus的标签: 1 标签相关命令 命令作用git tag查看标签&…

Go语言入门指南:基础语法和常用特性(下)

上一节&#xff0c;我们了解Go语言特性以及第一个Go语言程序——Hello World&#xff0c;这一节就让我们更深入的了解一下Go语言的**基础语法**吧&#xff01; 一、行分隔符 在 Go 程序中&#xff0c;一行代表一个语句结束。每个语句不需要像 C 家族中的其它语言一样以分号 ;…

解决多模块开发中的问题(聚合继承)

&#x1f40c;个人主页&#xff1a; &#x1f40c; 叶落闲庭 &#x1f4a8;我的专栏&#xff1a;&#x1f4a8; c语言 数据结构 javaweb 石可破也&#xff0c;而不可夺坚&#xff1b;丹可磨也&#xff0c;而不可夺赤。 Maven 一、聚合1.1创建Maven模块&#xff0c;设置打包类型…

ThreadLocal内存泄漏问题

引子&#xff1a; 内存泄漏&#xff1a;是指本应该被GC回收的无用对象没有被回收&#xff0c;导致内存空间的浪费&#xff0c;当内存泄露严重时会导致内存溢出。Java内存泄露的根本原因是&#xff1a;长生命周期的对象持有短生命周期对象的引用&#xff0c;尽管短生命周期对象已…

ABAP 定义复杂的数据结构

最近有个需求是实现ABAP数据类型与JASON类型的转换。想要创建个ABAP的数据类型来接JASON类型是个挺麻烦的事。例如下面这个JASON数据&#xff0c;是个很简单的数据结构。但对ABAP来说有4层了&#xff0c;就有点复杂了。 不过ABAP的数据类型也是支持直接定义数据结构的嵌套的。如…

LLM生成式 AI 项目生命周期Generative AI project lifecycle

在本课程的其余部分中&#xff0c;您将学习开发和部署LLM驱动应用所需的技巧。在这个视频中&#xff0c;您将了解一个能帮助您完成此工作的生成式AI项目生命周期。此框架列出了从构思到启动项目所需的任务。到课程结束时&#xff0c;您应该对您需要做的重要决策、可能遇到的困难…

dockerfile编写LNMP

目录 1. 项目环境 2. 服务器环境 二、部署nginx&#xff08;容器IP为192.168.158.26&#xff09; 1、整个Dockerfile文件内容 ​编辑 2、配置nginx.conf文件 3、构建镜像 三、部署mysql 1、整个Docker文件内容 3、生成镜像 4、启动镜像容器 5、验证mysql 四、PHP部署 1…