MySQL学习笔记------SQL(2)

news2024/11/18 3:23:52

zi'duanSQL

DML

全称为:Data Manipulation Language,用来对数据库中表的数据记录进行增删改操作

插入数据 

添加数据(INSERT)

给指定字段添加数据:INSERT INTO 表名(字段名1,字段名2,......) VALUES(值1,值2,......);

给全部字段添加数据:INSERT INTO 表名 VALUES(值1,值2,...)

批量添加数据

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

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

注意:插入数据时需要一一对应,字符串和日期数据应该包含在引号里,插入数据大小应该在字段的规定范围内

create table emp(
    id    int   comment '编号',
    workno  varchar(10) comment '工号',
    name     varchar(10)  comment '姓名',
    gender    char(1)   comment '性别',
    age       int      comment '年龄',
    idcard    char(18)  comment '身份证号',
    workpalace varchar(50) comment '工作地址',
    entrydate   date    comment '入职时间'
)comment '员工表';
insert into emp(id, workno, name, gender, age, idcard, workpalace, entrydate) VALUES
(1,'1','柳岩','女',18,'12345678902345678','北京','2000-01-01'),
(2,'2','张无忌','男',28,'12487789012045678','西安','2006-01-01'),
(3,'3','韦一笑','男',18,'15456789082344678','上海','2030-01-01'),
(4,'4','赵敏','女',18,'12355679067345678','北京','2000-01-01'),
(5,'5','小昭','女',18,'26345879901245878','杭州','2000-01-01'),
(6,'6','杨晓','女',18,'323456789052345678','北京','2000-01-01'),
(7,'7','范瑶','女',18,'12345579014344678','南阳','2000-01-01'),
(8,'8','黛绮丝','女',18,'623456789032234574','西安','2000-01-01'),
(9,'9','范凉凉','女',18,'173456789072235674','北京','2000-01-01'),
(10,'10','陈友谅','男',18,'92356789032234567X','南京','2000-01-01'),
(11,'11','常遇春','男',18,'423567890322345674','北京','2000-01-01'),
(12,'12','张三丰','男',18,'123467890322345674','武当','2000-01-01'),
(13,'13','灭绝','女',18,'323556790322345674','峨眉','2000-01-01'),
(14,'14','胡青牛','男',18,'22346789032234567X','北京','2000-01-01'),
(15,'15','周芷若','女',18,null,'北京','2000-01-01'),
(16,'16','张士诚','男',18,'33345789032234567X','北京','2000-01-01');

修改数据(UPDATE)

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

条件可以用也可以没有,如果没有会修改表中所有数据。

update user_table set name='lisi' where id=1;

update emp set name='乐瑶' where id=1;

 

删除数据(DELETE)

DELETE FROM 表名 [WHERE 条件]

注意:delete语句的条件可以用也可以没有,如果没有,则删除整张表的所有数据

delete语句不能删除某一字段的值

delete from emp where gender='男';

 

 

DQL

Data Query Language(数据查询语言),用于查询数据库中表的记录

语法

基本查询: 

查询多个字段

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

例如:select name,workplace,age from emp;//只显示三项(姓名,工作地点,年龄)

select name,age,gender from emp;

 

设置别名并查询

select  字段1[as 别名1],字段2[as 别名2]...from 表名;

例如:select workplace as '工作地点' from emp;

select name as'姓名' from emp;

 

去除重复并查询

select distinct workplace '工作地点'  from emp;

select distinct workpalace as'工作地址' from emp;

 

条件查询

聚合函数

select count(*)from emp;
select max(age)from emp;
select avg(age)from emp;
select sum(age)from emp;

 

 

 

分组查询 :

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

where与having区别:

1、执行时间不同,where是分组前过滤,不满足不参与分组。having是分组后对结果进行过滤

2、判断条件不同,where不能对聚会函数判断,having可以

#获取男女员工数量
select gender,count(*)from emp group by gender;

#统计男女员工平均年龄
select gender,avg(age)from emp group by gender;

 

 

