一、创建表
SQL> create table t_student(
2 f_id int,
3 f_name varchar2(30),
4 f_sex char(3),
5 f_hobbies varchar2(200)
6 );
表已创建。
二、增加
insert into t_student(f_id,f_name,f_sex,f_hobbies) values(1,'mu','女','吃');
insert into t_student(f_id,f_name,f_sex,f_hobbies) values(2,'niu','男','喝');
insert into t_student(f_id,f_name,f_sex,f_hobbies) values(3,'liu','女','玩');
insert into t_student(f_id,f_name,f_sex,f_hobbies) values(4,'ma','男','乐');
三、修改
1、修改表添加一个字段
alter table t_student add updateDate date default sysdate;
2、修改字段信息
alter table t_student modify(f_hobbies,varchar2(300));
SQL> describe t_student;
名称 是否为空? 类型
----------------------------------------- -------- -----------------------
F_ID NUMBER(38)
F_NAME VARCHAR2(30)
F_SEX CHAR(3)
F_HOBBIES VARCHAR2(300)
UPDATEDATE DATE
3、修改字段名字(容易漏写column)
alter table t_student rename column updatedate to f_update;
4、删除字段(使用drop)?
alter table drop column f_hobbies;
SQL> alter table t_student drop column f_hobbies;
alter table t_student drop column f_hobbies
*
第 1 行出现错误:
ORA-12988: 无法删除属于 SYS 的表中的列
四、复制一条数据,不加条件就会整表复制数据
insert into t_student(f_id,f_name,f_sex,f_hobbies) select 33,f_name,f_sex,f_hobbies from t_student where f_id = 4;
五、修改表中的数据
update t_student set f_hobbies='喝酒' where f_hobbies = '喝';
六、快速复制表结构
create table t_studentbak as select * from t_student where 1=2;
select * from t_studentbak;
七、删除
1、删除莫一条数据,莫一类数据
delete from t_student where f_id = 33;
delete from t_student where f_sex= '男';
2、快速删除表中的数据 (无事务回滚,而且不会带来碎片) 查询语句
truncate from t_student;
删除完成后只剩表结构。