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.hqwc.cn/news/79958.html

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

相关文章

回归预测 | MATLAB实现FA-ELM萤火虫算法优化极限学习机多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现FA-ELM萤火虫算法优化极限学习机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现FA-ELM萤火虫算法优化极限学习机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果一览基本介绍…

前端进阶Html+css09----BFC模型

1.什么是BFC模型 全称是&#xff1a;Block formatting context&#xff08;块级格式化上下文&#xff09;&#xff0c;是一个独立的布局环境&#xff0c;不受外界的影响。 2.FC,BFC,IFC 元素在标准流里都属于一个FC&#xff08;Formatting Context&#xff09;。 块级元素的布…

STM32--ADC模数转换

文章目录 ADC简介逐次逼近型ADCADC框图转换模式数据对齐转换时间校准ADC基本结构ADC单通道工程代码&#xff1a; ADC简介 STM32的ADC&#xff08;Analog-Digital Converter&#xff09;模拟-数字转换器&#xff0c;是一种逐次逼近型模拟数字转换器&#xff0c;可以将引脚上连续…

大学生创业出路【第二弹】科创训练营

目录 &#x1f680;一、我从哪里了解到的训练营 &#x1f680;二、训练营里学习和日常 &#x1f50e;学习 &#x1f50e;环境和设备 &#x1f50e;遇到的人 &#x1f50e;团队记录视频 &#x1f680;三、感悟 ​​​​个人主页&#xff1a;一天三顿-不喝奶茶&#x1f39…

【视觉SLAM入门】5.2. 2D-3D PNP 3D-3D ICP BA非线性优化方法 数学方法SVD DLT

"养气之学&#xff0c;戒之躁急" 1. 3D-2D PNP1.1 代数法1.1.1 DLT(直接线性变换法)1.1.2. P3P 1.2 优化法BA (Bundle Adjustment)法 2. 3D-3D ICP2.1 代数法2.1.1 SVD方法 2.2 优化(BA)法2.2.2 非线性优化方法 前置事项&#xff1a; 1. 3D-2D PNP 该问题描述为&am…

Windows安装 Elasticsearch 教程

下载地址 Past Releases of Elastic Stack Software | Elastic 解压 解压完的样子 进入BIN目录 D:\Develop\elasticsearch\elasticsearch-7.12.0\bin 按住shift 鼠标右键 打开 powershell 窗口 查看ES版本 .\elasticsearch.bat --version 出现问题了 警告&#xff1a;不赞成…

smiley-http-proxy-servlet 实现springboot 接口反向代理,站点代理,项目鉴权,安全的引入第三方项目服务

背景&#xff1a; 项目初期 和硬件集成&#xff0c;实现了些功能服务&#xff0c;由于是局域网环境&#xff0c;安全问题当时都可以最小化无视。随着对接的服务越来越多&#xff0c;部分功能上云&#xff0c;此时就需要有一种手段可以控制到其他项目/接口的访问权限。 无疑 反向…

网络知识点之-堆叠与集群(2-集群)

本文章收录至《网络》专栏&#xff0c;点击右上角专栏图标可访问本专栏&#xff01; 集群是一种用于集团调度指挥通信的​​​​​​移动通信系统&#xff0c;主要应用在专业移动通信领域。该系统具有的可用信道可为系统的全体用户共用&#xff0c;具有自动选择信道功能&#x…

微服务 Eureka

Eureka Eureka是Netflix开源的一个用于构建基于微服务架构的服务发现和注册中心技术。在微服务架构中&#xff0c;系统被拆分成多个小型、自治的服务&#xff0c;每个服务负责特定的业务功能。这些服务需要能够相互发现和通信&#xff0c;这就是Eureka所提供的功能。 Eureka主…

Unity 之NavMeshAgent 组件(导航和路径寻找的组件)

文章目录 **作用**&#xff1a;**属性和方法**&#xff1a;**用途**&#xff1a;**注意事项**&#xff1a; NavMeshAgent 是Unity引擎中用于导航和路径寻找的组件。它可以使游戏对象在场景中自动找到可行走的路径&#xff0c;并在避免障碍物的情况下移动到目标位置。 以下是关于…

openCV实战-系列教程3:形态学操作(腐蚀操作/膨胀操作/开运算/闭运算/梯度计算/礼帽和黑帽)、源码解读

1、腐蚀操作 1.1 腐蚀 首先读进来并打印一张图 img cv2.imread(yzy.jpg) cv2.imshow(img, img) cv2.waitKey(0) cv2.destroyAllWindows() 这个图片出现了一些毛刺&#xff0c;看着挺难受 执行一个腐蚀操作&#xff0c;再将图片打印出来&#xff1a; kernel np.ones((3,3…

Angular安全专辑之二——‘unsafe-eval’不是以下内容安全策略中允许的脚本源

一&#xff1a;错误出现 这个错误的意思是&#xff0c;拒绝将字符串评估为 JavaScript&#xff0c;因为‘unsafe-eval’不是以下内容安全策略中允许的脚本源。 二&#xff1a;错误场景 testEval() {const data eval("var sum2 new Function(a, b, return a b); sum2(em…