Oracle常用命令


基本操作

用户的解锁

使用超级管理员登录

用户名:sys

口令:sysas sysbda(sys可以随便)

解锁v用户:

alteruser v account unlock;

创建用户及权限

创建用户

只有sys或system才可创建用户

createuser test identified by 1234;

删除用户

dropuser test;

设置权限

查询当前权限

select* from user_role_privs;

常用权限

grantconnect,resource to test;

connect是连接权限和session一样都可以用

resource是开发程序开发角色具有创表功能

管理员权限

grant   dba to test;

权限撤销

revokeconnect,resource from test;

使用cmd设置

setlinesize 95;表行数

setpagesize 22;表列数

altersession set nls_date_format='yyyy-mm-dd';//时间输出格式

settime on;时间

settiming on;执行命令使用时间

一、SQL语言分类:

1.DDL(数据定义语言)

  create(创建) alter(修改)  drop(删除)------------主要是对表操作。

2.DML(数据操作语言)

  insert(插入)    delete(删除)  update(更新)  select(查询select......for update(查询更新)----表中数据进行操作

 

3.DQL(数据查询语言)

基本语句、Order by 子句、Group by 分组语句

 

4.TCL(事务控制语言)

Commit(提交Savepoint(保存rollback(回滚)

 

5.DCL(数据控制语言)

Grant(授权)revoke(撤销)命令。

 

 

二Oracle数据类型:

 

Char:

 字符型(最大长度2000,定长、不足时以空格补充)

 

Varchar2

:字符型 最大长度 4000,变长,实际长度由存储的数据长度决定(与存储的数据长度一致)

 

Number(x,y)

既可以存储浮点型,也可以存储整形,x表示有效位数的最大位数,y表示小数位最大位数。

 

Date

存储时间类型。默认格式:dd--mm--yy:  --年。

 

Clob

存储较大的文本,比如存储非结构化XML文档,最大为 4G

 

Blob

存储二进制对象,如图形、视频、声音等。

 

Long 

存储较长字符串,最大长度为2G

三、表管理:

1.创建表:

 Create   table   表名(

字段名称   类型  约束

 



2.修改表结构

2.1、添加列

Alter  table  表名 add( 字段名称  数据类型 )

 

例子:alter table test_tb add(test_name varchar2(200))

 

2.2、删除表中一列

 

Alter   table 表名  set unused  column 列名

 

例子:alter table test_tb set unused column test_name

 

一般:不建议删除数据库中的列。

 

2.3、修改列名

 Alter table 表名  rename  column 旧列名 to 新列名

例子:alter table test_tb rename column test_msg to msg

 

2.4、修改表名:

Rename  表名1 (旧名字)to 表名2(新名字)

例子:rename  test_tb to test_tb1

 

2.5、修改表字段

Alter   table  表名 modify( 字段名称  新的字段类型 )

例子:alter table test_tb1 modify(msg varchar(4000))

 

2.6、添加表约束:

Alter table 表名 add Constraint 约束名 约束内容

例子:

alter table test_tb1 add constraint  p_k primary key(test_num)-----主键约束

alter table test_tb1 add constraint c_k check(msg='男' or msg='女')---检查约束

Not null----非空约束



四、数据操作语言:DML

简单查询 

Select *|列名|表达式 from 表名 where 条件 order by 列名

1.* 表示所有列

2.列名可以选择若干个表中列名,各个表中列名用逗号分隔。

3.表达式可以是函数,列名,常数等组成表达式。

4.Where子句是查询的条件

5.Order by要求在查询结果中排序,默认是升序。

例子:

select * from emp order by sal desc(降序)

select * from emp order by sal (升序)

select * from emp order by sal asc(升序)

 

复杂查询

1 1 3类型

SELECTRANK() over(ORDER BY "result" DESC),"result" FROM EXAM;

1 1 2 类型

SELECTDENSE_RANK() over(ORDER BY "result" DESC),"result" FROMEXAM;

1 2 3 类型

SELECTROW_NUMBER() over(ORDER BY "result" DESC),"result" FROMEXAM;

 

插入:

Insert into 表名  values(所有字段对应值);

Insert into 表名(字段名1,字段名称2....) values(对应字段值)

例子:insert into test_tb1(test_num,msg) values(666,'MSG values')

 

更新:

Update 表名 set 字段名称 =值 where 更新条件

例子:update test_tb1 set msg='hello oracle' where test_num=123

 

删除:

Delete 表名 where 条件

例子:delete test_tb1 where msg='hello oracle'



Truncate--将表中数据一次性删除
语法: truncate table 表名

Truncate和detele区别:

1、truncate是DDL命令,删除数据不能回复;delete是DML命令,删除数据可以通过数据库的日志文件进行恢复。

2、如果一个表中记录很多,truncate相对delete速度快。

警告:由于truncate命令比较危险,所有在实际开发中,truncate命令慎用。



五、操作符:



算术操作符: + 、 - 、* 、/ (加、减、乘、除)

 

关系运算和逻辑运算符:

=  等于

大于

<>或 != 不等于

<= 小于或等于

<   小于

>= 大于或等于

 

 

逻辑运算符:

And  、 or 、 in  、not in

And:

Or: 或者

Not in 不在...

In:在.....

 --加法
例子:SELECT ename,job,(sal+comm) FROM emp;
--
减法
例子:SELECT ename,job,(sal-comm) FROM emp;
--
双竖线 ||
例子:SELECT (ename||'的工资'||(sal+comm)) FROMemp;

字符串连接操作符: ||  (双竖线)

例子:select (ename||的工资是:'||(sal+comm)) from emp

 

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37059838/article/details/80317747
上一篇Oracle用户解锁
下一篇Oracle常用函数
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