oracle实用命令入门

时间:2022-07-18 07:47:22

登录oracle(需要在oracle用户下)

执行sqlplus,然后输入用户名和密码就可以了,如果是第一次使用oracle的话,可以直接使用sqlplus / as sysdba免密码以管理员的身份登录

开启或关闭数据库

进入sqlplus命令行之后,执行startup启动oracle,执行shutdown immediate关闭oracle

查看当前数据库状态

select status from v$instance;

创建第一个自定义用户test

create user test identified by 123456; 创建一个用户名为test,密码为123456的用户

给这个用户授权

grant dba to test;   使test用户拥有dba管理员权限,其中权限还有connect和resource

删除test用户

drop user test;

修改test密码

alter user test identified by 666;

查看某用户信息

select username,account_status from dba_users where username='scott';

现在我们尝试远程使用test用户登录oracle服务器

sqlplus test/123456@//172.16.1.99:1521/orcl  因为oracle的默认端口是1521,orcl是我创建的数据库名

现在我想看一下数据库名称

select name from v$database;

查看时间,select sysdate from dual;

自带的时间格式看不懂,可以进行转换为我们常见的格式

alter session set nls_date_format="yyyy-mm-dd";

查看scott用户test表十分钟前的数据

select * from scott.test as of timestamp sysdate-10/1440;     1440是一天的分钟数24*60

查看ORACLE 数据库中本用户下的所有表 
SELECT table_name FROM user_tables;

插入一条数据,注意列名num需要有引号括起来,否则会报错,oracle的列名最好都用引号括起来,否则会报ORA-00904错误,invalid identifier

insert into "company" ("num") values(99);

更新一条信息,注意,如果oracle和mysql不同,如果是两个条件,不实用and,而是使用逗号分隔,否则会报错

update "company" set "num"=666 where "num"=6;

update "company" set "num"=666,"id"=2 where "num"=6; (oracle)

update "company" set "num"=666 and "id"=2 where "num"=6; (mysql)

删除一条信息

delete from "company" where "num"=9;

查看当前用户表结构

select * from user_tab_columns;

查看表注释

select * from user_tab_comments;