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
目录
相关文章
|
6月前
|
SQL 关系型数据库 MySQL
MySQL基础(二)----DML学习
MySQL基础(二)----DML学习
48 3
|
7月前
|
存储 安全 关系型数据库
理解数据库事务的用处
【5月更文挑战第18天】数据库事务确保数据ACID特性,即原子性、一致性、隔离性和持久性。事务控制通过原子性保证操作全做或全不做,一致性维护数据完整性,隔离性防止并发问题,持久性确保提交后变更永久。事务故障恢复通过逆操作撤销,系统故障恢复在重启时自动重做或撤销事务。介质故障和病毒破坏需结合备份和日志恢复。检查点技术加速恢复,记录检查点时的事务清单和日志地址。
61 0
理解数据库事务的用处
|
7月前
|
SQL Oracle 关系型数据库
DDL的原理:一篇文章让你豁然开朗
DDL的原理:一篇文章让你豁然开朗
49 0
|
7月前
|
SQL 数据库
DQL的原理:一篇文章让你豁然开朗
DQL的原理:一篇文章让你豁然开朗
81 0
|
SQL 存储 数据库
C#三十三 事务
C#三十三 事务
54 0
|
C语言
你真的学懂if语句了嘛,看完这篇文章你一定会让你有所收获,彻底玩转if语句!(下)
你真的学懂if语句了嘛,看完这篇文章你一定会让你有所收获,彻底玩转if语句!(下)
92 0
|
设计模式 SQL 数据库
《数据库系统原理》第一遍阅读
又是一年自考,总是听师哥师姐说,自考第一遍不过,第二遍再学习的时候感觉会不一样。很开心我有了一次重学《数据库系统原理》的机会,果然就像师哥师姐所说的,我收获到了知识之外的东西。第二遍学习,我体会到的不仅仅是自己的那份从容和淡定,更感受到了大脑自动编织知识网的神奇。
|
SQL 关系型数据库 MySQL
数据库事务探究
数据库事务探究
153 0
|
Java 关系型数据库 MySQL
面试突击88:加入事务和嵌套事务有什么区别?
面试突击88:加入事务和嵌套事务有什么区别?
331 2
|
存储 SQL 缓存
MySQL索引的理解学习,面试不问索引原理就是事务原理
MySQL索引的理解学习,面试不问索引原理就是事务原理
MySQL索引的理解学习,面试不问索引原理就是事务原理