四、Oracle学习笔记:DML数据操作语句


二、DML语句学习
    1.insert: 向表中插入数据

--格式:
  insert into tname(colName,colName....) values(value1,value2,....);
  or
  insert into tname values(val1,val2,val3);  要求插入顺序与建表顺序一致,个数不能少
--练习:向temp_1中插入数据,1001,'张三','f','12-12-98';
  insert into temp01 values(1001,'张三','f',to_date('1998-04-10','yyyy-MM-dd'));
  insert into temp01 values(1002,'张三','f','10-04-95');
--练习:插入一条记录   1003,'王五'
  insert into temp01(tid,name) values(1003,'王五');
  insert into temp01 values(1004,'赵六',null,null);
/*
  创建表:
  表名 temp_t
  字段  
        id          数字类型               长度4
        name        可变字符串类型             50
        age         数字类型                  2
        score       数字类型                  3保留1位小数
        gender      固定长度字符串类型        ¡¤1 默认值 'm'
  插入数据:
        1001,苍老师,30,90,f
        1002,波老师, ,99, 
  增加字段:salary,整数位4 2位小数,非空约束
  修改字段:score 不能为空。
*/

drop table temp_t;
create table temp_t(
    id number(4),
    name varchar2(50)not null,
    age number(2),
    score number(3,1),
    gender char(1) default 'm'
);

insert into temp_t values(1001,'苍老师',30,90,'f');
insert into temp_t(id,name,score) values(1002,'波老师',99);

alter table temp_t add salary number(6,2)not null;
alter table temp_t modify score number (4,1)not null;


    2.delete删除表记录(可以回滚 还原)

--格式:
  delete [from] tName;--删除表中所有记录。
  or
  delete [from] tName where 条件;

--练习: 删除表temp01中id为1001的数据
  delete from temp01 where tid=1001;

--可以使用回滚,回到操作删除数据前
  rollback;
--练习: 使用delete删除表中所有数据
  delete temp01;
--练习:使用truncate 清空表中的所有数据。
  truncate table temp01;
--练习: 删除tgender为null的所有记录
  delete from temp01 where Tgander is not null;
--练习: 删除 tgender 为null,id为1004 的记录。
  delete from temp01 where Tgander is null and tid=1004;
--练习: 删除id为1003和1004的记录
  delete from temp01 where tid=1003 or tid=1004;
  delete from temp01 where tid in(1003,1004);


    3.update:用来修改表中的数据,修改字段值。

--格式: 
  update tname set colName=val[,colName=val....];修改表中所有记录的某一字段值
   or
  update tname set colName=value where 条件;     修改表中符合条件的记录的某一字段

--练习 修改temp01表中所有人的性别为m
  update temp01 set tgander='m';
--练习:修改tid为1004的姓名为"=赵大黄",生日为2000年10月20 号。
  update temp01 set tbrith = '20-10月-2000',name='赵大煌' where tid=1004;
--练习:修改tid为1001和1002 的生日为空。
  update temp01 set tbrith =null where tid=1001 or tid=1002;

猜你喜欢

转载自blog.csdn.net/qq_38741971/article/details/81411073