例1:创建一个表,名叫student_1,表中包括:学号(sno ,char(10))、姓名(sname varchar2(30))、性别(ssex CHAR(2))、出生日期(sbirthday DATE)和所在系(sdept varchar2(30))
create table student_1(
sno CHAR(10),
sname varchar2(30),
ssex CHAR(2),
sbirthaday DATE,
sdept varchar2(30)
);
练习:将例子语句写入脚本t1.sql中,判断如果数据表存在,则删除该数据表后新建数据表student_1
drop table STUDENT_1;
create table student_1(
sno CHAR(10),
sname varchar2(30),
ssex CHAR(2),
sbirthaday DATE,
sdept varchar2(30)
);
例2:创建一张可以保存所有成员信息的member表
CREATE TABLE member(
mid number(5),
name varchar2(50) default '英雄,请留步',
age number(3),
birthday DATE default SYSDATE,
note clob
);
注意:同一个模式下,不允许存在同名的表
下面的例子展示Oracle数据表的复制。
例3: 利用子查询创建一个表,表名叫做emp_select,表中包含emp_no(职工号)、emp_name(职工姓名)、dept_no(职工所在部门),该表用于保存工资高于2000的员工的员工号、员工名、员工部门号。
create table emp_sele(
emp_no,emp_name,dept_no,sal)
as
select empno,ename,deptno ,sal from scott.emp where sal > 2000;
例4. 将scott.emp表复制为myemp表。
CREATE TABLE myemp
AS
SELECT * from scott.emp;
//查看myemp表是否复制成功
select * from myemp;
例5. 要求按照emp的表结构建立一张employee表,但是并不需要emp表中的任何数据,要求表的结构与emp表一样,但是不能存在emp表中的记录,即只复制表结构。
create table employee
as
select * from scott.emp where 1=2;
//条件创建表结构的最好的方法就是直接在子查询中编写一个永远也不可能满足的条件,例如where 1=2 即可。