最近闲来无聊加上出外面试遇到了一些数据库问题,就想起学习下oracle数据库,数据库在基础上感觉就是一个范式,所谓一通百通,之前学习了mysql,现在学习oracle感觉毫无压力,现在将一些东西给大家分享下,希望对大家有用户吧。
一、建表
【语法】
CREATE TABLE (
column1 DATATYPE [NOT NULL] [PRIMARY KEY],
column2 DATATYPE [NOT NULL],
…
[constraint <约束名> 约束类型 (要约束的字段)
【说明】
DATATYPE –是Oracle的数据类型
NUT NULL –可不可以允许资料有空的(尚未有资料填入)
PRIMARY KEY –是本表的主键
constraint –是对表里的字段添加约束.(约束类型有
Check,Unique,Primary key,not null,Foreign key);
数据库建表语法完全是一个套路,完全就是create table+表名称然后一个小括号里写上自己规定的字段名字、字段类型(以及类型长度)等等,示例
create table t_student( s_id number(8) PRIMARY KEY, s_name varchar2(20) not null, s_sex varchar2(8), clsid number(8), constraint u_1 unique(s_name), constraint c_1 check (s_sex in ('MALE','FEMALE')) );
—从现有的表创建表及复制其数据
【语法】
CREATE TABLE <table_name> as <SELECT 语句>
【示例】(从oracle的scott用户复制emp表数据到当前用户,本人新建的用户为hr)
createtable emp as select*from scott.emp;
当然该语法中加上where1=2;的条件出现的结果就是只复制表结构而不会复制表中的数据。
由于时间紧迫就不写语法说明了,
增加字段:
alter table t_student add(s_age number(3),s_address varchar2(20)); 该代码表示往 t_student 表中增加两个字段 。
修改字段:
alter table t_student modify(s_name varchar2(50),s_address varchar2(100));和类型,并不能修改字段的名称
注意:modify关键字只能修改字段的长度
删除字段:
alter table t_student drop(s_age,s_address);
修改字段的名称:
alter table t_student renamecolumn s_id to s_no;
二、删除表
drop table t_student;
该代码删除的数据库表不能算是彻底删除,因为该表还存于oracle数据库的回收站中,可通过showrecyclebin;或 select*fromrecyclebin;来查看回收站,那么要想彻底从回收站中删除数据库表则需要加上purge关键字,此时的语法为drop table t_student purge; 亦可使用清空回收站操作来清空所有的回收站的内容
–清空回收站
purgerecyclebin;。