数据库单表 DML(增删改)和基本的DQL(查)操作语

DML语句:数据删除,数据增加,数据修改

数据增加:

             注意:当主键字段自增时,我们添加数据时,可以不写或写null

                        字符类型,必须加引号,其次非空字段必须添加数据,或者我们在建立表时设立默认值

-- insert into 表名(字段1,字段2,.....,字段n)    VALUES/VALUE(值,值....,值)

-- DML
-- 新增
-- insert into 表名(字段1,字段2,.....,字段n)
-- VALUES/VALUE(值,值....,值)--  日期 使用字符串的形式进行书写日期格式(yyyy-MM-dd HH:mm:ss)
-- 全字段的插入-- 方式一:
insert into student(sid,sname,birthday,ssex,classid)
VALUES(9,'张三','2007-1-1','男',1)-- 方式二:
insert into student VALUES(null,'齐齐','1789-1-1','女',2)
insert into student VALUES(DEFAULT,'齐齐','1789-1-1','女',2)-- 部分字段插入
insert into student (sname,ssex) VALUES('齐同学','女')alter table student MODIFY ssex VARCHAR(10) not null DEFAULT '保密';insert into student(sname) VALUES('陈伯源');
添加多条数据:insert into 表名(字段名...) values(值...),VALUES(值...),...
-- 一次性添加多条数据
-- 方式一:
-- insert into 表名(字段名...) values(值...),VALUES(值...),...
insert into student(sname,ssex) 
VALUES('丫丫','男'),
('阿特','男'),
('吉吉','男');-- 方式二  不常用
-- insert into SELECT
-- 插入和被插入的表都必须存在
create table newstu(xingming VARCHAR(10),xingbie VARCHAR(10),calssid int
);
insert into newstu(xingming,xingbie,calssid)
select sname,ssex,classid from student;-- 方式三
-- create table select
-- 要求被插入表不能存在  --  被插入表没有任何约束
create table stu1 
select sid,sname,birthday from student; 
修改数据:

             -- update 表名  set  字段名=值,字段名=值,....,字段名=值
                -- [where 子句条件]
                -- where 子句 中的条件是对表中每一条数据进行判断
                -- 判断成立该数据的父句执行,
                -- 判断不成立该数据的父句不执行

-- 修改
-- [where 子句条件]
-- where 子句 中的条件是对表中每一条数据进行判断
-- 判断成立该数据的父句执行,
-- 判断不成立该数据的父句不执行
update stu1 set birthday='1678-1-1 12:31:15' WHERE sname='齐同学';UPDATE newstu set calssid=2 where xingbie!='男';
UPDATE newstu set calssid=3 where xingbie<>'女';UPDATE newstu set xingbie='保密' where calssid<260;update newstu set xingbie='外星人'
where calssid>=200  and calssid <=300  ;update newstu set xingbie='水星人'
where calssid BETWEEN 30 and 90;-- 30 50 70  它们的性别变为地球人
update newstu set xingbie='地球人'
where calssid=30 or calssid=50 or calssid=70update newstu set xingbie='地球人'
where calssid in (30,50,70)

删除数据:

                -- 删除  :仅仅删除数据
                -- delete from 表名 [where 子句]

                注意:truncate和drop,以及delete的区别:

                -- delete 只删除数据
                -- truncate 不仅删除数据,还删除了索引
                -- drop :不仅删除数据,还删除索引,表结构也删了


DELETe from newstu;delete from stu1 where birthday is null;-- 清空表,截断
-- truncate 表名
TRUNCATE stu1;

DQL(数据查询语言)(单表查询):-- 所有的查询都会得到一张虚拟表,在内存中

简单查询:

        注意:利用* 全字段查询:先查字段名,再查,不利于SQL优化,效率低

