Oracle(plsql⽅式)创建表、dblink导表、更改表名字段名
1、建表:
create table 表名
(
字段名类型(常⽤的有VARCHAR2、NUMBER、DATE)(长度) 是否能为空(必填:not null ⾮必填这块就不写)
aaa VARCHAR2 (32) not null,
bbb NUMBER(2)plsql12配置数据库连接
);
-- Add comments to the table
comment on table 表名 is '这个表是⼲啥的';
-- Add comments to the columns
comment on column 表名.aaa
is 'aaa是⼲啥的';
comment on column 表名.bbb
is 'bbb是⼲啥的';
2、创建dblink
⽅式⼀,在本地数据库a⽂件中配置了要远程访问的数据库。
create public database link
link_name connect to scott identified by tiger using 'bylw';
其中link_name是你创建的dblink名字,bylw是远程数据库的实例名(查询实例名sql语句:select * from v$instance ,查出的数据中INSTANCE_NAME即实例名),scott/tiger是登录到远程数据库的⽤户/密码。然后在本地数据库中通过dblink访问远程数据库'bylw'中scott.tb_test表,sql语句如下所⽰
select * from scott.tb_test@to_bylw;
⽅法⼆ 在本地数据库a⽂件中没有配置要访问的远程数据库:
create database link link_name
connect to scott identified by tiger
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bylw)
)
)';
第⼆种是把第⼀种配置在a⽂件中的信息,直接放在创建dblink语句后⾯。第⼀种情况a⽂件中信息如下:
bylw =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bylw)
)
)
⽤dblink进⾏跨数据库迁移数据
前提⽬标数据库的⽬标表和源库的源表 ,表中字段数要⼀致,否则会报错。
具体实现语句:
insert into ⽬标库⽤户名(即登录数据库的⽤户名).⽬标表
select a.* from源库⽤户名(即登录数据库的⽤户名).源表@ link_name a;
3、更改表名、字段名
-- ⾸先⽅法是使⽤RENAME关键字:
-- 修改字段名:
alter table 表名 rename column 现列名 to 新列名;
-- 修改表名:
alter table 表名 rename to 新表名
-- 增加字段语法:
alter table tablename add (column datatype [default value][null/not null],….);
-- 说明:alter table 表名 add (字段名字段类型默认值是否为空);
-- 例:
alter table sf_users add (HeadPIC blob);
-- 例:
alter table sf_users add (userName varchar2(30) default '空' not null);
-- 修改字段的语法:
alter table tablename modify (column datatype [default value][null/not null],….);
-- 说明:alter table 表名 modify (字段名字段类型默认值是否为空);
-
- 例:
alter table sf_InvoiceApply modify (BILLCODE number(4));
-- 删除字段的语法:
alter table tablename drop (column);
-- 说明:alter table 表名 drop column 字段名;
-- 例:
alter table sf_users drop column HeadPIC;
-- 字段的重命名:
-- 说明:alter table 表名 rename column 列名 to 新列名(其中:column是关键字)
-- 例:
alter table sf_InvoiceApply rename column PIC to NEWPIC;
-
- 表的重命名:
-- 说明:alter table 表名 rename to 新表名
-- 例:
alter table sf_InvoiceApply rename to sf_New_InvoiceApply;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论