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
目录
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
MySQL基础(二)----DML学习
MySQL基础(二)----DML学习
21 3
|
2月前
|
SQL 关系型数据库 MySQL
MySql基础三之【单表查询进阶操作】
MySql基础三之【单表查询进阶操作】
24 0
|
3月前
|
SQL Oracle 关系型数据库
DDL的原理:一篇文章让你豁然开朗
DDL的原理:一篇文章让你豁然开朗
26 0
|
3月前
|
SQL 数据库
DQL的原理:一篇文章让你豁然开朗
DQL的原理:一篇文章让你豁然开朗
60 0
|
设计模式 SQL 数据库
《数据库系统原理》第一遍阅读
又是一年自考,总是听师哥师姐说,自考第一遍不过,第二遍再学习的时候感觉会不一样。很开心我有了一次重学《数据库系统原理》的机会,果然就像师哥师姐所说的,我收获到了知识之外的东西。第二遍学习,我体会到的不仅仅是自己的那份从容和淡定,更感受到了大脑自动编织知识网的神奇。
|
存储 SQL 缓存
MySQL索引的理解学习,面试不问索引原理就是事务原理
MySQL索引的理解学习,面试不问索引原理就是事务原理
MySQL索引的理解学习,面试不问索引原理就是事务原理
|
SQL 关系型数据库 MySQL
MySQL基础-执行顺序
查询年龄大于15的员工姓名、年龄,并根据年龄进行升序排序。
71 0
|
SQL 存储 NoSQL
事务功能使用及原理介绍(一)|学习笔记
快速学习事务功能使用及原理介绍
291 0
事务功能使用及原理介绍(一)|学习笔记
|
存储 SQL NoSQL
事务功能使用及原理介绍(二)|学习笔记
快速学习事务功能使用及原理介绍
185 0
事务功能使用及原理介绍(二)|学习笔记
|
SQL 关系型数据库 MySQL