一、介绍

1.不用数据库:使用IO流对数据进行管理

2.使用数据库:使用SQL语句对开发的数据进行管理,能储存上亿条数据

3.MYSQL:

是流行的关系型数据库管理系统之一,将数据保存在不同的数据表中,通过表与表之间的联系提高访问速度,使用SQL语言,6版本之前免费。

4.数据库、数据表、数据的关系

MYSQL服务器中可以创建多个数据库,每个数据库中可以包含多张数据表,每个数据表中可以存储多条数据记录,客户端通过数据库管理系统来操作MYSQL数据库。

5.SQL语言

①结构化查询语言,是操作所有关系型数据库的一种规则
②通用语法规则:
  1. SQL语句可以单行或多行书写,以分号结尾
  2. 可使用空格和缩进来增强语句的可读性
  3. MYSQL数据库的SQL语句不区分大小写,关键字建议使用大写
  4. 单行注释:--注释内容 #注释内容(MYSQL特有)
  5. 多行注释:/*注释内容*/
 ③SQL分类

二、MYSQL的基础操作(均在cmd(ctrl+R打开)中操作

(一)登录MYSQL

1.输入:mysql -u root -p

2.回车(出现图片的提示句)

3.在“Enter password:”后面输入密码

4.出现图片的内容就说明登录成功

(二)修改MYSQL登录密码

1.分别输入两行语句并回车(作用:忽略密码的验证码):

set global validate_password_policy=0;

set global validate_password_length=1;

3.结果如图

3如图所示,输入:set password=password("密码");

(三)授予远程连接权限

1.授权输入:grant all privileges on *.* to 'root' @ '%' identified by '登录密码';

2.回车

3.刷新输入:flush privileges;

(四)退出MYSQL

1.输入:exit

2.回车

(五)关闭Linux系统防火墙

1.输入:systemctl stop firewalld

2.回车

(六)重启MYSQL服务

1.输入:service mysqld restart

2.回车

三、DDL操作

(一)查询和创建所有数据库

1.查询所有数据库

SHOW DATABASES;

2.查询数据库的创建语句

SHOW CREATE DATABASE 数据库名称;

3.创建数据库

CREATE DATABASE 数据库名称;

4.创建数据库(判断,如果不存在则创建)

CREATE DATABASE IF NOT EXISTS 数据库名称;

5.创建数据库(指定字符集)

CREATE DATABASE 数据库名称 CHARACTER SET 字符集名称;

(二)修改、删除、使用数据库

1.修改数据库(修改字符集)

ALTER DATABASE 数据库名称 CHARACTER SET 字符集名称 ;

2.删除数据库

DROP DATABASE 数据库名称;

3.删除数据库(判断,如果存在则删除)

DROP DATABASE IF EXISTS 数据库名称;

4.使用数据库

USE 数据库名称;

5.查看当前使用的数据库

SELECT DATABASE();

(三)查询数据表

1.查询所有的数据表

SHOW TABLES;

2.查询表结构

DESC 表名;

3.查询表字符集

SHOW TABLE STATUS FROM 库名 LIKE '表名';

(四)创建数据表

CREATE TABLE 表名(

        列名 数据类型 约束,

        列名 数据类型 约束,

        ...

);

常用数据类型

(五)修改数据库

1.修改表名

ALTER TABLE 表名 RENAME TO 新表名;

2.修改表的字符集

ALTER TABLE 表名 CHARACTER SET 字符集名称;

3.单独添加一列

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

4.修改某列的数据类型

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

5.修改列名和数据类型

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

6.删除某一列

ALTER TABLE 表名 DROP 列名;

(六)删除数据表

1.删除数据表

DROP TABLE 表名;

2.删除数据表(判断,如果存在则删除)

DROP TABLE IF EXISTS 表名;

四、DML操作

(一)新增表数据

1.给指定列添加数据

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

 2.给全部列添加数据

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

3.批量添加数据

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

注意:

列名和值的数量以及数据类型要对应,除了数字类型,其他数据类型的数据都需要加引号(单双均可),推荐单引号

(二)修改和删除表数据(如不加条件,则修改所有数据

1.修改表中的数据

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

2.删除表中的数据

DELETE FROM 表名 [WHERE 条件];

五、DQL操作

(一)查询语法(按上到下的顺序来写)

(二) 查询全部

1.查询全部的表数据

SELECT * FROM 表名;

2.查询指定字段的表数据

SELECT 列名1,列名2,... FROM 表名;

3.去除重复查询

SELECT DISTINCT 列名1,列名2,... FROM 表名;

4.计算列的值(四则运算)

SELECT 列名1 [IFNULL(列名,0)] 运算符(+-*/) ,列名2 FROM 表名;

5.起别名查询

SELECT 列名 AS(可省略) 别名 FROM 表名;

(三)条件查询

1.查询条件分类

 

2.条件查询语法

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

(四)聚合函数查询

1.聚合函数分类

2.聚合函数查询语法

SELECT 函数名(列名) FROM 表名 [WHERE 条件];

(五)排序查询

1.排序查询语法

SELECT 列名列表 FROM [WHERE 条件] ORDER BY 列名 排序方式,列名 排序方式...;

 2.排序方式:

ASC——升序(默认)

DESC——降序

如果有多个排序条件值一样时,才会判断第二条件。 

(六)分组查询

1.分组查询语法

SELECT 列名列表 FROM 表名 [WHERE 条件] GROUP BY 分组列名 [HAVING 分组后的条件过滤] [ORDER BY 排序列名 排序方式];

(七)分页查询

1.分页查询语法

SELECT 列名列表 FROM 表名 [WHERE 条件] [GROUP BY 分组列名] [HAVING 分组后的条件过滤] [ORDER BY 排序列名 排序方式] LIMIT 当前页数,每页显示的条数; 

当前页数:(当前的页数-1) * 每页显示的条数 

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

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

相关文章

音视频会议服务搭建(设计方案)-01

前言 最近在做音视频会议系统服务搭建的工作任务,因为内容过多,我会逐篇分享相关的设计方案、开发思路、编程语言、使用的组件集合等等。如果你也有大型音视频会议系统搭建架构的需求,希望这些可以对你有所帮助。 EchoMeet 音视频会议系统架构…

刷leetcode hot100/准备机试--图

图的基础知识【这部分建议使用acm模式】 图论理论基础 | 代码随想录 存储: 一般有邻接表【适合稀疏图】【数组 链表 】和邻接矩阵【适合稠密图】存储方式 注意邻接表 和 邻接矩阵的写法都要掌握! 邻接矩阵 n个节点,申请n*n或者&#xf…

无代码自动化测试工具介绍

无代码自动化测试工具允许用户无需编写代码即可创建和运行测试,通过拖拽式界面或录制回放等可视化界面进行操作。 这些工具利用图形用户界面和预定义命令来创建测试,使非编程人员也能进行自动化测试。 无代码自动化测试工具使团队能够: 使用直观的拖拽界面开发和执行自动化…

python学习打卡day58

DAY 58 经典时序预测模型2 知识点回顾: 时序建模的流程时序任务经典单变量数据集ARIMA(p,d,q)模型实战SARIMA摘要图的理解处理不平稳的2种差分 n阶差分---处理趋势季节性差分---处理季节性 建立一个ARIMA模型&#xf…

分布式锁的实现方式:使用 Redisson 实现分布式锁( Spring Boot )

Redisson提供了分布式和可扩展的Java数据结构&#xff0c;包括分布式锁的实现。 1. 添加依赖 在pom.xml中添加Redisson依赖&#xff1a; <dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId>…

Web基础关键_004_CSS(二)

目 录 一、样式 1.行内样式 2.内部样式 3.外部样式 二、选择器优先级 1.非关系选择器 2.关系选择器 三、属性 四、盒子模型 五、元素 1.块级元素 2.行内元素 3.行内块级元素 4.元素类型转换 六、浮动 七、定位 1.静态定位 2.相对定位 3.绝对定位 4.固定定位 …

数据使用权与所有权分离:能否诞生“数据租赁”市场

——首席数据官高鹏律师数字经济团队创作&#xff0c;AI辅助 数据如矿藏&#xff0c;开采需“契约” 想象一座蕴藏着无尽资源的数字矿山&#xff1a;企业或个人拥有数据的“所有权”&#xff0c;如同手握矿脉的产权&#xff0c;但若无法高效挖掘其价值&#xff0c;矿石终将沉…

【esp32s3】2 - 第一个组件

下面的内容编写时间跨度有点大&#xff0c;乱了得一团&#xff0c;也没ai整理。食之无味&#xff0c;弃之可惜。 推荐笔记&#xff1a;ESP32 之 ESP-IDF 教学&#xff08;十八&#xff09;—— 组件配置&#xff08;KConfig&#xff09; 推荐笔记&#xff1a;Kconfig 拓展 乐鑫…

【Java_EE】单例模式、阻塞队列、线程池、定时器

目录 单例模式 饿汉模式<代码> 懒汉模式<代码> 阻塞队列 阻塞队列概念 阻塞队列解决的问题 阻塞队列工作原理 阻塞队列的优/缺点 优点 缺点 模拟实现阻塞队列<代码> 线程池 线程池概念 线程池解决的问题 线程池参数 四种拒绝策略 线程池工作…

Redis初识第七期---ZSet的命令和应用场景

ZSet相较于Set来说&#xff0c;它又是有序的&#xff0c;这个有序指的就是我们通常意义上的有序了&#xff0c;ZSet内部中是按照升序来排序的。 排序规则&#xff1a;ZSet相较于Set来说&#xff0c;它内部引入了一个新的属性&#xff1a;分数&#xff08;Score&#xff09;&am…

Wps开放平台v5升级v7上传实体文件踩坑(Java使用restTemplate)

背景&#xff1a; 最近接到一个老项目需求&#xff0c;之前开发的WPS开放平台文件&#xff08;商密集成&#xff09;预览功能因为升级需要重新对接api&#xff0c;新的上传文件接口踩坑特意记录一下。 这里出问题的是第二步&#xff0c;请求文件上传信息 踩坑代码 调用后403 p…

啥时候上RAG?啥时候上微调?丨实战笔记

哈喽&#xff0c;大家好&#x1f44f; 我是阿星&#xff01; 现在很多AI科普文章都会提到微调&#xff0c;RAG。 但是没有实战的过的同学可能会问&#x1f914;—— 啥时候用RAG&#xff1f;啥时候用微调呢&#xff1f;有啥区别&#xff1f;不都是让模型增加知识面的吗&…

RabbitMQ-基础篇

前言&#xff1a; 今天开始学RabbitMQ,还是跟着黑马的课程。 今日所学&#xff1a; RabbitMQ介绍RabbitMQ入门Java客户端中的MQ 1.RabbitMQ介绍 1.1 什么是RabbitMQ RabbitMQ 是一个开源的消息代理软件&#xff08;消息队列中间件&#xff09;&#xff0c;实现了高级消息…

docker-compose配置redis哨兵详细步骤和配置文件

docker-compose配置redis哨兵详细步骤和配置文件 目录结构调整 redis-cluster/ ├── config/ │ ├── master.conf # 主节点配置 │ ├── slave1.conf # 从节点1配置 │ ├── slave2.conf # 从节点2配置 │ ├── sentinel1.…

多模态大语言模型arxiv论文略读(146)

Exploring Response Uncertainty in MLLMs: An Empirical Evaluation under Misleading Scenarios ➡️ 论文标题&#xff1a;Exploring Response Uncertainty in MLLMs: An Empirical Evaluation under Misleading Scenarios ➡️ 论文作者&#xff1a;Yunkai Dang, Mengxi G…

【教程】Linux中限制用户可以使用的GPU数量 | 附脚本

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 目录 背景说明 设置方法 管理脚本 进阶限制 恢复默认组 注意事项 背景说明 比较简单的方式是使用group来管理权限&#xff0c;这种方式能限制哪些…

90.xilinx复位低电平(一般使用低电平复位)

Xilinx FPGA 中的寄存器&#xff08;Flip-Flop&#xff09;**确实支持异步复位**&#xff0c;但具体实现方式取决于你使用的设计方法&#xff08;HDL 代码风格或原语实例化&#xff09;。以下是详细说明&#xff1a; --- ### 1. **Xilinx 寄存器的复位特性** - **同步复位…

NVMe高速传输之摆脱XDMA设计10: DMA 控制单元设计

DMA 控制单元负责控制 DMA 传输事务&#xff0c; 该单元承担了 DMA 事务到 NVMe 事务的转换任务&#xff0c; 使用户对数据传输事务的控制更加简单快捷。 DMA 控制功能由 DMA寄存器组实现。 DMA 寄存器组包含 DMA 操作寄存器、 DMA 长度寄存器、 DMA 源目的地址寄存器和 DMA 状…

如何设置电脑定时休眠?操作指南详解

长时间运行电脑会导致硬件过热&#xff0c;缩短其使用寿命。定时关机有助于让硬件得到休息&#xff0c;降低因长时间高负荷工作导致损坏的风险。 它的界面简洁直观&#xff0c;功能却十分实用&#xff0c;涵盖了定时关机、重启、注销、休眠、待机以及锁定等多种操作。 以设置“…

LeetCode[617]合并二叉树

思路&#xff1a; 我们合并左右子树&#xff0c;在递归左右子树的时候&#xff0c;一定要保证左右子树不为空&#xff0c;如果左子树为空&#xff0c;那么直接返回右子树就行了&#xff0c;即使右子树为空。如果右子树为空那么直接返回左子树就行了&#xff0c;这样判断完就正常…