-- 从表中获取数据
-- select 字段名,字段名 from student
-- 全字段查询
SELECT sid,sname,birthday,ssex,classid from student;
select * from student; -- 先查字段名,再查,不利于SQL优化,效率低-- 部分字段查询
select ssex,sname from student;-- 字段名起别名,as可写可不写,单引号也可省略
select sname as '学生姓名',ssex '学生性别',birthday 生日 from student;-- 添加一个字段
select sname,'猿究院' 学校 from student-- 带条件查询
-- 【where 子句】
SELECT * from student where sid=5;
SELECT * from student where sid<>5;
select * from student where sid>5;
select * from student where sid BETWEEN 3 and 6;-- 查找 1班的女同学
select * from student where classid=1 and ssex='女';
去重:所有字段的数据要一致才会去重
-- distinct 去重
-- 所有字段的数据要一致才会去重
SELECT distinct sname,ssex FROM student;
模糊查询:

        -- 模糊符号  %任意多的任意字符
        -- _ :一个任意字符

-- like  模糊查询
-- 模糊符号  %任意多的任意字符
-- _ :一个任意字符
select * from student where Sname like '%张%';
select * from student where Sname like '张%';
select * from student where Sname like '%张';select * from student where sname like '张_';
分组:group by:与having连用

having和where的区别:
-- where :过滤的是表中的每一条数据
-- havaing:过滤的是聚合之后的数据


-- 分组 group by ******-- 男女同学各有多少人
select ssex,count(*) from student GROUP BY ssex;-- 统计出各班有多少人
select classid,count(*) from student group by classid;-- 统计成绩表 统计每个同学的总分和平均分
select sid 学号,sum(score) 总分,avg(score) 平均分 from sc group by sid;-- 查询出平均分不及格的sid 平均分
select sid 学号,sum(score) 总分,avg(score) 平均分 from sc  
group by sid HAVING avg(score)<60;
-- 面试题:having和where的区别:
-- where :过滤的是表中的每一条数据
-- havaing:过滤的是聚合之后的数据
聚合函数:

-- 聚合函数
-- 把多个值变成一个值
-- count():统计个数
-- max():统计最大数
-- min():统计最小值
-- sum():总和
-- avg():平均值

