建表
SQL>create table student ( --表名(student)
xh number(4), --学号
xm varchar2(20), --姓名
sex char(2),--性别
birthday date ---出生年月
);
添加一个字段
SQL>alter table 表名 add (classid number(2)); 添加一个字段classid,数据类型为number
修改字段长度
SQL>alter table 表名 modify (xm varchar2(30)); 修改xm字段长度为30
修改字段的类型/或是名字(不能有数据)
SQL>alter table 表名 modify (xm char(30)); 修改xm字段类型为char
修改字段名
alter table
表名
rename column
要改的字段
to
要改成的字段名
;
删除一个字段
SQL>alter table student drop column sal;删除表student表中sal字段,不过一般建议不删字段。
修改表名字
sql>rename student to stu; 修改student表名为stu
删除表
SQL>drop table student;删除student表
添加数据
所有的字段都插入
insert into student values (‘A001’,‘张三’,‘男’,‘01-5月-05’,10);
oracle中默认的日期格式‘DD-MON-YY’ dd日子(天)mon月份 yy 2位的年,上面的那个是指2010年5月1日
该日期的默认格式
alter scssion set nls_date_format = 'yyyy-mm-dd';
修改后,可以用我们熟悉的格式添加日期类型:
inserter into student values ('A002'mike','男','1905-05-06',10);
插入部分字段
inserter into student (xh,xm,sex)values ('A003','john','女');
插入空值
inserter into student(xh,xm,sex,birthday) values('A004','martin','男',null);
查询空值
select * from student where birthday is null;
查询非空值
select * from student where birthday is not null;
该一个字段
update student set sex='女' where xh=‘A001’; 把xh等于A001的性别改为女
修改多个字段
uodate student set sex=‘男’,birthday=‘1980-04-01’ where xh=‘A001’;
如修改所有男性工资为原来的一半,id都改为3
update student set sal=sal/2,classid=3 where sex=‘男’; 字段之间用逗号隔开,如这边的sal跟classid
修改含有null值的数据
不要用=null 用is null来找
删除数据
delete from student;
删除所有记录,表结构还在,写日志,可以恢复的,速度慢
drop table student;删除表的结构和数据
delete from student where xh=‘A001’;删除一天记录
truncate table student;
删除表中所有记录,表结构还在,不写日志,无法找回删除的记录,速度快。
删除记录前要设置回滚点
SQL>savepoint aa; 设置回滚点aa
SQL>delete from student;删除表所有记录
SQL>rollback to aa; 回滚到aa点的记录,这样数据就可会恢复回来