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