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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OpenGL —— 2.2、Shader之间数据传输、向Shder传输数据

Shader OpenGL着色器&#xff08;shader&#xff09;是一种用于编写图形渲染代码的编程语言。它们在图形处理单元&#xff08;GPU&#xff09;上运行&#xff0c;用于控制渲染管线的不同阶段。 在OpenGL中&#xff0c;有两种主要类型的着色器&#xff1a;顶点着色器和片段着色器…

中大许少辉博士中国建筑出版传媒八一新书《乡村振兴战略下传统村落文化旅游设计》百度百科新闻

中大许少辉博士中国建筑出版传媒八一新书《乡村振兴战略下传统村落文化旅游设计》百度百科新闻&#xff1a; 乡村振兴战略下传统村落文化旅游设计 - 百度百科 https://baike.baidu.com/item/乡村振兴战略下传统村落文化旅游设计/62588677 概览 《乡村振兴战略下传统村落文化旅游…

宠物店小程序制作

随着移动互联网的快速发展&#xff0c;宠物店经营者们也纷纷意识到线上市场的潜力。通过开发一款宠物小程序&#xff0c;你可以将你的宠物店推向线上的新机遇&#xff01; 【乔拓云】是一个专业的小程序开发平台&#xff0c;它提供了一套简单易用的工具&#xff0c;帮助你快速创…

js使用for of遍历map

//使用for of遍历map console.log("---") console.log(odata.studentDetails) let obj odata.studentDetails[0].answerSituation for(let [key,value] of Object.entries(obj)){console.log(value) }

解决Pandas KeyError: “None of [Index([...])] are in the [columns]“问题

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

k8s集群生产环境的问题处理

2 k8s上的服务均无法访问 执行命令kubectl get pods -ALL,k8s集群中的服务均是running状态 1 kuboard 网页无法访问 kuboard无法通过浏览器访问&#xff0c;但是查看端口是被占用的

Hlang--用Python写个编程语言-变量的实现

文章目录 前言语法规则表示次幂实现变量实现优先级实现步骤解析关键字语法解析解释器总结前言 先前的话,我们终于是把我们整个架子搭起来了,这里重复一下我们的流程,那就是,首先,我们通过解析文本,然后呢遍历文本当中的我们定义的合法关键字,然后呢,把他们封装为一个T…

DataFrame.query()--Pandas

1. 函数功能 Pandas 中的一个函数&#xff0c;用于在 DataFrame 中执行查询操作。这个方法会返回一个新的 DataFrame&#xff0c;其中包含符合查询条件的数据行。请注意&#xff0c;query 方法只能用于筛选行&#xff0c;而不能用于筛选列。 2. 函数语法 DataFrame.query(ex…

星际争霸之小霸王之小蜜蜂(五)--为小蜜蜂降速

目录 前言 一、思路 二、调整小蜜蜂的移速 三、限制活动范围 四、继续重构 总结 前言 前面我们已经让小蜜蜂左右移动起来了&#xff0c;而且是连续的左右移动&#xff0c;但是在使用的过程中&#xff0c;因为我使用的是笔记本电脑&#xff0c;所以屏幕比较小&#xff0c;设…

【数据库】表操作 习题总结

目录 关系建表 数据库sql的执行顺序 内外连接的写法 1.设计一张商品表 2.设计一张老师表 3.设计一张图书表 4.查询练习 5.查询练习 6.设计一个考勤系统 7.设计一个学校宿舍管理系统 8.设计一个车辆违章系统 9.设计一个学校食堂管理系统 10.有一张员工表emp&#xf…

OpenCV笔记之solvePnP函数和calibrateCamera函数对比

OpenCV笔记之solvePnP函数和calibrateCamera函数对比 文章目录 OpenCV笔记之solvePnP函数和calibrateCamera函数对比1.cv::solvePnP2.cv::solvePnP函数的用途和工作原理3.cv::solvePnP背后的数学方程式4.cv::SOLVEPNP_ITERATIVE、cv::SOLVEPNP_EPNP、cv::SOLVEPNP_P3P5.一个固定…

RNN模型简单理解和CNN区别

目录 神经网络&#xff1a;水平方向延伸&#xff0c;数据不具有关联性 ​ RNN&#xff1a;在神经网络的基础上加上了时间顺序&#xff0c;语义理解 ​RNN: 训练中采用梯度下降&#xff0c;反向传播 ​ 长短期记忆模型 ​输出关系&#xff1a;1 toN&#xff0c;N to N 单入…

python 各种疑难杂包安装方法与踩坑记录

常用招数&#xff1a; 网络问题&#xff1a;切换网络线路/开关科学、启用/不用国内镜像 包找不到&#xff1a;启用/不用国内镜像、尝试conda、pip、source等多种安装方式 gdal、rasterio 参考链接&#xff1a; python rasterio库安装具体流程 - 知乎 Python安装gdal,raster…

MySQL——基础——外连接

一、外连接查询语法&#xff1a;(实际开发中,左外连接的使用频率要高于右外连接) 左外连接 SELECT 字段列表 FROM 表1 LEFT [OUTER] JOIN 表2 ON 条件...; 相当于查询表1(左表)的所有数据 包含 表1和表2交集部分的数据 右外连接 SELECT 字段列表 FROM 表1 RIGHT [OUTER] JOIN …

前端处理图片文件的方法

在项目开发过程中&#xff0c;有一个需求&#xff0c;需要前端对上传的图片进行处理&#xff0c;以字符串的形式传给后端&#xff0c;实现效果如下&#xff1a; 1.上传图片的组件 在该项目中&#xff0c;使用了element plus组件库 <el-uploadv-model:file-list"fileL…

函数式编程

函数式编程&#xff08;lambda&#xff09; 哈喽&#xff0c;大家好&#xff0c;又到了技术成长的一天。今天向大家分享一个编程利器-函数式编程之lambda。Lambda函数式编程在前端后端编程中使用非常广泛&#xff0c;我们现在就一起去深入了解一下它是什么&#xff0c;怎么用。…

飞天使-k8s基础组件分析-pod

文章目录 pod介绍pod 生命周期init 容器容器handlerpod中容器共享进程空间sidecar 容器共享 参考链接 pod介绍 最小的容器单元 为啥需要pod? 答: 多个进程丢一个容器里&#xff0c;会因为容器里个别进程出问题而出现蝴蝶效应&#xff0c;pod 是更高级的处理方式pod 如何共享相…

C语言学习系列-->【关于qsort函数的详解以及它的模拟实现】

文章目录 一、概述二、qsort函数参数介绍三、qsort实现排序3.1 qsort实现整型数组排序3.2 qsort实现结构体数组排序 四、模拟实现qsort函数 一、概述 对数组的元素进行排序 对数组中由 指向的元素进行排序&#xff0c;每个元素字节长&#xff0c;使用该函数确定顺序。 此函数使…

使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。

目录 一.拉取镜像 二.运行镜像生成容器实例 三.登录 环境&#xff1a;centos7 一.拉取镜像 使用docker pull命令来拉取MySQL和own cloud的镜像 [rootlocalhost ~]# docker pull mysql:5.6 [rootlocalhost ~]# docker images [rootlocalhost ~]# docker images REPOSITORY…

Vue Element upload组件和Iview upload 组件上传文件

今天要分享的是使用这俩个UI组件库的upload组件分别实现调用组件本身的上传方法实现和后台交互。接下来就是开车的时间&#xff0c;请坐稳扶好~ 一、element upload组件传送门 1、html文件 <el-upload ref"uploadRef" :action"uploadUrl" :data"…