返回上一个学习笔记可点击本处
insert语句–给表增加/插入数据 (补)
insert插入语句 – 结合默认值default和非空约束not null
SQL>create table user2(
id number(4) default 1001,
name varchar2(10),
password varchar2(10) not null
);
insert into user2(id,name,password) values(1,'zs','123456');
insert into user2(password) values('666666');
insert into user2(id,name) values(2,'ls'); 会有错误
insert插入语句 – 日期相关
- 如果插入的列有日期字段,需要考虑日期的格式
- 默认格式:’DD-MON-RR’ ‘01-3月-20’
- 如果自定义日期格式,需要用to_date函数转换
给user2表增加一列bir,日期date类型
alter table user2 add(bir date);
查询系统时间
select sysdate from dual;
按照默认日期格式插入日期
insert into user2(id,name,password,bir) values(2,'ls','abc123','02-3月-20');
按照自定义日期格式插入日期
insert into user2 values(3,'ww','888888',to_date('2020/3/2','YYYY/MM/DD'));
update语句 – DML中的修改语句
语法1: update 表名 set 列1=新值1, 列2=新值2...
语法2: update 表名 set 列1=新值1, 列2=新值2... where 列=值;
- 说明:where 后面加的是条件。如果没有where,是整表数据全部更新,如果有where,根据where的条件更新数据。
update user2 set id=4,password='111111',bir='29-2月-20';
update user2 set id=5,password='222222',bir='28-2月-20' where name='ls';
delete语句 – DML中的删除语句
语法1:delete from 表名;
语法2:delete from 表名 where 列=值;
- 说明:如果没有where条件,会将表中所有的数据全部删除
delete from user2;
delete from user2 where id=1;
delete from user2 where name='zs';
delete和truncate的区别
语法:
delete from 表名; 删除表中所有的数据 -- DML语言
truncate table 表名; 删除表中所有的数据 --DDL语言
- 区别:
1)delete可以有条件的删除,而truncate将表中的数据全部删除,不可以加条件。
2)delete是DML语言,delete可以回退,而truncate是DDL语言,使用truncate进行删除立即生校,无法回退。
3)如果是删除表中全部的数据,而且数据量较大,delete语句的效率比truncate效率低。