MySQL(1)

数据库

  • 基础篇

    • MYSQL概述

    • SQL

    • 函数

    • 约束

    • 多表查询

    • 事务

  • 进阶篇

    • 存储索引

    • 索引

    • SQL优化

    • 试图/存储过程/触发器

    • InnoDB核心

    • MySQL管理

  • 运维篇

    • 日志

    • 主从复制

    • 分库本表

    • 读写分离

基础篇

MySQL

  • 数据库概念:存储数据的仓库,数据是有组织的进行存储(DataBase,DB)

  • 数据库管理系统:操作和管理数据库的大型软件(Data Management System,DBMS)

  • SQL:操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准(Structured Query Language,SQL)

主流的关系型数据库管理系统

  • Oracle

  • MySQL

  • SQL Server

  • PostgreSQL

注:SQL来统一操作这些数据库管理系统

注:SQL是操作关系型数据库的编程语言,是统一标准

启动和停止

在命令行里输入

net start mysql80

net stop mysql80

注:mysql默认开机自启

客户端连接

方式一:在开始菜单里找到mysql,然后登录

方式二:mysql -u root -p

注:在任意环境中都想使用该指令,就需要配置环境

数据模型

  • 关系型数据库(RDBMS)

    • 概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库、

    • 特点:使用表存储数据,格式统一,便于维护

    • 使用SQL语言操作,标准统一,使用方便

SQL

  • SQL通用语法

  • SQL分类

  • DDL

  • DML

  • DQL

  • DCL

SQL通用语句

  1. SQL语句可以单行或多行书写,以分号结束

  2. SQL语句可以使用空格/缩进 来增强语句的可读性

  3. MySQL数据库的SQL语句不区分大小写,关键字建议使用大写

  4. 单行注释 – 或 #

  5. 多行注释 /**/

SQL分类

  • DDL(Data Definition Language)

    • 数据定义语言,用来定义数据库对象(数据库,表,字段)
  • DML(Data Manipulation Language)

    • 数据操作语言,用来对数据库中的数据进行增删改
  • DQL(Data Query Language)

    • 数据查询语言,用来查询数据库中表的记录
  • DCL(Data Control Language)

    • 数据控制语言,用来创建数据库用户,控制数据库的访问权限

DDL

  • 查询 SHOW DATABASES;

  • 查询当前数据库 select database();

  • 创建 create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则];

    注:这里的参数,都可以不要

    注:if not exists 如果不存在

    注:这里的字符集,推荐使用utf8mb4

  • 删除 drop database[if exists] 数据库名;

    • 使用 use 数据库名;
  • 查询当前库的所有表 show tables;

  • 查询表结构 desc 表名;

  • 查询指定表的建表语句 show create table 表名;

  • 创建表

    create table 表名(
    字段1 字段1类型[comment 字段1注释],
    字段2 字段2类型[comment 字段2注释],
    字段3 字段3类型[comment 字段3注释]
    )[commment 表注释];

注:在sql中字符串是varchar(size)

    create table user(id int comment'编号',mame varchar(10) comment '姓名',age int comment '年龄',gender varchar(1) comment '性别')comment '用户表';

DDL 文件中的数据类型

  • 数值类型

  • 字符串类型

    • varchar性能低

    • char 性能好

  • 日期

    • date -----> YYYY-MM-DD

    • time ------> HH : MM :SS

    • datetime -> YYYY-MM-DD HH:MM:SS

DDL-表操作-修改

  • 添加字段 alter table 表名 add 字段名 类型(长度) [comment 注释] [约束];

  • 修改字段

    • 修改数据类型

      • alter table 表名 modify 字段名 新数据类型
    • 修改字段名和字段类型

      • alter table 表名 change 旧字段名 新字段名 类型(长度)[comment 注释][约束]
  • 删除字段

    • alter table 表面 drop 字段名;
  • 修改表名

    • alter table 表名 rename to 新表名;
  • 删除表

    • drop table[if exists] 表名;

    • truncate table 表名;

      • 删除表中的数据,表的格式会被保存

MySQL图形化工具

DataGrip —> 里面可以操作SQL语句

DML

  • 添加数据(insert)

  • 修改数据(update)

  • 删除数据(delete)

  • 给指定字段添加数据

    • 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 表名(值1,值2),(值1,值2),(值1,值2);

注:

  1. 插入数据时,指定的字段顺序需要与值的顺序是一一对应的

  2. 字符串和日期型数据应该包含在引号中

  3. 插入的数据大小,应该在字段的规定范围内

