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.值可以是具体的值,也可以使用函数,也可以是子查询,子查询只能是单行单列子查询,还可以是计算。

相关推荐
Wang's Blog10 分钟前
MongoDB小课堂: 游标操作与文档投影技术深度解析
数据库·mongodb
q***420512 分钟前
使用Django Rest Framework构建API
数据库·django·sqlite
Charles_go12 分钟前
C#中级46、什么是模拟
开发语言·oracle·c#
张人玉19 分钟前
SQLite语法知识和使用实例
jvm·oracle·sqlite
共享家952730 分钟前
QT-界面优化(下)
开发语言·数据库·qt
maray40 分钟前
Chroma 的设计哲学
数据库·人工智能
e***0961 小时前
SQL 中UPDATE 和 DELETE 语句的深入理解与应用
数据库·sql
w***4242 小时前
SQL-Server链接服务器访问Oracle数据
服务器·sql·oracle
程序员小白条2 小时前
你面试时吹过最大的牛是什么?
java·开发语言·数据库·阿里云·面试·职场和发展·毕设
老华带你飞3 小时前
社区养老保障|智慧养老|基于springboot+小程序社区养老保障系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·小程序·毕设·社区养老保障