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

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

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

相关文章

【PyQt】19-数据操作

数据表 前言一、显示二维表数据(QTableView控件)扩展知识---MVC模式1.1 代码1.2 运行结果 二、显示列数据(QListView控件)2.1 代码2.2 运行结果2.3 扩展---列表控件(QListWidget)运行结果 总结 前言 一、显…

STM32使用滴答定时器实现delayms

在STM32上使用SysTick实现jiffies(时间戳)并且实现delay_ms 代码实现: volatile uint32_t jiffies 0; // 用于记录系统运行的jiffies数 void SysTick_Handler(void) {/* 每次SysTick中断,jiffies增加 */jiffies; }uint32_t tick…

网络安全新前沿:利用大模型进行复杂威胁检测与响应

1. 背景介绍# 网络安全新前沿:利用大模型进行复杂威胁检测与响应 1. 背景介绍 随着互联网的普及和信息技术的飞速发展,网络安全问题日益突出。传统的网络安全防御手段,如防火墙、入侵检测系统(IDS)和防病毒软件&…

Python Flask 使用数据库

pip install flask_sqlalchemy 官方文档: Flask-SQLAlchemy — Flask-SQLAlchemy Documentation (3.1.x) 为了不报错 也 需要导入另外两个库 # pip install flask_sqlalchemy # pip install mysqlclient 完整代码 import osfrom flask import Flask from flask_…

【生产力】VSCode 插件 Draw.io Integration

Henning Dieterichs制作的Draw.io Integration插件是一个为Visual Studio Code(VSCode)用户设计的扩展,它将流行的在线图表编辑器Draw.io的功能直接集成到VSCode编辑器中。这个插件使得用户能够在编写代码的同时创建、编辑和维护图表和流程图…

unity无法使用道路生成插件Road Architect(ctrl和shift无法标点)

切换一下布局就行了。 附:Road Architect教学地址

VUE3v-text、v-html、:style的理解

在Vue 3中,v-text、v-html和:style是三个常用的指令,它们各自具有不同的功能和用途。 v-text: v-text用于操作元素中的纯文本内容。它接受一个表达式,并将该表达式的值设置为元素的文本内容。如果元素原本有文本内容&#xff0c…

游戏引擎中的地形系统

一、地形的几何 1.1 高度图 记录不同定点的高度,对每个网格/顶点应用高度、材质等信息,我们每个顶点可以根据高度改变位移 但是这种方法是不适用于开放世界的。很难直接画出几百万公里的场景 1.2 自适应网格细分 当fov越来越窄的时候,网格…

MySQL:数据库的约束与表设计的简要理念

目录 7. 数据库的约束7.1 NOT NULL7.2 UNIQUE7.3 DEFAULT7.4 PRIMARY KEY7.5 FOREIGN KEY7.6 CHECK 8. 表的设计8.1 设计表的通用步骤8.2 实体之间的关系 7. 数据库的约束 约束可以理解成,数据库提供的一种针对数据的合法性验证的机制,数据库中经常会涉…

JavaEE企业级分布式高级架构师课程

教程介绍 本课程主要面向1-5年及以上工作经验的Java工程师,大纲由IT界知名大牛 — 廖雪峰老师亲自打造,由来自一线大型互联网公司架构师、技术总监授课,内容涵盖深入spring5设计模式/高级web MVC开发/高级数据库设计与开发/高级响应式web开发…

深度学习pytorch——GPU加速(持续更新)

使用 .to(device),以前使用 .cuda() ,但是现在基本不使用了。 代码示例: 查看电脑GPU运行情况: 使用Ctrl Shift ESC快捷键:

24计算机考研调剂 | 广西科技大学

广西科技大学算机科学与技术专业接受调剂 考研调剂招生信息 学校:广西科技大学 专业:工学->计算机科学与技术 年级:2024 招生人数:10 招生状态:正在招生中 联系方式:********* (为保护个人隐私,联系方式仅限APP查看) 补充内容 我院 0812 计算机科学与技术专业接受调…

目标检测上的diffusion

1 Title DiffusionDet: Diffusion Model for Object Detection(Shoufa Chen,Peize Sun,Yibing Song,Ping Luo)【ICCV 2023】 2 Conclusion This study proposes DiffusionDet, a new framework that formulates object detection as a denoisin…

吴恩达2022机器学习专项课程(一) 3.3 成本函数的公式

问题预览 模型的参数(w和b)有什么作用?不同的w和b对线性回归模型有什么影响?训练集里的y和线性回归模型预测的y(y帽)的区别是什么?成本函数的作用是什么?成本函数的公式是什么&…

政安晨:【深度学习实践】【使用 TensorFlow 和 Keras 为结构化数据构建和训练神经网络】(六)—— 二元分类

政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras机器学习实战演绎 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! 这篇文章咱们将深度学习应用到另一个常见任务…

【C语言题解】编写题解 1681: 数据结构-行编辑程序

原题链接数据结构-行编辑程序 - C语言网 (dotcpp.com) #include <stdio.h> #include <malloc.h> #define Elemetype char typedef struct SNode{int Data[1000];int Top; }*Stack,SNode; void Push (Stack,Elemetype); int Pop(Stack,Elemetype*); int TopStack(S…

STM32学习笔记(6_1)- TIM定时器定时功能原理

无人问津也好&#xff0c;技不如人也罢&#xff0c;都应静下心来&#xff0c;去做该做的事。 最近在学STM32&#xff0c;所以也开贴记录一下主要内容&#xff0c;省的过目即忘。视频教程为江科大&#xff08;改名江协科技&#xff09;&#xff0c;网站jiangxiekeji.com 现在开…

(ES6)前端八股文修炼Day2

1. let const var 的区别 var&#xff1a; var 是在 ES5 中引入的声明变量的关键字。 具有函数作用域&#xff0c;而不是块作用域&#xff0c;这意味着使用 var 声明的变量在函数内部是可见的。 变量可以被重复声明&#xff0c;而且变量的值可以在声明前使用&#xff0c;这可能…

jmeter链路压测

比如登录后返回token&#xff0c;业务打印上传的操作需要用到token 线程组中添加登录请求&#xff0c;并执行 1、添加登录并执行&#xff0c;查看结果 2、结果树中下拉选择正则表达式&#xff0c;将token参数和值复制粘贴到下方&#xff0c;将token值改为(.*?)&#xff0…

【Nebula笔记】简介及安装

目录 一、简介 (一) 什么是图数据库 二、安装 (一) 原生安装 (二) Docker & Docker compose 1. Docker安装 Linux Window 2. 部署NebulaGraph (三) to MAC 三、Nebula Graph Studio (一) 版本兼容性 (二) 原生安装 (三) Docker compose (四) 连接Nebula Gra…