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