修改数据

update 表名 set 字段1 = 值1 ,字段2 = 值2,[where 条件];

注:修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有的数据

update employee set name 'itheima' where id = 1;

删除语句

delete from 表名 [where 条件]

注:

  1. delete 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据

  2. delete 语句不能删除某一个字段的值(可以使用update)

DQL

涉及关键字,select

  • 基本查询

  • 条件查询

  • 聚合函数

  • 分组查询

  • 排序查询

  • 分页查询

基本查询

  • 查询多个字段

    • select 字段1,字段2 frrom 表名;

    • select * from 表名;

  • 设置别名

    • select 字段1[as 别名],字段2[别名2] from 表名
  • 去除重复记录

    • selsect distinct 字段列表 from 表名;

条件查询

语法:select 字段列表 from 表名 where 条件列表;

在这里插入图片描述

注:in(…) 只要满足其一

注:like ‘____‘ 查询为两个字符的信息

注:like’%x‘; -----> 只要保证最后一个字符是x就行

聚合函数

介绍:将一列数据作为一个整体,进行纵向计算

常见聚合函数

  • count 统计数量

  • max 最大值

  • min 最小值

  • avg 平均值

  • sum 求和

语法:

select 聚合函数(字段列表) from 表名 where 条件列表;

注:null 值不参与所有的聚合函数运算

分组查询

语法:

select 字段列表 from 表名[where 条件] group by 分组字段名[having 分组后过滤条件];

where 和 having 区别

  • 执行时机不同

    • where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤
  • 判断条件不同

    • 判断条件不同:where不能对聚合函数进行判断,而having可以

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

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

相关文章

SpringBoot+Vue使用Echarts

前言 在vue项目中使用echarts,本次演示是使用vue2 1 前端准备 echarts官网: https://echarts.apache.org/zh/index.html 官网提供了基本的使用说明和大量的图表 1.1 下载echarts 执行命令 npm install echarts 直接这样执行很可能会失败,…

PyQt6医疗多模态大语言模型(MLLM)实用系统框架构建初探(下.代码部分)

医疗 MLLM 框架编程实现 本医疗 MLLM 框架结合 Python 与 PyQt6 构建,旨在实现多模态医疗数据融合分析并提供可视化界面。下面从数据预处理、模型构建与训练、可视化界面开发、模型 - 界面通信与部署这几个关键部分详细介绍编程实现。 6.1 数据预处理 在医疗 MLLM 框架中,多…

Linux-day10

第21章 Linux高级篇-日志管理 日志介绍和实例 基本介绍 系统常用的日志 日志服务 日志服务原理图 在这个配置文件里面记录了日志服务程序 日志管理服务rsyslogd -v是反向匹配 invert 日志服务配置文件 时间、主机、是由哪个程序或者服务发生的、事件信息 自定义日志服务 日…

Linux第一讲--基本的命令操作

从今天开始,我将在csdn这个平台上和大家分享Linux的相关知识,欢迎大家一起讨论! 零、基本操作 1.进入全屏: ALTENTER,退出也是这个 2.复制:ctrlinsert 3.粘贴:shiftinsert Linux中,cv是不好…

WinRAR.exe命令行的使用

工具 命令行打包命令 rem 默认压缩根目录,递归处理子文件夹使用 -r WinRAR.exe a -r test.rar C:/web/Views/

### 2.5.3 二叉树的基本操作

2.5.3 二叉树的基本操作 // 获取树中节点的个数 int size(Node root);// 获取叶子节点的个数 int getLeafNodeCount(Node root);// 子问题思路-求叶子结点个数// 获取第K层节点的个数 int getKLevelNodeCount(Node root,int k);// 获取二叉树的高度 int getHeight(Node root);…

设计新的 Kibana 仪表板布局以支持可折叠部分等

作者:来自 Elastic Teresa Alvarez Soler, Hannah Mudge 及 Nathaniel Reese 在 Kibana 中构建可折叠仪表板部分需要彻底改造嵌入式系统并创建自定义布局引擎。这些更新改进了状态管理、层次结构和性能,同时为新的高级仪表板功能奠定了基础。 我们正在开…

怎么样把pdf转成图片模式(不能复制文字)

贵但好用的wps, 转换——转为图片型pdf —————————————————————————————————————————— 转换前: 转换后: 肉眼可见,模糊了,且不能复制。 其他免费办法,参考&…

PAT甲级-1023 Have Fun with Numbers

题目 题目大意 一个数乘以2倍后,仍由原来的数字组成,只不过顺序发生变化,就输出Yes,否则输出No。并输出乘以2部后的数。 思路 题目说数字不超过20位,long long最多只能表示19位,93....,超过其…

系统架构设计师教材:信息系统及信息安全

信息系统 信息系统的5个基本功能:输入、存储、处理、输出和控制。信息系统的生命周期分为4个阶段,即产生阶段、开发阶段、运行阶段和消亡阶段。 信息系统建设原则 1. 高层管理人员介入原则:只有高层管理日恩怨才能知道企业究竟需要什么样的…

CNN-BiLSTM卷积双向长短期记忆神经网络时间序列预测(Matlab完整源码和数据)

CNN-BiLSTM卷积双向长短期记忆神经网络时间序列预测(Matlab完整源码和数据) 目录 CNN-BiLSTM卷积双向长短期记忆神经网络时间序列预测(Matlab完整源码和数据)预测效果基本介绍 CNN-BiLSTM卷积双向长短期记忆神经网络时间序列预测一…

我谈区域偏心率

偏心率的数学定义 禹晶、肖创柏、廖庆敏《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》P312 区域的拟合椭圆看这里。 Rafael Gonzalez的二阶中心矩的表达不说人话。 我认为半长轴和半短轴不等于特征值,而是特征值的根号。…

每日进步一点点(网安)

1.1 level5 查看源码关键部分 $str strtolower($_GET["keyword"]); $str2str_replace("<script","<scr_ipt",$str); $str3str_replace("on","o_n",$str2);<input namekeyword value".$str3.">关键…

centos操作系统上以service形式运行blackbox_exporter监控网页端口

文章目录 前言一、blackbox_exporter是什么二、使用步骤1.获取二进制文件2.准备部署脚本3.执行命令&#xff0c;进行部署4.prometheus中增加需要监控页面的job信息 三、查看部署结果四、配置到grafana中总结 前言 记录一下centos操作系统上以简单的service形式运行blackbox_ex…

【阅读笔记】基于图像灰度梯度最大值累加的清晰度评价算子

本文介绍的是一种新的清晰度评价算子&#xff0c;基于图像灰度梯度最大值累加 一、概述 目前在数字图像清晰度评价函数中常用的评价函数包括三类&#xff1a;灰度梯度评价函数、频域函数和统计学函数&#xff0c;其中灰度梯度评价函数具有计算简单&#xff0c;评价效果好等优…

数据库设计

七、存储管理 1、存储介质 存储层次 存储分类 访问速度分类&#xff1a;主存储器、二级存储器、三级存储器操作分类&#xff1a;读操作、写操作联机分类&#xff1a;联机、脱机访问方式分类&#xff1a;随机访问、顺序访问读写单位分类&#xff1a;字节、块 存储介质分类 易…

到华为考场考HCIE的注意事项和考试流程

大家好&#xff0c;我是张同学&#xff0c;来自成都职业技术学院2021级计算机网络专业。最近成功通过了 Datacom HCIE 考试&#xff0c;在这里和大家分享一下我的经验。 考证契机 在母校的培养下&#xff0c;我接触到ICT这个行业&#xff0c;打好了基础&#xff0c;开始了成…

海外问卷调查如何影响企业的经营?在品牌建设中有何指导意义?

市场调查的定义&#xff1a;通过科学的方法&#xff0c;有目的地、系统地搜集整理一些市场信息&#xff0c;其目的在于了解当下市场现状和发展前景&#xff0c;为企业生产和品牌打造提供一些科学的指导意见&#xff0c;这是任何大企业、中小企业、初创企业都必须重视的一个重要…

hedfs和hive数据迁移后校验脚本

先谈论校验方法&#xff0c;本人腾讯云大数据工程师。 1、hdfs的校验 这个通常就是distcp校验&#xff0c;hdfs通过distcp迁移到另一个集群&#xff0c;怎么校验你的对不对。 有人会说&#xff0c;默认会有校验CRC校验。我们关闭了&#xff0c;为什么关闭&#xff1f;全量迁…

Unity3D仿星露谷物语开发25之创建时钟界面

1、目标 在时钟界面显示当前时钟信息&#xff0c;同时设置特殊按钮可以快速推进时间用于测试。 2、创建GameClock.cs脚本 在Assets -> Scripts -> TimeSystem目录下创建GameClock.cs脚本。 代码如下&#xff1a; using System.Collections; using System.Collections…