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

news2024/9/9 0:04:21

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=70

update 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; -- 不统计null

SELECT 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.coloradmin.cn/o/1958010.html

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

相关文章

虚假的互联网信息?不妨从IT的角度理解【景观社会】

博主前言&#xff1a;“我思故我在”&#xff0c;笛卡尔的这一哲学命题&#xff0c;大抵上次还比较熟络的时光还是高中亦或复习考研政治的岁月里。这是一个光怪陆离的社会——或者说网络社会&#xff0c;形形色色的消息充斥在脑海之时&#xff0c;你是否还能认识真正的自己&…

3.2.微调

微调 ​ 对于一些样本数量有限的数据集&#xff0c;如果使用较大的模型&#xff0c;可能很快过拟合&#xff0c;较小的模型可能效果不好。这个问题的一个解决方案是收集更多数据&#xff0c;但其实在很多情况下这是很难做到的。 ​ 另一种方法就是迁移学习(transfer learning…

window长时间不关机,卡顿处理方法

window使用一短时间非常卡&#xff0c;快速处理办法如下&#xff1a; 1、windowR 输入%temp% 手动删除临时目录文件。 2、windowR输入cleanmgr 磁盘清理 3、恶意软件删除工具 删除流行恶意软件。

What Is RPC(Remote Procedure Call,远程过程调用)

RPC&#xff08;Remote Procedure Call&#xff0c;远程过程调用&#xff09;是一种计算机通信协议&#xff0c;它允许一个计算机程序通过网络调用另一个计算机程序中的子程序&#xff08;也就是远程过程&#xff09;&#xff0c;并获取返回值。RPC服务是分布式计算的重要基础&…

面向对象程序设计(C++)模版初阶

1. 函数模版 1.1 函数模版概念 函数模板代表了一个函数家族&#xff0c;该函数模板与类型无关&#xff0c;在使用时被参数化&#xff0c;根据实参类型产生函数的特定类型版本&#xff0c;可以类比函数参数&#xff0c;函数模版就是将函数参数替换为特定类型版本 1.2 函数模版格…

mlp与attention的计算时间复杂度分别为多少?PAtchtst为啥patch后为啥attention计算量降低?

感谢分享 看这篇博客的时候&#xff0c;因为patch后做了一个fc的映射&#xff0c;也是有计算的消耗嘛&#xff0c;好奇为什么说patchtst能够减小“注意力图的内存使用和计算复杂度减少了S倍&#xff0c;从而在计算资源有限的情况下允许模型查看更长的历史序列。“ 所以思考了一…

【时时三省】(C语言基础)循环语句while(2)

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ——csdn时时三省 getchar和scanf的作用 示例: int main ( ) &#xff5b; char password[20] ( 0 ) ; printf ( "请输入密码&#xff1a;> " )&#xff1b; scanf ( " &#xff05;s…

Redis:未授权访问

Redis Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的高性能键值对&#xff08;key-value&#xff09;数据库&#xff0c;支持多种类型的数据结构。 核心特性 内存存储&#xff1a;Redis将所有数据存储在内存中&#xff0c;能够提供极高的读写性能。 …

jumpserver web资源--远程应用发布机

1、环境 jumpserver:3.10.10 远程发布机&#xff1a;windows 2019 2、windows 2019准备 保证windows 正常登录&#xff0c;并且可以访问jumpserver 3、添加远程发布机 能正常连接就继续 可看到这里正常了 4、添加web资源 找到我们需要自动登录界面 获取相关元素选…

独立3D网络游戏《战域重甲》开发与上架经验分享

“ 小编阿麟&#xff1a;心之所向便是光&#xff0c;我们都是追光者!这位独立游戏开发者的产品能力已经不输给许多小团队&#xff0c;希望他的故事和经验分享&#xff0c;可以给走在同样道路上的朋友一些信心和帮助。 背景介绍 2023年年底的时候&#xff0c;我突然有一个很强的…

OpenGL3.3_C++_Windows(32)

demo SSAO SSAO 环境光照(Ambient Lighting)&#xff1a;光的散射&#xff0c;我们通过一个固定的常量作为环境光的模拟&#xff0c;但是这种固定的环境光并不能很好模拟散射&#xff0c;因为环境光不是一成不变的&#xff0c;环境光遮蔽&#xff1a;让&#xff08;褶皱、孔洞…

Qt Designer,仿作一个ui界面的练习(一):界面的基本布局

初学不要太复杂&#xff0c;先做一个结构简单的&#xff0c;大致规划一下功能分区&#xff0c;绘制草图&#xff1a; 最终的效果&#xff1a; 界面主要由顶边栏、侧边栏、内容区构成。顶边栏左边是logo&#xff0c;右边是时钟显示。侧边栏最上边是切换按钮&#xff0c;用以动画…

Notcoin 即将空投:你需要知道什么

Notcoin 于 2024 年 1 月推出&#xff0c;是 Telegram 上的一款边玩边赚游戏&#xff0c;用户可以通过点击硬币图标获得 Notcoin 代币 (NOT) 形式的奖励。NOT 建立在开放网络区块链&#xff08;称为“TON 区块链”&#xff09;上&#xff0c;由 Open Builders 创始人 Sasha Plo…

鸿蒙配置Version版本号,并获取其值

app.json5中配置版本号&#xff1a; 获取版本号&#xff1a; bundleManager.getBundleInfoForSelf(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION).then((bundleInfo) > {let versionName bundleInfo.versionName; //应用版本号}).catch((error: BusinessE…

基于web的跨校区通勤车班次规划系统/校车管理系统

获取源码联系方式请查看文章结尾&#x1f345; 摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而…

STM32项目分享:智能台灯(机智云)系统

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

常见的CSS属性(一)——字体、文本、边框、内边距、外边距、背景、行高、圆角、透明度、颜色值

一、字体 二、文本 三、边框 四、外边距 五、内边距 六、背景 七、行高 八、圆角 九、透明度 九、颜色值 元素的继承性是指给父元素设置了某些属性&#xff0c;子元素或后代元素也会有作用。 一、字体 “font-*”是字体相关的属性&#xff0c;具有继承性。代码如下&a…

长上下文语言模型与RAPTOR 方法

在科技领域的前沿&#xff0c;长上下文语言模型&#xff08;Long Context LLMs&#xff09;和新兴检索方法如RAPTOR 正在引发广泛关注。本文将围绕这些技术展开讨论&#xff0c;并探讨它们在实际应用中的创新性和科技性。 长上下文语言模型的崛起 近几周来&#xff0c;随着新型…

基于 SSM 的汽车租赁系统

基于 SSM 的电器网上订购系统 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;Spring、JSP、MyBatis 工具&#xff1a;MyEclipse/IDEA、Tomcat 引言 汽车租赁是在约定时间内&#xff0c;租赁经营人将租赁汽车&#xff08;包括载货汽车和载客汽车&#x…

前端在浏览器总报错,且获取请求头中token的值为null

前端请求总是失败说受跨域请求影响&#xff0c;但前后端配置已经没有问题了&#xff0c;如下&#xff1a; package com.example.shop_manage_sys.config;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Conf…