oracle sql初次接触

oracle 语法有些地方都是和mysql一样,但还是有很多不同之处:

注意:dual该表为oracle中本身就存在的数据表。比如想取数据库时间(系统时间),或者测试数据,就可以用这张表来完成。

创建表语法:
create table 表名(
字段名称1 字段类型 是否为空,
字段名称2 字段类型 是否为空
);

增加主键:
alert table 表名 add constrain 主键名 primary key (字段名);
增加外键:
alert table 表名 add constrain 外键名 foreign key(作为外键的字段);

创建表时主键和外键一起创建:
create table 表名(
ATUOID number(10),
STU_ID char(3),
SUB_ID char(3),
constrain 主键名 primary key (ATUOID),
constrain 外键名 foreign key (STU_ID)
);

删除表:
drop table student;

查询表:
select * from student;

修改表表名:
rename alist_table_copy to alist_table;

增加列:
alert table test add address varchar2(10);
删除列:
alert table test drop column address;
修改列名:
alert table test modify address addresses varchar(20);

--(1)利用已有的表创建新表:
create table 新表 as select * from 旧的表 where 1=2

--(2)利用现有的表的结构创建新表 -- 注意:仅复制Oracle数据表结构:采用的是子查询方式
create table 新表
select 字段1,字段2... from 旧的表 where 条件(旧的表字段满足的条件)

--(3)利用现有的表的结构创建新表 -- 注意:复制Oracle数据表数据
create table 新表
as
select * from 旧的表 where 1=1

--(4)利用现有的表的结构创建新表 -- 注意:复制Oracle数据表数据
create table 新表
as
select 字段1,字段2... from 旧的表 where 条件(旧的表字段满足的条件)

--(5)将查询结果插入另一张表
insert into 另一张表
select * from 要查询的表 where 条件(要查询的表的列符合什么条件

原文地址:https://www.cnblogs.com/gjmfg/p/5523636.html