1. 程式人生 > >四、Oracle學習筆記:DML資料操作語句

四、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;