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就发现好多东西都是类似的了,所以有基础的同学可以快速带过了,写的比较简单,大部分还是老师总结之后我照搬过来的,写这篇的目的还是为了自己可以快速找到知识点,同时也希望能够帮助到有需要的人。
相关文章:
MySQL的基础操作
前言 对MySQL的一些基础操作做一下学习性的总结,基本上是照着视频写的。 MySQL的安装 MySQL的下载 MySQL :: Download MySQL Community Server (Archived Versions)https://downloads.mysql.com/archives/community/ 配置环境变量 下载之后直接解压,…...
Dockerfile快速搭建自己专属的LAMP环境
目录 编写Dockerfile 1.文件内容需求: 2.值得注意的是centos6官方源已下线,所以需要切换centos-vault源! 3.Dockerfile内容 4.进入到 lamp 开始构建镜像 推送镜像到私有仓库 1.创建用户并添加到私有仓库:编辑编辑 2.推…...
秒懂算法│博弈论
博弈论是二人或多人在平等的对局中各自利用对方的策略变换自己的对抗策略,达到取胜目标的理论。博弈论是研究互动决策的理论。博弈可以分析自己与对手的利弊关系,从而确立自己在博弈中的优势,因此有不少博弈理论,可以帮助对弈者分析局势,从而采取相应策略,最终达到取胜的目的。…...
Springboot整合RabbitMQ消息中间件
spring-boot-rabbitmq–消息中间件整合 前言:RabbitMQ的各种交换机说明 1、直连交换机 生产者发布消息时必须带着routing-key,队列绑定到交换机时必须指定binding-key ,且routing-key和binding-key必须完全相同,如此才能将消息路由到队列中…...
基于springboot+vue的食材商城(前后端分离)
博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…...
Maven解析
目录 Maven的概念 Pom 项目坐标 仓库 Maven环境搭建 安装jdk 配置maven 配置本地仓库地址 配置阿里云 maven 镜像仓库,下载速度更快 在idea中配置maven 编辑 pom中名词解释 Maven命令 Maven的概念 Maven 是 Apache 软件基金会的一个开源项目,是一个…...
如何使用数学将 NumPy 函数的性能提高 50%
一、说明 2D 傅里叶变换是本世纪最重要的计算机科学算法之一。它已在我们的日常生活中得到应用,从Instagram过滤器到MP3文件的处理。 普通用户最常用的实现,有时甚至是在不知不觉中,是 NumPy 的改编。然而,尽管它很受欢迎…...
群狼调研(长沙政策第三方评估)| 社情民意调查的内容
本文由群狼调研(长沙社会舆情调查)出品,欢迎转载,请注明出处。社情民意调查旨在捕捉公众对各种社会问题的态度、意见和看法,社情民意调查的内容通常包括以下几个方面: 1. 社会热点问题:针对当前社会热点问题进行调查&…...
【三维重建】【深度学习】NeuS代码Pytorch实现--测试阶段代码解析(上)
【三维重建】【深度学习】NeuS代码Pytorch实现–测试阶段代码解析(上) 论文提出了一种新颖的神经表面重建方法,称为NeuS,用于从2D图像输入以高保真度重建对象和场景。在NeuS中建议将曲面表示为有符号距离函数(SDF)的零级集,并开发一种新的体绘…...
day-24 代码随想录算法训练营(19)回溯part01
77.组合 思路一:回溯相当于枚举,所以我们遍历1-n的每一个数字,然后在遍历第i位的同时递归出第i1~n位的组合结果,跟树的形式相似。 如上图所示,当长度为k时,即退出递归可对遍历到第i位以及剩下位数与k进行比…...
Redis之SYNC与PSYNC命令
一、复制SYNC与PSYNC 在Redis主从架构中,主要有以下两种情形需要进行数据同步 (1)当新的服务器执行slave of 命令,成为主服务器的从服务器。这时候从服务器会向主服务器发送SYNC命令,请求全量同步数据,主服…...
共创无线物联网数字化新模式|协创数据×企企通采购与供应链管理平台项目成功上线
近日,全球无线物联网领先者『协创数据技术股份有限公司』(以下简称“协创数据”)SRM采购与供应链项目全面上线,并于近日与企企通召开成功召开项目上线总结会。 基于双方资源和优势,共同打造了物联网特色的数字化采购供…...
【深入理解jvm读书笔记】jvm如何进行内存分配
jvm如何进行内存分配 内存分配方式内存分配方式的选择并发场景下的内存分配内存空间的初始化构造函数 内存分配方式 指针碰撞空闲列表 指针碰撞法: 假设Java堆中内存是绝对规整的,所有被使用过的内存都被放在一边,空闲的内存被放在另一边&a…...
OpenCV使用CMake和MinGW-w64的编译安装
OpenCV使用CMake和MinGW-w64的编译安装中的问题 问题:gcc: error: long: No such file or directory** C:\PROGRA~2\Dev-Cpp\MinGW64\bin\windres.exe: preprocessing failed. modules\core\CMakeFiles\opencv_core.dir\build.make:1420: recipe for target ‘modul…...
亚马逊买家怎么留评
亚马逊买家可以按照以下步骤在购买后留下产品评价: 1、登录亚马逊账户:首先,在网页浏览器中打开亚马逊网站,登录你的亚马逊账户。 2、找到订单:在页面上找到并点击你购买过的商品的"我的订单"或"订单…...
并查集 size 的优化(并查集 size 的优化)
目录 并查集 size 的优化 Java 实例代码 UnionFind3.java 文件代码: 并查集 size 的优化 按照上一小节的思路,我们把如下图所示的并查集,进行 union(4,9) 操作。 合并操作后的结构为: 可以发现,这个结构的树的层相对…...
Qt关于hex转double,或者QByteArray转double
正常的00 ae 02 33这种类型的hex数据类型可以直接通过以下代码进行转换 double QDataConversion::hexToDouble(QByteArray p_buf) {double retValue 0;if(p_buf.size()>4){QString str1 byteArrayToHexStr(p_buf.mid(0,1));QString str2 byteArrayToHexStr(p_buf.mid(1,…...
Java“牵手”根据关键词搜索(分类搜索)拼多多商品列表页面数据获取方法,拼多多API实现批量商品数据抓取示例
拼多多商城是一个网上购物平台,售卖各类商品,包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取拼多多商品列表和商品详情页面数据,您可以通过开放平台的接口或者直接访问拼多多商城的网页来获取商品列表和详情信息。以下是两种常用方…...
Linux相关知识点
Linux是什么? Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。 Linux内核 是一个Linux系统的内核&…...
常见的的数据结构
数组(Array):一组按顺序排列的元素的集合,可以通过索引访问和修改元素。 链表(Linked List):由一系列节点组成的数据结构,每个节点包含数据和指向下一个节点的指针。 栈࿰…...
专业心理咨询师助你轻装上阵,向内耗说不!
引言 身为技术人,你是否经常感觉自己被掏空了精力,行动力不佳?又或者觉得自己的工作没有成就和意义,工作状态持续不佳?你是否总有一种无法消除的疲惫?即使没有学习、工作,而是选择看剧、刷短视频…...
Ubuntu安装mysql5.7
目录 1. 更新系统软件包2. 安装MySQL 5.73. 启动MySQL 服务4. 设置MySQL root 密码5. 验证MySQL 安装6. 启用远程访问7. 创建新用户8. 为新用户授予权限9. mysql命令 以Ubuntu 18.04系统为例,安装MySQL 5.7。操作步骤如下: 1. 更新系统软件包 sudo apt…...
vue2,使用element中的Upload 上传文件,自定义上传http-request上传,上传附件支持多选,多个文件只发送一次请求,代码里有注释
复制直接使用,组件根据multiple是否多选来返回附件内容,支持多选就返回数据附件,则返回一个附件对象。 //uploadFiles.vue<template><div><el-uploadclass"avatar-uploader"action"#":accept"accep…...
flutter定位简单工具类
import package:permission_handler/permission_handler.dart;class PermissionUtil {/// 获取用户定位权限static Future<bool> getLocationStatus() async {Map<Permission, PermissionStatus> statuses await [Permission.location,].request();return statuse…...
java请求SAP系统,发起soap的xml报文,实体类转换,idea自动生成教程
1、将接口的网页地址,右键保存,然后修改文件后缀为wsdl文件 2、idea全局搜索 wsdl,找到自动转换javabean插件: 3、点击后,选择下载改完后缀的文件(选择): 4、将无用的class文件删除掉 5、请求sap的地址为…...
不同屏幕的触控技术
不同显示屏的触控技术原理有所不同。触摸屏的基本原理是,用手指或其他物体触摸安装在显示器前端的触摸屏时,所触摸的位置(以坐标形式)由触摸屏控制器检测,并通过接口(如RS-232串行口)送到CPU,从而确定输入的信息。 目前市场上常…...
深度解读thenable
在学习promise时,我们经常会遇到thenable一词。关于thenable,目前的资料解读不够通俗易懂,又或者脉络不够清晰,本文主要对thenable进行详细剖析,以便各位参考。笔者希望你能够仅凭这一篇文章,便能深度掌握该…...
原生无限极目录树详细讲解
原生无限级目录树 当涉及到原生的无限级目录树,我们可以使用递归算法来实现。以下是一个使用 JavaScript 实现原生无限级目录树的示例 介绍 原生无限级目录树是一种常见的数据结构,用于组织多层级的目录或分类数据。通过递归算法,我们可以…...
剑指offer(C++)-JZ64:求1+2+3+...+n(算法-位运算)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 求123...n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句&…...
“深入探究JVM内部机制:如何实现Java程序的运行环境?“
标题:深入探究JVM内部机制:如何实现Java程序的运行环境? 摘要:本文将深入探究Java虚拟机(JVM)的内部机制,重点讨论JVM如何实现Java程序的运行环境。我们将从JVM的结构、类加载、内存管理、垃圾…...
怎么查看网站是否被百度惩罚降权或者被k/b2b网站免费推广平台
1. 前言 最近面试了几家公司,体验了一下电话面试和今年刚火起来的视频面试, 虽然之前就有一些公司会先通过电话面试的形式先评估下候选人的能力水平,但好像不多,至少我以前的面试形式100%都是现场面试。 面试过程中,…...
北京网站优化wyhseo/网站排名怎么做上去
public class StaticInnerClassTest{ public static void main(String[] args){ double[] d new double[20]; for(int i 0;i < d.length;i) d[i] 100*Math.random(); ArrayAlg.Pair p ArrayAlg.minmax(d); System.out.…...
做家宴网站/搜seo
说明: (1)强调:该Spring Boot电商项目中,会有大量的以前接触过的内容;但是,当我们遇到的时候,也会重新啰嗦、重复解释;以达到该专栏形成一个比较好的闭环的目的ÿ…...
html网页设计作业代码/sem与seo
题意:给你一条数轴和m条线段,第i条线段覆盖区间[Li,Ri],选择它需要代价Ci。请选出代价和最小的一组线段使得区间[L,R]中的每一段都被覆盖。 这个题目其实是数据结构优化DP的一道例题。。但是这里我们把它转化为一个图论问题。用简单一点的知识…...
厦门做网站的公司/免费创建自己的网站
前言 关于Objective-C Runtime一篇好的文档 : Understanding the Objective-C Runtime 译文地址为: http://blog.cocoabit.com/blog/2014/10/06/yi-li-jieobjective-cruntime/ Objective-C Runtime源码是开源的,下载地址为: http://opensource.apple.com/tarballs/o…...
网站综合排名信息查询/免费网站推广网址
SQLlabs Basic-Challenges Less-11: POST-Error based- Single quotes -String less10后就是post注入, 这题注入挺简单的,用万能密码即可登陆 username: 1 or 11 # // #号为注释符password: 随意登陆成功 利用burpsuite抓包 判断select 字段 尝…...