您的位置:首页 > 数据库 > Oracle

oracle表管理(4)

2015-07-29 17:44 495 查看

建表

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: