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.mzph.cn/news/49669.shtml

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

相关文章

c++ 虚函数类对象模型

一、复杂的菱形继承及菱形虚拟继承 单继承&#xff1a;一个子类只有一个直接父类时称这个继承关系为单继承。 多继承&#xff1a;一个子类有两个或以上直接父类时称这个继承关系为多继承。 菱形继承&#xff1a;菱形继承是多继承的一种特殊情况。 菱形继承的问题&#xff1a;从…

2023年京东儿童智能手表行业数据分析(京东销售数据分析)

儿童消费市场向来火爆&#xff0c;儿童智能手表作为能够实现定位导航&#xff0c;信息通讯&#xff0c;SOS求救&#xff0c;远程监听&#xff0c;智能防丢等多功能的智能可穿戴设备&#xff0c;能够通过较为精准的定位功能和安全防护能力保障儿童的安全&#xff0c;因而广受消费…

C#详解-Contains、StartsWith、EndsWith、Indexof、lastdexof

目录 简介: 过程: 举例1.1 举例1.2 ​ 总结: 简介: 在C#中Contains、StarsWith和EndWith、IndexOf都是字符串函数。 1.Contains函数用于判断一个字符串是否包含指定的子字符串&#xff0c;返回一个布尔值&#xff08;True或False&#xff09;。 2.StartsWith函数用于判断一…

数据结构-二叉树

