DML的原理:一篇文章让你豁然开朗

推荐阅读

给软件行业带来了春天——揭秘Spring究竟是何方神圣(一)
给软件行业带来了春天——揭秘Spring究竟是何方神圣(二)


文章目录

  • 推荐阅读
      • DML 数据操纵语言
          • INSERT语句
          • UPDATE语句
          • DELETE语句
          • SELECT语句


DML 数据操纵语言

DML是对表中数据进行的操作。
DML伴随事务控制(TCL)
也包含操作,增删改等基本操作。

INSERT语句

INSERT 语句向表中插入数据。

INSERT INTO K(id,name) VALUES(1,'bob')

image.png

在执行时,发现没有权限。
那么可以登录管理员账户执行一下语句。需要什么权限,执行相应的语句即可。

test只是测试名,添加你自己的用户名即可

grant connect, resource to test;
grant create any sequence to test;
grant delete any table to test;
grant create any table to test;
grant delete any table to test;
grant insert any table to test;
grant select any table to test;
grant unlimited tablespace to test;
grant execute any procedure to test;
grant update any table to test;
grant create any view to test;

执行后即可。
简单查看插入数据。SELECT*FROM K。
image.png

查看资料,这次添加数据只是添加到缓存中了,自己选择查看有点类似于预览的意思。如果需要别人也查看自己添加的数据,需要点击提交,或者commit一下,这样同伴连上数据库中也可看到自己添加的数据了。

插入日期时,需要考虑一下日期格式。

INSERT INTO K(id,name,birth)
VALUES(10,'Alice','03-Apr-22')
地区之间存在差异,容易报错。

INSERT INTO K (id,name,birth)
VALUES(3,'VC',TO_DATE('2022-12-31'),'YYYY-MM-DD')

image.png

UPDATE语句

update语句修改表中数据。
uodate语句修改时最好使用where添加过滤条件,只有满足条件的记录才会进行修改,否则全表所有数据都修改。

UPDATE K set uname='dd' WHERE name='bob'

修改多个字段
UPDATE K SET uname='mm',id=2 WHERE name='c'

image.png

DELETE语句

删除表中数据,删除数据通常也要添加where语句来限定要删除数据的条件,否则就是清空表操作。
添加限定条件后,将会删除符合该条件的所有行。

DELETE FROM K
WHERE name='c'

image.png

SELECT语句

select语句,用于查询表中数据。
SELECT 子句后面跟的是要查询的字段,可以包括表中的而具体字段,函数或者表达式。
FROM子句用来指定数据来源的表
WHERE子句用来添加过滤条件,这样做的结果是只将满足条件的记录查询出来。

SELECT name FROM K
SELECT name,id FROM K
SELECT name,id*3 FROM K

字符串函数
CONCAT()函数,用来连接字符串。一次性只能连接一个。

SELECT CONCAT(name,id)FROM K


拼接多个字符串

SELECT CONCAT(CONCAT(name,','),id) FROM K


另一种连接字符串的方式。

SELECT name||','||id

image.pngimage.png

LENGTH函数,查看字符串长度

SELECT name,LENGTH(name)FROM K

UPPER,LOWER,INITCAP
将字符串转换成全大写,全小写,以及首字母大写,
对于INITCAP而言,可以使用空格,隔开多个单词,那每个单词首字母都会大写。

伪表 :dual
当查询的内容不和任何表中数据有关系时,可以使用伪表,伪表只会查询一条记录。

SELECT UPPER('hello'),
LOWER('Helloword'),
INITCAP('HEELO'),
INITCAP('HELLO WORD')
FROM dual

image.png

TRIM,LTRIM,RTRIM
去除当前字符串中的两边的指定重复字符,LTRIM仅去除左侧的,RTRIM仅去除右侧的。

SELECT TRIM('e' FROM 'ebabecce')FROM dual

image.png

SELECT LTRIM('ebebecce','eb')FROM dual

image.png

LPAD ,RPAD补位函数
LPAD,左补位函数
RPAD,右补位函数

SELECT LPAD(id,4,'*')FROM K
SELECT RPAD(id,4,'$')FROM K

image.png

SUBSTR截取字符串
第三个参数不指定,则从指定字符截取到末尾.
指定长度如果超过实际可以截取的内容也是截取到末尾。
第二个参数时,如果截取的位置为负数,则表示从倒数第几个字符开始截取。

数据库中的下标都是从1开始。

SELECT SUBSTR('thinking in java',13,4)FROM dual

SELECT SUBSTR('thinking in java',-4,4)FROM dual

image.pngimage.png

INSTR(char1,cahr2,n,m)函数
查找char2在char1中的位置,n为从第几个字符开始检索,m为第几次出现,不写都默认为1.

SELECT INSTR('thinking in java','in')FROM dual//3

SELECT INSTR('thinking','in',4,1)FROM dual//6

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入了解Yum:Linux系统的软件包管理利器

目录 软件包 软件包的来源 关于yum yum是什么 yum的相关操作 介绍rzsz rz(从Windows本地传到Linux服务器) sz(从Linux服务器传到Windows本地) 注意事项 查看软件包 安装软件 卸载软件 yum的本地配置 为什么要进行配置…

UDP/TCP协议特点

1.前置知识 定义应用层协议 1.确定客户端和服务端要传递哪些信息 2.约定传输格式 网络上传输的一般是二进制数据/字符串 结构化数据转二进制/字符串 称为序列化 反之称之为反序列化 下面就是传输层了 在TCP/IP协议中,我们以 目的端口,目的IP 源端口 源IP 协议号这样一个五…

蓝桥杯-常用STL(一)

