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

Oracle学习笔记

2020-06-24 04:31 579 查看

表的基本操作:数据的增、删、改、查

语法格式:

insert into [方案名].表名 [列名] values(值);

[]里面的可写可不写,需要注意的是,如果列名没写,则插入记录的值的顺序要与表的列名的顺序一致。
当列名不止一个时,

insert into [方案名].表名
(列名1,列名2,列名3,···,列名n)
values
(值1,值2,值3,···,值n);

如何复制一个表

1.直接复制

create table 新建的表的名字 as select * from 要复制的表的名字;

2.先创建新表,再把要复制的表的内容复制过去

//创建表
create table 表名
(
列名1 类型1(值)  [约束条件],
列名2 类型2(值)  [约束条件],
··········,
constraint 主键名 primary key(列名)
);
//复制表
insert into 新表的名字 select * from 旧表的名字;
//如果新建的表的列名的顺序与旧表的顺序不一致,则使用这条语句
insert into 新表的名字
(列名1,列名2,···,列名n)
select 列名1,列名2,···,列名n from 旧表的名字;

当我们需要同步多张表时,发现上述语句无法执行,则需要用到merge(合并)语句。

语法格式

merge into 表2  //表2为需要同步的表
using 表1 on(表2.列名1=表1.列名1)  //表1为源表
when matched then
update set 表2.列名2=表1.列名2,表2.列名3=表1.列名3  //set后面的字段不能加上on后面的字段
when not matched then
insert (列名1,列名2,列名3,···)  //如果两张表的字段名的顺序一致,insert后面的列名可省略不写
values (表1.列名1,表1.列名2,表1.列名3,···);  //两张表的字段的顺序要一致

1.使用delete语句删除表中的记录

//删除全部记录
delete from 表名;
//删除某条记录
delete from 表名
where 条件;

2.使用truncate语句删除表中的记录

truncate table 表名;

两者的区别 :delete可删除指定的某条记录,也可删除全部记录,删除效率较低;truncate只能删除全部记录,效率高。

//修改一个值
update 表名或视图名
set 字段名=字段值
where 条件;
//修改同一条记录中的多个值
update 表名或视图名
set
字段名1=字段值1,字段名2=字段值2,···,字段名n=字段值n
where 条件;

加上where条件,则是对表中指定的记录修改。

修改默认值

1.创建表时添加

create table 表名
(
列名 列的类型(长度) default 值[,列名n 列的类型(长度) default 值]
)

2.修改表时添加

alter table 表名
add
(
列名 列的类型(长度) default 值[,列名n 列的类型(长度) default 值]
)

3.修改原有的列的默认值

alter table 表名
modify 列名 default 值;

查询表

//查询表中所有的字段
select * from 表名;
//查询表中指定的字段
select 列名1,列名2 from 表名;

索引

作用 :提高查询速度

创建索引

1.创建表时创建索引

create [unique∣bitmap] index [方案名.]索引名称  //unique∣bitmap为索引类型
on [方案名.]表名(列名,···,n) | cluster [方案名.]簇名
[initrans 整数]  --分配给表的事物条目的初始值
[maxtrans 整数]  --事物的最大并发数
[pctfree 整数]    --为将来更新表所保留的百分比
[pctused 整数]  --维持表的每个数据块已用空间的百分比
[tablespace 表空间名]   /*索引所属表空间*/
[storage storage_clause]       /*为索引建立存储特征*/
[nosort]  /*数据库中的行以升序保存,在创建索引时不必对行排序。*/
[reverse]  /*指定以反序索引块的字节,不包含行标识符*/

2.使用SQL developer图形化工具创建索引(略)

索引重命名

alter index 原索引名
rename to 新索引名;

删除索引

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