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