常用STL 🎈1.动态数组🎈2.vector的基础使用🔭2.1引入库🔭2.2构造一个动态数组🔭2.3插入元素🔭2.4获取长度并且访问元素🔭2.5修改元素🔭2.6删除元素🔭2.7清空 &#x1f38…

Redis核心技术与实战【学习笔记】 - 8.Redis 时间序列数据处理

在做 web 产品是,都会有这么一个需求: 记录用户在网站或 APP 上的点击行为数据,来分析用户行为。这里的数据一般包括用户 ID、行为类型(如浏览、登录、下单等)、行为发生的时间戳。 userID, type, timeStamp 与之类似&…

Prometheus的pod部署

创建命名空间和账户以及集群账户 kubectl create ns monitor-sa kubectl create serviceaccount monitor -n monitor-sa kubectl create clusterrolebinding monitor-clusterrolebinding -n monitor-sa --clusterrolecluster-admin --serviceaccountmonitor-sa:monitor 创建…

视网膜长尾数据

视网膜长尾数据 问题:视网膜疾病分类,解法:深度学习模型问题:数据复杂性处理,解法:多任务框架(同时处理多种疾病)和少量样本学习(提高对罕见疾病的识别)问题&…

找不到MSVCR120.dll,缺失MSVCR120.dll的多种解决方法

当计算机系统在运行过程中无法找到MSVCR120.dll这个特定的动态链接库文件时,可能会引发一系列问题和异常情况。首先,这可能导致某些应用程序无法正常启动或运行,因为MSVCR120.dll是许多基于Microsoft Visual C编译的应用程序所必需的核心组件…

Inventor 2024下载安装教程,免费使用,附安装包和工具,流程简单,小白也能轻松搞定

前言 Inventor是一款专业的三维可视化实体建模软件,Inventor.主要用于各类二维机械制图、三维制图的设计和开发等操作,可以广泛地应用于零件设计、钣金设计、装配设计等领域。 准备工作 1、Win7及以上系统 2、提前准备好 Inventor 2024 安装包 没有…

开源项目TARZAN-NAV | 基于springboot的现代化导航网站系统

TARZAN-NAV 导航网站 一个基于 Spring Boot、MyBatis-Plus、h2database、ehcache、Docker、websocket等技术栈实现的导航网站系统,采用主流的互联网技术架构、全新的UI设计、支持一键源码部署,拥有完整的仪表板、导航管理,用户管理、评论管理…

产品经理的发展方向是什么?市场需求现状如何?未来有哪些趋势?作为产品经理应该如何准备?

目录 了解产品经理的发展方向 市场需求现状 未来有那些趋势? 作为产品经理应该作何准备? 了解产品经理的发展方向 市场需求现状 未来有那些趋势? 个人软件 :智能终端,轻量化应用,虚拟社交等企业软件&#xff1a…

JAVA双列集合Map的特点

一次存一对元素,分别是 键 和 值,他们是一 一对应的:其中:键不可以重复,值可以重复这一对数据叫键值对、键值对对象、或 Entry Map 的体系结构: Map的常见API: 方式的实现:注意 Map …

ElasticSearch7.7.1集群搭建 Kibana安装

前言 Elasticsearch(ES)是一个基于Apache Lucene的分布式、高扩展、近实时的搜索引擎,主要用于海量数据快速存储、实时检索、高效分析的场景。通过简单易用的RESTful API,Elasticsearch隐藏了Lucene的复杂性,使得全文搜…

86.网游逆向分析与插件开发-物品使用-物品丢弃的逆向分析与C++代码的封装

内容参考于:易道云信息技术研究院VIP课 上一个内容:物品使用的逆向分析与C代码的封装-CSDN博客 码云地址(ui显示角色数据 分支):https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号:7563f86877c…

JVM-类的生命周期

类的生命周期概述 类的生命周期描述了一个类加载、使用、卸载的整个过程。整体可以分为: 加载 连接,其中又分为验证、准备、解析三个子阶段 初始化 使用 卸载 加载阶段 加载(Loading)阶段第一步是类加载器根据类的全限定名通过不同的渠道以二进制流的方…

c++|类和对象(下)

一、再谈构造函数 1.1初始化列表 在上一章节中,对于类我们可以形象的比喻为房子的图纸,而真正对于类的初始化可以比喻为建造了一个实体房子,即创建对象,对于房子中的各个房间都有特定的位置构造,那么对于类中的成员变…

一张图搞清楚HTTP状态码

HTTP状态码的基本概念 在客户端和服务器连接交互的时候,一般是客户端先给服务器发送请求,然后服务器返回结果。客户端和服务器之间的交互非常频繁,涉及到很多种不同类型的操作,大多数的时候服务器能成功返回结果,有时…

DC-磁盘配额(23国赛真题)

2023全国职业院校技能大赛网络系统管理赛项–模块B:服务部署(WindowServer2022) 文章目录 DC-磁盘配额题目配置步骤验证查看DC2驱动器C:\的磁盘配额,限制磁盘空间,警告等级等配置 DC-磁盘配额 题目 在DC2驱动器C:\上…

全新魅思V20正规视频影视系统源码/APP+H5视频影视源码

全新魅思V20正规视频影视系统源码,APPH5视频影视源码。会员花费三千购入的,具体搭建教程放压缩包了! 有兴趣的下载自行研究吧,搭建一共要用到3个域名,可以拿二级域名搭建。

PMP重考流程与费用

很多参加PMP考试的考生都经历过辛勤的学习过程,特别是那些在毕业几年后才开始备考的人。对大多数人来说,PMP考试都是一项艰难的任务。尽管PMP考试的平均通过率超过90%,但仍然有些人无法在首次尝试中通过考试。那么,如果一次没有通…

Linux ---- Shell编程之正则表达式

一、正则表达式 ​ 由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能,类似于增强版的通配符功能,但与通配符不同,通配符功能是用…