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

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

DML 数据操纵语言

DML是对表中数据进行的操作。

DML伴随事务控制(TCL)

也包含操作,增删改等基本操作。


INSERT语句

INSERT 语句向表中插入数据。

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

在执行时,发现没有权限。

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

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。

查看资料,这次添加数据只是添加到缓存中了,自己选择查看有点类似于预览的意思。如果需要别人也查看自己添加的数据,需要点击提交,或者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')

UPDATE语句

update语句修改表中数据。

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

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

DELETE语句

删除表中数据,删除数据通常也要添加where语句来限定要删除数据的条件,否则就是清空表操作。

添加限定条件后,将会删除符合该条件的所有行。

DELETE FROM K
WHERE name='c'

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

LENGTH函数,查看字符串长度

SELECT name,LENGTH(name)FROM K

UPPER,LOWER,INITCAP

将字符串转换成全大写,全小写,以及首字母大写,

对于INITCAP而言,可以使用空格,隔开多个单词,那每个单词首字母都会大写。

伪表 :dual

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

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

TRIM,LTRIM,RTRIM

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

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

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

LPAD ,RPAD补位函数

LPAD,左补位函数

RPAD,右补位函数

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

SUBSTR截取字符串

第三个参数不指定,则从指定字符截取到末尾.

指定长度如果超过实际可以截取的内容也是截取到末尾。

第二个参数时,如果截取的位置为负数,则表示从倒数第几个字符开始截取。

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

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

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
目录
相关文章
掌握销售之道:深入学习ERP系统的销售与客户关系管理模块
掌握销售之道:深入学习ERP系统的销售与客户关系管理模块
900 8
|
网络协议 安全 容灾
【华为HCIP | 高级网络工程师】刷题日记(2)
【华为HCIP | 高级网络工程师】刷题日记(2)
1589 0
|
Java 关系型数据库 数据库连接
Idea使用Mybatis Generator 自动生成代码
(1)创建一个maven工程 (2)配置pom文件 mysql mysql-connector-java 5.
3146 0
|
机器学习/深度学习 Python
弹性网(Elastic Net)正则化
弹性网(Elastic Net)正则化
|
12月前
|
搜索推荐 安全
如果您干不动跨境外贸独立站,可以来看看反向海淘代购模式
反向海淘代购模式是指海外消费者通过国内电商平台购买中国商品,再由代购方负责采购、质检、包装和国际运输。该模式商品丰富、价格竞争力强,能满足个性化需求,但也面临物流成本高、海关政策复杂等挑战。
|
持续交付 Python
解决Python执行命令时路径空格引发的困扰
在Python编程中,执行含空格的系统路径可能导致命令执行失败。本文介绍了三种解决方法:1) 使用引号包裹路径;2) 转义空格字符;3) 利用`os`模块的`normpath`或`join`处理路径。推荐使用`subprocess`模块以获得更精确的命令控制。最佳实践包括避免路径空格、使用`os.path.join()`构建路径及充分测试。
|
关系型数据库 MySQL C语言
cmake编译问题解决
<p><br></p> <p></p> <p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; font-family:Arial; font-size:14px; line-height:26px"> <strong>2 安装cmake软件包</strong><br> yu
31131 0
|
存储 缓存 算法
缓存大作战:强缓存 vs. 协商缓存,谁是王者?
缓存大作战:强缓存 vs. 协商缓存,谁是王者?
|
算法 数据挖掘 数据库
数据挖掘算法之-关联规则挖掘(Association Rule)
在数据挖掘的知识模式中,关联规则模式是比较重要的一种。关联规则的概念由Agrawal、Imielinski、Swami 提出,是数据中一种简单但很实用的规则。关联规则模式属于描述型模式,发现关联规则的算法属于无监督学习的方法。 一、关联规则的定义和属性   考察一些涉及许多物品的事务:事务1 中出现了物品甲,事务2 中出现了物品乙,事务3 中则同时出现了物品甲和乙。
6566 0
|
分布式计算 Cloud Native 安全
数据中台(01)- 全面了解数据中台
数据中台(01)- 全面了解数据中台
4203 1