Oracle 常用命令之基础使用

2019-03-28 22:36

Oracle 常用命令之基础使用

一、oracle数据类型 :

number : 整型值 插入值的时候 直接 (22,33,4,45,...就行)

varchar2 : 字符型 插入值的时候 '必须用单引号括起来';

number(5,2):一共5位数字,其中有两位是小数,范围是(-10^38 ~ 10^38);

number(5):就是规定有五位数字,没有小数 默认是number(5,0);

char : 查询快,但是浪费空间

char:定长,2000字符(4000字节),字符串char(5);//可以设置5可 但是内容必须是 '内容',用单引号括起来

varchar2:变长,4000字符(8000字节);

varchar2(20 byte);//规定能写20个字符 但是只能是byte类型(字节型),但是内容必须是 '内容',用单引号括起来

clob(characterlarge object);//字符型大对象,最大4G

date:时间格式,values()赋值的时候,可以用这个更改格式 : to_date('20-2-81','DD-MON-RR');

blob:二进制数据电影,图片,音乐,4G不会放到数据库里面,文件服务器

oracle命令语句

0、查看表结构 desc 表名

1、添加一个字段

alter table 表名 add(列 类型);

2、修改字段类型

alter table 表名 modify(列 类型);

3、删除一个字段

alter table 表名 drop column 列名;

4、修改表的名字 rename student to stu

5、删除表

drop table 表名

** 如果需要修改列的名字

新增一个字段,然后迁移数据,最后删除原字段 或者使用图形化工具

如果有值,这种删除,是没有办法恢复的。。

上述修改表结构相关的语句 叫做DDL ,修改,是没有办法恢复的

创建表并且插入数据

create table test( id number,

name varchar2(20), age number(2) );

1)

insert into 表名 values(所有列的值);

insert into test values(1,'zhangsan',20); sel 2)

insert into 表名(列) values(对应的值);

insert into test(name,age) values('wangwu',20);

连续使用insert into 插入多条数据 Insert into 表名

Select 值1,值2,。。。。 From dual union all Select 值1,值2,。。。。 From dual union all Select 值1,值2,。。。。 From dual ;

--------------------------------------------------------------------------------------------------

更新语句

update 表 set 列=新的值 [where 条件] --》更新满足条件的记录

update test set name='zhangsan2' where name='zhangsan' update 表 set 列=新的值 --》 更新所有的数据

update test set age =20;

----------------------------------

**删除数据:

几种删除方式: 1)

delete from 表名 where 条件 -->删除满足条件的记录 delete from test where id = 1; delete from test ; -->删除所有

commit; -->提交数据 rollback; -->回滚数据

delete方式可以恢复删除的数据,但是提交了,就没办法了 delete删除的时候,会记录日志 --》删除会很慢很慢 2)

truncate table 表名

删除所有数据 ,不会影响表结构,不会记录日志,数据不能恢复 --》删除很快 3)

drop table 表名

删除所有数据,包括表结构一并删除,不会记录日志,数据不能恢复-->删除很快

------------------------------------------------------------------------------------------ 如何查看一个SQL执行了多长时间? set timing on

小技巧

如何快速的复制数据?

1、 insert into test select * from test;

2、 create table 表名 select * from test;

-----------------------------------------------------------------

查询:基本查询,复杂查询

1、导入数据 sqlplus状态下: @文件名

基本查询

select 列 from 表名

select * from 表名 --》 所有列

查询前几行的数据

select * from 表名 where rownum<=10;

查询指定多少行到多少行的数据

select * from A where rownum <= 4 minus select * from A where rownum <= 1

----------------------------------------------- 1、去除重复的显示

select distinct 列 from 表名

2、算术运算,不能把NULL参与运算

nvl(列,值) --》如果列为空,则用“值” 替换NULL

nvl(comm,0) ---> 如果comm为空,返回0

每一个列都可以取别名

3、如何连接字符串 ||

------------------------------------------------------------------------------- 日期类型:

to_date(字符串1,字符串2) --> 字符串1 是日期的字符串 ,字符串2 是格式 ,

返回一个日期类型。

to_date('1990-1-1','yyyy-mm-dd') -->返回日期类型的1990-1-1

to_date('1990-1-1 13:30:10','yyyy-mm-dd hh24:mi:ss') -->返回日期类型的

1990-1-1 13:30:10

SQL的模糊查询:

like :匹配字符 % :0到多个字符 _ :表示单个字符

如果涉及到NULL

判断 is NULL , is not null

查询结果需要排序 order by 字段

select * from emp order by sal --》order by后面,默认升序 asc升序 desc 降序

-------------------------------

Oracle的复杂查询,统计函数,分组 sum, count ,avg, max, min

----分组: student

name sex class score zhangsan 男 10 90 李四 男 10 60 zhang 女 10 86 王五 女 20 90

统计每个班的最高分 max(score) 10

zhangsan 男 10 90 --> 90 李四 男 10 60 20

王五 女 20 90 --> 90

--------------------------------------

统计每个班的男生和女生分别的最高分

分组: class sex max(score)

10 男

zhangsan 男 10 90 --> 90 李四 男 10 60


Oracle 常用命令之基础使用.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2015年苏教版一年级数学下册全册教案 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: