MySql学习2:SQL分类、数据库操作、表操作、数据的增删改查

SQL分类

SQL分类:

  • DDL:数据定义语言,用来定义数据库对象(数据库、表、字段)
  • DML:数据操作语言,用来对数据库表中的数据进行增删改
  • DQL:数据库查询语言,用来查询数据库表中的记录
  • DCL:数据控制语言,用来创建数据库用户、控制数据库的访问权限

数据库操作

查询所有数据库

SHOW DATABASES

查询当前数据库

SELECT DATABASE();

创建

CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];

不过一般使用数据库连接工具进行可视化操作,这样更加方便。

删除

DROP DATABASE 数据库名

使用

USE 数据库名

表操作

查询所有表

show tables;

查询表结构

desc 表名

查询指定表的建表语句

show create table 表名

创建表

create table 表名(字段 类型[comment 字段注释]...
)[comment 表注释]

往表中添加字段

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

修改字段类型

alter table 表名 modify 字段名 新数据类型(长度)

修改字段名和字段类型

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

删除字段

alter table 表名 drop 字段名

修改表名

alter table 表名 rename to 新表名

删除表

drop table [if exists] 表名

数据的增删改查

添加数据

// 单条数据添加,不指定字段名默认给全部字段添加数据
insert into 表名(字段1,字段2...values(1,值2..)// 多条数据添加,不指定字段名默认给全部字段添加数据
insert into 表名(字段1,字段2...values(1,值2..),(1,值2..),(1,值2..)

注意:

  • 插入数据时,指定的字段顺序需要于值的顺序是一一对应的
  • 字符串和日期类型数据应该包含在引号中
  • 插入的数据大小,应该在字段的规定范围内

删除数据

delete from 表名 [where 条件]

注意:没有条件会删除表里的所有数据

修改数据

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

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

查询数据

语法

select 字段列表
from表名列表
where   条件列表
group by分组字段列表
having分组后条件列表
order by排序字段列表
limit分页参数

基础查询

查询多个字段

select 字段1,字段2 ... from 表名
select * from 表名

设置别名

select 字段1 as 别名1 from 表名

去重

select distinct 字段列表 from 表名

条件查询

select 字段列表 form 表名 where 条件列表

常用的运算符

运算符功能
>大于
<小于
=等于
!=不等于
between and在某个范围之内,含最大最小值
in(…)在in之后的列表中的值
like 占位符模糊匹配(_匹配单个字符,%匹配任意个字符)
is null是null
and并且
or或者
not
select * from user where age in(15,23,40) 
// 查询名字是两个字的员工
select * from user where name like '__'

聚合函数

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

常见的聚合函数

函数功能
count统计数量
max最大值
min最小值
avg平均值
sum求和

语法

select 聚合函数(字段) from 表名

注意:所有的null值是不参与聚合函数的。

分组查询

语法

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

where与having的区别

  • 执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;having是分组之后对结果进行过滤
  • 判断条件不同:where不能对聚合函数进行判断,而having可以
select count(*) as '男女生数量' from emp group by sex; 

注意:

  • 执行顺序:where > 聚合函数 > having
  • 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义

排序

select 字段列表 from 表名 order by 字段1 排序方式1, 字段2 排序方式2;

排序方式

  • asc:升序,默认值
  • desc:降序

注意:如果是多字段排序,当第一个字段值相同时,才会按照第二个字段进行排序。

分页查询

select 字段列表 from 表名 limit 起始索引,查询记录数

注意:

  • 起始索引从0开始,起始索引 = (查询页码-1)* 每页显示的记录数

编写顺序和执行顺序

在这里插入图片描述

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

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

相关文章

Spring Boot中的事务隔离级别

Spring Boot中的事务隔离级别 介绍 Spring Boot是一个流行的Java框架&#xff0c;它提供了许多方便的注解和工具&#xff0c;使得数据库操作变得更加容易。其中&#xff0c;事务隔离级别是Spring Boot中一个非常重要的概念&#xff0c;它可以帮助开发者控制数据库操作的并发性…

JumpServer开源堡垒机安装配置

JumpServer开源堡垒机安装与配置 一、简介二、下载与安装2.1、下载2.2、安装2.3、其他 一、简介 JumpServer 堡垒机帮助企业以更安全的方式管控和登录各种类型的资产。 支持 官网地址&#xff1a;https://www.jumpserver.org/index.html JumpServer 采用分层架构&#xff0c;…

Python-创建虚拟环境并指定环境目录

1.简介 程序运行依赖于环境&#xff0c;不同程序依赖的环境不尽相同。如果一个项目依赖于一个第三方库的1.0版本&#xff0c;另一个项目依赖于这个第三方库的2.0版本&#xff0c;在一个python环境中一个库只能同时存在一个版本&#xff0c;所以就产生了版本冲突。虚拟环境就是为…

发送图文并茂的html格式的邮件

本文介绍如何生成和发送包含图表和表格的邮件&#xff0c;涉及echarts图表转换为图片、图片内嵌到html邮件内容中、html邮件内容生成、邮件发送方法等 一、图表处理 因为html格式的邮件不支持echarts,也不支持js执行&#xff0c;所以图表需要转换为图片内嵌在邮件内容中 因为平…

doker安装RabbitMQ以及用java连接

目录 doker安装&#xff1a; RabitMq安装&#xff1a; java链接 doker安装&#xff1a; 参考链接&#xff08;非常详细&#xff09;&#xff1a; docker安装以及部署_docker bu shuminio_春风与麋鹿的博客-CSDN博客 安装好后开启doker //启动docker服务 systemctl start do…

华为HUAWEI MateBook D 2018 黑苹果Monterey 12.6.5的安装过程

HUAWEI MateBook D 2018 黑苹果系统的安装 HUAWEI MateBook D 2018版,配置列表如下&#xff1a;安装Monterey 12.6.5流程1. 打开balenaEtcher&#xff0c;选择好系统镜像和U盘&#xff0c;将镜像刻录到U盘中&#xff0c;点击Flash等待刻录完成&#xff1b;2. 使用DiskGenius将下…

【吃透网络安全】2023软考网络管理员考点网络安全(四)防火墙详解

涉及知识点 什么是防火墙&#xff1f;防火墙的概念及定义&#xff0c;防火墙的优缺点&#xff0c;软考网络管理员常考知识点&#xff0c;软考网络管理员网络安全&#xff0c;网络管理员考点汇总。 后面还有更多续篇希望大家能给个赞哈&#xff0c;这边提供个快捷入口&#xf…

【RF-SSA-LSTM】随机森林-麻雀优化算法优化时间序列预测研究(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【计算机网络】IP 地址处理函数

目录 1.struct sockaddr_in的结构 2.一般我们写的结构 3.常见的“点分十进制” 到 ” uint32_t 的转化接口 3.1. inet_aton 和 inet_ntoa &#xff08;ipv4&#xff09; 3.2. inet_pton 和 inet_ntop (ipv4 和 ipv6&#xff09; 3.3. inet_addr 和 inet_network 3…

ECC加密算法详解+python实现

一.前言 目前比较受欢迎的加密算法一共存在两种&#xff0c;一种是基于大整数因子分解问题&#xff08;IFP&#xff09;的RSA算法和基于椭圆曲线上离散对数计算问题&#xff08;ECDLP&#xff09;的ECC算法。之前对RSA算法进行过很详细的讲解&#xff0c;但是ECC加密算法还没有…

简单指令实现Docker构建镜像启动运行保存导出后再导入新环境完整全流程

项目场景及问题描述 本文做一个简单Docker使用指令指南&#xff0c;可快速实现Docker构建镜像、启动、运行、保存、导出后再导入新环境完整全流程。具体每一个指令又有很多参数和学问&#xff0c;大家可自行查询更详细的解释&#xff0c;本文可用于小白快速构建镜像并使用。 使…

关于Nuxt3.6兼容低版本游览器的实战以及可能存在的问题

当我们网站打包上线后&#xff0c;有些问题我们肯定也要考虑在内&#xff0c;兼容性也是其中一个重要的一种&#xff0c;可能会有人说&#xff0c;都2023年了&#xff0c;还在乎那些废弃的游览器干啥&#xff0c;我只能说&#xff0c;错&#xff01;大错特错&#xff01; 我们不…