-- 聚合函数
-- 把多个值变成一个值
-- count():统计个数
-- max():统计最大数
-- min():统计最小值
-- sum():总和
-- avg():平均值-- count(参数):不统计null
-- 参数:字段/常量/*
SELECT count(sid) from student;		-- 主键
SELECT count(classid) from student; -- 不统计nullSELECT count('a') from student; -- 不推荐
SELECT count(123) from student;	-- 推荐
SELECT count(*) from student;		-- 推荐-- sum,avg,min,max  数值类型
select sum(score) from sc;
SELECT avg(score) from sc;
select max(score) from sc;
select min(score) from sc;-- 统计出成绩表中一共有多少次考试,总成绩,平均分,最高分,最低分
select  count(DISTINCT Cid) 考试次数,sum(score) 总成绩,
avg(score) 平均分,max(score) 最高分,min(score)最低分   from sc
排序:

-- 先写先排
-- DESC:降序  必须写
-- asc :升序 或者不写(默认的)

-- order by  排序
-- 先写先排
-- DESC:降序  必须写
-- asc :升序 或者不写(默认的)
select * from student ORDER BY classid desc;
分页:

-- limit 分页 0 开始 (页码-1)*步长,步长
-- SELECT * from student LIMIT 位置,步长;

注意:sql语句不能写表达式,要写具体数值,所以由应用层解决此问题

-- limit 分页 0 开始 (页码-1)*步长,步长
-- SELECT * from student LIMIT 位置,步长;
select * from student limit 3,3;
-- 应用层解决,limit后面只能带具体数值,不能带表达式
-- select * from student limit (3-1)*3,3;  -- 错误的-- 找到成绩及格的总分数排名第二的sid和总成绩
select sid,sum(score) from sc where score>=60 GROUP BY Sid ORDER BY sum(score) DESC LIMIT 1,1;
特殊字符:
-- in 在某个特定的范围
-- 3,5,7,9
select * from student where sid in(3,5,7,9); -- 推荐使用  可以是使用到索引-- or 不推荐 会让索引失效-- null的查询
select * from student where birthday is null;
select * from student where birthday is not null;

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

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

相关文章

【状语从句】

框架 概念&#xff0c;特点主将从现连接词时间条件地点结果方式让步原因目的比较省略倒装 解读 1【概念&#xff0c;特点】 一个完整的句子&#xff0c;去修饰另一个完整句子中的动词&#xff0c;称为状语从句&#xff1b;特点&#xff1a;从句完整&#xff0c;只用考虑连接词是…

Git远程仓库推送

这里我只连接了两个站点的远程仓库&#xff0c;一个是国内的Gitee&#xff0c;另一个是Github&#xff0c;这两个站点的连接方式主要有两种&#xff0c;第一种就是通过https来连接远程仓库&#xff0c;另一种是通过ssh公钥来连接&#xff0c;这两个站点练接的大致过程都是一样的…

Acrel-1000DP分布式光伏监控系统在江苏盛佳德新材料有限公司4.03MW分布式光伏10KV并网系统的应用

安科瑞戴婷 Acrel-Fanny 摘要&#xff1a;随着我国社会的不断进步,经济得到迅速的发展,城市化进程也逐渐加快。城市电力配电网络的供电压力逐渐增加,传统的发电技术已经不再适用于目前城市电力配电的发展现状。传统发电技术电力转化的效率比较低,对空气的污染也比较大,不利于城…

2024.7.29 刷题总结

2024.7.29 **每日一题** 682.棒球比赛&#xff0c;这道题是一道简单的模拟题&#xff0c;用栈模拟题中的四个操作就可以了&#xff0c;操作一是将x加到列表末尾&#xff0c;操作二是将列表的后两项之和加到列表末尾&#xff0c;操作三是把列表最后一项的两倍加到列表末尾&#…

如何使用大语言模型绘制专业图表

过去的一年里&#xff0c;我相信大部分人都已经看到了大语言模型(后文简称LLM)所具备的自然语言理解和文本生成的能力&#xff0c;还有很多人将其应用于日常工作中&#xff0c;比如文案写作、资料查询、代码生成……今天我要向大家介绍LLM的一种新使用方式——绘图。这里说的绘…

SpringBoot整合PowerJob 实现远程任务

PowerJob介绍 PowerJob 是全新一代分布式任务调度和计算框架&#xff0c;提供了可视化界面&#xff0c;可通过单机、远程等形式调用任务并提供了运行监控和日志查看的功能模块&#xff0c;是当前比较流行的分布式定时任务框架之一&#xff1b; PowerJob 官网文档地址 环境搭建…

DC系列靶场---DC 3靶场的渗透测试(一)

信息收集 Nmap扫描 nmap -sS -sV -T4 -p- -O 172.30.1.142//-sS TCP的SYN扫描 //-sV 服务版本检测 //-T4 野蛮的扫描&#xff08;常用&#xff09; //-O 识别操作系统 使用Nmap扫描只看到一个80端口&#xff0c;Apache的2.4.18版本。 http探测 使用Wappalyzer插件可以到…

OSMDroidOfflineDemo源码调试记录

文章目录 源码下载环境配置尝试不同离线加载遇到的问题 尝试安卓端加载离线地图&#xff0c;下载了使用osmdroid的离线版项目源码&#xff0c;更改JDK环境、gradle环境&#xff0c;一顿操作下来&#xff0c;踉踉跄跄的把程序跑起来了&#xff0c;但是离线的地图一直加载不出来。…

机器人笛卡尔空间阻抗控制

机器人笛卡尔空间阻抗控制是一种重要的机器人控制策略,它关注于机器人末端执行器在笛卡尔空间(即任务空间)内的动态特性,以实现与环境的柔顺交互。以下是对机器人笛卡尔空间阻抗控制的详细解释: 一、基本概念 笛卡尔空间:指机器人末端执行器(如手爪、工具等)所处的三维…

C++:了解谓词predicate

什么是谓词predicate 在C中&#xff0c;谓词是指可以作为函数参数&#xff0c;并且返回值类型为bool型的函数对象、Lambda表达式、普通函数或函数指针。谓词通常用于算法中&#xff0c;对序列中的元素进行某种测试&#xff0c;返回一个布尔类型的测试结果&#xff0c;根据不同…

QT基础教程(QEvent事件和事件过滤器)

文章目录 前言一、具体介绍二、具体案例1.鼠标事件2.键盘事件3.窗口事件 三、事件过滤器事件过滤器的工作原理 总结 前言 本篇文章将带大家来学习QT中的QEvent事件&#xff0c;QEvent 是 Qt 框架中的一个核心类&#xff0c;用于处理各种事件。在 Qt 的事件处理系统中&#xff…

C++学习日记 | LAB 10 运算符重载与友元函数

资料来源&#xff1a;南科大 于仕琪 C/C Program Design LINK&#xff1a;CPP/week10 at main ShiqiYu/CPP GitHub 一、本节内容 本节首先以一个例子具体演示和回顾操作符重载、友元函数以及重载<<操作符。习题部分则为各种运算符重载以及输入输出重载 1.1 Operator o…

nginx 版本升级

Nginx 的版本最开始使用的是 Nginx-1.18.0 &#xff0c; 由于服务升级&#xff0c;需要将 Nginx 的版本升级到 Nginx-1.19.7 &#xff0c;要求 Nginx 不能中断提供服务。 为了应对上述的需求&#xff0c;提供两种解决方案&#xff1a; 方案1&#xff1a; make upgrade 完成升…

包装类和泛型

&#x1f389;欢迎大家收看&#xff0c;请多多支持&#x1f339; &#x1f970;关注小哇&#xff0c;和我一起成长&#x1f680;个人主页&#x1f680; 包装类&#x1f319; Java中每个基本数据类型都对应了一个包装类&#xff0c; 除了int的包装类是Integer&#xff0c;char…

STM32项目分享:智能风扇系统

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 PCB图 五、程序设计 六、实验效果 七、资料内容 项目分享 一、前言 项目成品图片&#xff1a; 哔哩哔哩视频链接&#xff1a; https://www.bilibili.com/video/BV1xw4m1Y7sA…

详解 @RequestHeader 注解在 Spring Boot 中的使用

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119@qq.com] 📱个人微信:15279484656 🌐个人导航网站:www.forff.top 💡座右铭:总有人要赢。为什么不能是我呢? 专栏导…

springboot鲜花商城平台-计算机毕业设计源码56085

基于微信小程序的鲜花商城平台设计与实现 摘 要 鲜花商城小程序的研究旨在设计和开发一个方便、快捷的移动应用平台&#xff0c;为用户提供鲜花购买、资讯浏览和社交互动等功能。该研究包括以下几个方面的内容&#xff1a;首先&#xff0c;通过调研和分析鲜花市场和用户需求&a…

【你也能从零基础学会网站开发】 SQL结构化查询语言应用基础--DDL篇--SQL Server数据库开发之ALTER TABLE修改表语句使用详解

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;程序猿、设计师、技术分享 &#x1f40b; 希望大家多多支持, 我们一起学习和进步&#xff01; &#x1f3c5; 欢迎评论 ❤️点赞&#x1f4ac;评论 &#x1f4c2;收藏 &#x1f4c2;加关注 ALTER TABLE 语…

MySQL学习(数据库操作,约束)

数据库知识点&#xff1a; 数据库的创建&#xff0c;删除&#xff0c;表的创建&#xff0c;删除&#xff0c;以及约束 1.为什么学习数据库&#xff1a; 数据的保存&#xff0c;读取&#xff0c;完整性&#xff0c;安全性。 数据库结构化&#xff0c;共享性&#xff0c;独立…

Docker NameSpace隔离

1、dd命令&#xff1a;dd 可从标准输入或文件中读取数据&#xff0c;根据指定的格式来转换数据&#xff0c;再输出到文件、设 备或标准输出 功能&#xff1a;用于读取、转换并输出数据 语法&#xff1a;dd OPTION 参数 1、 if文件名&#xff1a;输入文件名&#xff0c;默认为…