SQL-DML数据操纵语言(Oracle)

文章目录

DML数据操纵语言

定义 是针对数据做处理,对数据进行增删改的操作。

字段属性:每一个字段在创建时会自带一个属性,该属性决定了该字段存储什么样的数据

常见的字段属性

字符型字段属性

char(n)

固定长度字符串,该字段属性下只能存储字符型数据,n表示总长度,存储的数据总长度不超过n,长度不足n时,会在右侧以空格填充,最终是以n个长度存储。

varchar2(n)/varchar(n)

加2总长度会更长一点,使用更多。

varchar:可变长度字符串,该字段属性下只能存储字符型数据,n代表总长度,存入的数据总长度不能超过n,若长度不足n时,则以实际长度存储。

数值型字段属性

number([p],[s]

数值型字段属性,该属性下只能存储数值型数据。p代表了总长度,存入的数据总长度不能超过p(包含小数位),s表示精度,即小数保留多少位

s不写默认保留整数

p不写默认是38个长度

int

存储整数

日期型字段属性

DATE

是最常见的日期型字段属性,该属性下只能存储日期型数据,包含了世纪年月日时分秒

timestamp

时间戳,比date多出了毫秒部分

如何查看字段属性

查看表结构

增加数据INSERT

复制代码
INSERT INTO 表名(列名1,列名2,列名3.......) VALUES (值1,值2,值3.......)

注意:值和列的个数,顺序,属性要一致

复制代码
INSERT INTO emp (empno,ename,sal,hiredate) values (7999,TOMAS,3001,to_date('1992/12/15','yyyy/mm/dd'));

没有插入值的字段是空值

注意!DML语句需要提交才能生效。提交之后就不能回滚了

当所有字段都需要插入数据的时候,列名可以省略不写

语法:

复制代码
INSERT INTO 表名 VALUES(值1,值2.....);

快捷插入

语法:

复制代码
INSERT INTO 表名(列名.....) sql语句  ---将查询语句的结果插入到表中

注意:查询语句结果的字段个数,顺序,属性要和列一致

例题:

复制代码
INSERT INTO emp(empno,ename) SELECT deptno,dname FROM dept

删除数据DELETE

复制代码
DELETE FROM 表名 [WHERE 条件] 

不写where是删除所有数据

复制代码
DELETE FROM EMP WHERE deptno = 10;---会把十号部门的人删掉

删除的是行,不是 某一列的值。

修改数据UPDATE

复制代码
UPDATE 表名 SET 列名1 = 新值1,列名2=新值2... [where 条件]

不加WHERE是修改所有人

注意:

1.等号左右顺序不能变,等号是赋值

2.值可以是具体的值,也可以使用函数,也可以是子查询,子查询只能是单行单列子查询,还可以是计算。

相关推荐
@淡 定5 小时前
Redis热点Key独立集群实现方案
数据库·redis·缓存
laocooon5238578865 小时前
mysql,100个题目。
数据库·sql·mysql
Web极客码5 小时前
如何在Ubuntu服务器上安装和配置BIND9
服务器·数据库·ubuntu
W001hhh6 小时前
数据库实训Day004上午
数据库
funfan05176 小时前
【运维】MySQL数据库全量备份与恢复实战指南:从入门到精通
运维·数据库·mysql
+VX:Fegn08956 小时前
计算机毕业设计|基于springboot + vue在线音乐播放系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
tq10867 小时前
通用数据引用表示法:基于协议-URI-JSONPath的简洁数据定位规范
数据库
+VX:Fegn08957 小时前
计算机毕业设计|基于springboot + vue律师咨询系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
AlfredZhao7 小时前
使用 Oracle 官方 HR Demo 快速验证 RAS 功能(小白实战指南)
oracle·ras
manuel_897577 小时前
六 系统安全
网络·数据库·系统安全