orcle我的笔记(4)-oracle表管理

建表
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点的记录,这样数据就可会恢复回来

你可能感兴趣的:(orcle我的笔记(4)-oracle表管理)