在学习二叉树之前.必须先要掌握一些树的重要概念: 结点的度:一个结点含有的子树个数称为该结点的度.树的度:一棵树中,所有节点度的最大值称为树的度.叶子结点:度为0的结点称为叶子节点.(也叫终端结点)双亲结点:若一个结点含有子结点,则这个结点称为其子结点的双亲结点(也叫父节…

USB隔离器电路分析,SA8338矽塔sytatek电机驱动,源特科技VPS8701,开关电源,电源 大师

一、 USB隔离器电路分析 进行usb隔离可以使用USB隔离模块 ADUM3160 ADUM4160 注意&#xff1a;B0505S 最大带载0.16A&#xff0c;副边需要带载能力需要改变方案 比如移动硬盘至少需要0.5A 用充电宝、18650、设计5V1A输出电源 二、 1A隔离电压方案

redis乐观锁+启用事务解决超卖

乐观锁用于监视库存&#xff08;watch&#xff09;&#xff0c;然后接下来就启用事务。 启用事务&#xff0c;将减库存、下单这两个步骤&#xff0c;放到一个事务当中即可解决秒杀问题、防止超卖。 但是&#xff01;&#xff01;&#xff01;乐观锁&#xff0c;会带来" …

Leetcode67 二进制求和

给你两个二进制字符串 a 和 b &#xff0c;以二进制字符串的形式返回它们的和。 代码 class Solution {public String addBinary(String a, String b) {StringBuilder res new StringBuilder();int carry 0;int i a.length() - 1, j b.length() - 1;while(i > 0 || j &…

keepalived+lvs+nginx高并发集群

keepalivedlvsnginx高并发集群 简介&#xff1a; keepalivedlvsnginx高并发集群&#xff0c;是通过LVS将请求流量均匀分发给nginx集群&#xff0c;而当单机nginx出现状态异常或宕机时&#xff0c;keepalived会主动切换并将不健康nginx下线&#xff0c;维持集群稳定高可用 1.L…

Linux系统之安装OneNav个人书签管理器

Linux系统之安装OneNav个人书签管理器 一、OneNav介绍1.OneNav简介2.OneNav特点 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、检查本地环境3.1 检查本地操作系统版本3.2 检查系统内核版本3.3 检查本地yum仓库状态 四、安装httpd服务4.1 安装httpd4.2 启动httpd服务4…

低代码开发ERP:精打细算,聚焦核心投入

企业数字化转型已经成为现代商业环境中的一项关键任务。如今&#xff0c;企业面临着日益激烈的竞争和不断变化的市场需求。在这样的背景下&#xff0c;数字化转型不仅是企业生存的必然选择&#xff0c;也是取得竞争优势和实现可持续发展的关键因素。 在数字化转型的过程中&…

神经网络入门

前言 本文主要介绍最基础的神经网络&#xff0c;包括其结构&#xff0c;学习方法&#xff0c; C \texttt{C} C 的实现代码。 Python \texttt{Python} Python 的代码可以搜索互联网得到。 前排提示&#xff1a;本人涉及一丁点数学知识。 神经网络的结构 神经网络包括多个层…

[Linux]进程概念

[Linux]进程概念 文章目录 [Linux]进程概念进程的定义进程和程序的关系Linux下查看进程Linux下通过系统调用获取进程标示符Linux下通过系统调用创建进程-fork函数使用 进程的定义 进程是程序的一个执行实例&#xff0c;是担当分配系统资源&#xff08;CPU时间&#xff0c;内存…

二、数学建模之整数规划篇

1.定义 2.例题 3.使用软件及解题 一、定义 1.整数规划&#xff08;Integer Programming&#xff0c;简称IP&#xff09;&#xff1a;是一种数学优化问题&#xff0c;它是线性规划&#xff08;Linear Programming&#xff0c;简称LP&#xff09;的一个扩展形式。在线性规划中&…

构造不包含字母和数字的webshell

文章目录 利用不含字母与数字进行绕过知识介绍题目方法一&#xff1a;异或操作绕过方法二&#xff1a;取反进行绕过 过滤不是很严格的情况进阶绕过利用php7特性直接绕过 利用不含字母与数字进行绕过 知识介绍 <?phpecho "A"^"";?>从运行结果为! …

深度学习|CNN卷积神经网络

CNN卷积神经网络 解决的问题人类的视觉原理原理卷积层——提取特征池化层——数据降维全连接层——输出结果 应用图像处理自然语言处理 解决的问题 在CNN没有出现前&#xff0c;图像对人工智能来说非常难处理。 主要原因&#xff1a; 图像要处理的数据量太大了。图像由像素组…

使用IDEA把Java程序打包成jar

点击左上角File,选择Project Structure 左侧选中Artifacts,点击右侧的号 选择JAR->From modules with dependencies 选择你要运行的main方法所在的类,选好了点击OK Artifacts添加完成后点击右下角OK 在工具栏中找到Build,选择Build Artifacts 刚才创建好的Artifacts,选择Bui…

【附安装包】Midas Civil2019安装教程

软件下载 软件&#xff1a;Midas Civil版本&#xff1a;2019语言&#xff1a;简体中文大小&#xff1a;868.36M安装环境&#xff1a;Win11/Win10/Win8/Win7硬件要求&#xff1a;CPU2.5GHz 内存4G(或更高&#xff09;下载通道①百度网盘丨64位下载链接&#xff1a;https://pan.…

Java设计模式-抽象工厂模式

简介 设计模式是软件设计中的一种常见方法&#xff0c;通过定义一系列通用的解决方案&#xff0c;来解决常见的软件设计问题。其中&#xff0c;抽象工厂模式是一种非常常见的设计模式&#xff0c;它可以帮助我们创建一组相关的对象&#xff0c;而不需要指定具体的实现方式。 …

大数据平台是什么意思?有什么用?一般包含哪些模块?

大数据时代&#xff0c;还有很多人不知道大数据平台是什么意思&#xff1f;有什么用&#xff1f;一般包含哪些模块&#xff1f;今天我们就一起来简单了解一下吧&#xff01;仅供参考哦&#xff01; 大数据平台是什么意思&#xff1f;有什么用&#xff1f;一般包含哪些模块&am…

Spring框架中JavaBean的生命周期及单例模式与多列模式

Spring框架中JavaBean的生命周期及单例模式与多列模式 1. Spring框架中JavaBean的管理过程1.1 #定义Bean1.2 Bean的实例化1.3 属性注入1.4 初始化方法1.5 Bean的使用和引用1.6 销毁方法 2. 单例模式与原型模式在JavaBean管理中的应用1.在Spring管理JavaBean的过程中&#xff0c…