#查询年龄小于20的员工,并根据工作地址分组,获取员工数大于3的工作地址
select workpalace,count(*) from emp group by  workpalace having count(*)>3;

 

排序查询

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

asc:升序(默认)    desc:降序

多字段排序,当第一个字段值相同才会根据第二个字段排序

#根据年龄降序
select * from emp order by age desc ;

 

#g根据年龄对员工升序排序,年龄相同根据入职时间降序
select * from emp order by age ,entrydate desc ;

 


分页查询 

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

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

分页查询不同数据库有不同实现,MySQL是limit。

如果查询第一页。起始索引可省略,直接简写limit 每页记录数;

#查询第一页数据,每页展示10条
select * from emp limit 0,10;

#查询第二页数据,每页展示10条
select * from emp limit 10,10;

 

 DQL执行顺序

 1、from    2、where    3、group by    4、select   5、order by    6、limit   7、having

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

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

相关文章

Gogs - 一款极易搭建的自助 Git 服务

Gogs - 一款极易搭建的自助 Git 服务 1. 使用文档References Gogs https://gogs.io/ https://github.com/gogs/gogs Gogs (/gɑgz/) 项目旨在打造一个以最简便的方式搭建简单、稳定和可扩展的自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并…

基于SSM的NEUQ宿舍管理系统的设计与实现

基于SSM的NEUQ宿舍管理系统的设计与实现 获取源码——》公主号:计算机专业毕设大全 获取源码——》公主号:计算机专业毕设大全

【计算机网络实践】Cisco Packet Tracer局域网组网(FTP服务器通过交换机连接客户端)

本文为应对计算机网络第一次实验所写的预习报告 一、实验准备 一台装有Cisco Packet Tracer的PC机,一个大学生大脑。 二、了解FTP和Cisco Packet Tracer 具体内容可在百度搜索,在物理机上用FileZilla Server实现ftp可参看我前面的文章。Cisco Packet Tr…

C#绘制面形图

创建windows窗体应用 ,从工具箱添加Button和Panel using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Fo…

再仔细品品Elasticsearch的向量检索

我在es一开始有向量检索,就开始关注这方面内容了。特别是在8.X之后的版本,更是如此。我也已经把它应用在亿级的生产环境中,用于多模态检索和语义检索,以及RAG相关。 也做过很多的优化:ES 8.x 向量检索性能测试 & 把…

Vue3 上手笔记

1. Vue3简介 2020年9月18日,Vue.js发布版3.0版本,代号:One Piece(n 经历了:4800次提交、40个RFC、600次PR、300贡献者 官方发版地址:Release v3.0.0 One Piece vuejs/core 截止2023年10月,最…

网络行为管理系统招标模板

项目名称:网络行为管理系统招标 一、项目背景 随着信息技术的迅猛发展,网络安全和数据保护已成为企业和组织面临的关键挑战。为了确保网络环境的安全、合规,并实现对网络行为的有效管理和审计,我们特此启动网络行为管理系统的招…

Linux系统下——PS1、PS2、PS3、PS4变量详解

目录 前言 一、PS1变量 1.PS1变量详解 2.PS1变量可用参数 3.彩色提示符 二、PS2变量 三、PS3变量 1.不使用PS3变量 2.使用PS3变量 四、PS4变量 前言 在Linux系统中,PS1、PS2、PS3和PS4是特定的环境变量,它们各自在控制提示符和菜单提示信息…

【算法每日一练]

目录 今日知识点: 辗转相减法化下三角求行列式 组合数动态规划打表 约数个数等于质因数的次方1的乘积 求一个模数 将n个不同的球放入r个不同的盒子:f[i][j]f[i-1][j-1]f[i-1][j]*j 将n个不同的球放入r个相同的盒子:a[i][j]a[i-j][j]a[…

[AIGC] Redis基础命令集详细介绍

Redis是一个强大的开源的键-值存储系统,被广泛应用于各种应用程序中。在使用Redis时,我们需要掌握一些基本的Redis命令来操作存储在其上的数据。这篇文章将向你介绍一些基本的Redis命令,让你能够更好地使用和理解Redis。 文章目录 启动Redis…

手撕算法-删除有序数组中的重复项

描述 很简单,就是,遇到重复的,只留一个,保存在数组的左半边。如:[0,0,1,1,1,2,2,3,3,4]变为[0,1,2,3,4] 分析 使用双指针。slow指针代表没重复的数应该放置的位置,fast表示遍历的不重复数字的位置&…

C++中,数字以0开头,会默认八进制,不是十进制

代码1 以下代码&#xff1a; #include <iostream>using namespace std;int main(){uint8_t a 0101;int b (int)(a);cout<<b<<endl;}结果输出&#xff1a; 代码2 如果改为&#xff1a; #include <iostream>using namespace std;int main(){uint8_…

【新版】系统架构设计师 - 新版架构备考索引<附2023年11月原题回忆>

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 文章目录 架构 - 新版架构备考索引机考详情备考索引与方向&#xff08;个人观点&#xff0c;仅供参考&#xff09;总结附&#xff1a;2023年11月改版机试原题简单回忆 架构 - 新版架构备考索引 首先&#xff0c;此…

知识图表示学习中的负抽样研究综述

摘要 知识图表示学习(KGRL)或知识图嵌入(KGE)在知识构建和信息探索的人工智能应用中起着至关重要的作用。这些模型旨在将知识图中的实体和关系编码到低维向量空间中。在KGE模型的训练过程中&#xff0c;使用正样本和负样本是区分的必要条件。然而&#xff0c;直接从现有的知识…

Unity基础框架

公共模块 单例基类 如果有很多个这样的单例模式对象,创建他们时都要重复的写单例模式代码。那么能不能利用泛型来减少这部分重复的工作量呢。 单例模式基类,最简单的写法 继承MonoBehaviour的单例基类 所以需要做一些改进 获取单例时如果为空,创建一个名字一样的物体,挂…

如何在C语言中使用命令行参数

C语言文章更新目录 C语言学习资源汇总&#xff0c;史上最全面总结&#xff0c;没有之一 C/C学习资源&#xff08;百度云盘链接&#xff09; 计算机二级资料&#xff08;过级专用&#xff09; C语言学习路线&#xff08;从入门到实战&#xff09; 编写C语言程序的7个步骤和编程…

树的遍历方式DFS和BFS

DFS(depth first search) 深度优先遍历 从图中一个未访问的顶点V开始&#xff0c;沿着一条路一直走到底&#xff0c;然后从这条路尽头的节点回退到上一个节点&#xff0c;再从另一条路走到底…不断递归重复这个过程&#xff0c;直到所有的顶点都遍历完成。前序遍历&#xff0c…

高可用、逻辑保护、容灾、多活、妥协、流程

可用性三叉戟&#xff1a; 本地高可用性&#xff1a;消除单点故障&#xff0c;确保链路所有环节系统高可用 本地是指&#xff1a;针对生产中心的内部故障 故障类型&#xff1a;服务器、硬盘、适配器卡、网络 特点&#xff1a;快速恢复、自动的接管、实施简单 RPO-0 业务逻辑保护…

栈、队列——练习题

1. ✌有效的括号 代码实现&#xff1a; bool isValid(char* s) {char stack[10000];int top -1;while (*s) {if (*s ( || *s { || *s [) {stack[top] *s;} else {if (top -1) { // 栈空return false;}int top_val stack[top]; // 获取栈顶元素if (top_val ( &&…

遥感原理与应用—绪论

一、关于基本概念与对应的英文 遥感&#xff1a;Remote Sensing 遥测&#xff1a;Telemetry&#xff0c;对被测物体某些运动参数和性质进行远距离测量的技术&#xff0c;分为接触测量与非接触测量&#xff0c;对于RS的概念&#xff0c;遥测探测的目标显得狭隘了一些&#xff…