### Oracle常用SQL语句知识点详解 #### 一、基本操作 **标题与描述解析:** 给定的信息中提到了“oracle常用SQL语句”,这表明文档将涵盖Oracle数据库中的常用查询与管理命令。以下是对这些命令的具体分析。 **1. 显示当前用户** - **命令:** `show user` - **作用:** 显示当前登录Oracle数据库的用户名。 - **示例:** 执行`show user`后,会返回当前连接到Oracle数据库的用户名。 **2. 查看所有用户** - **命令:** `select * from all_users;` - **作用:** 查询数据库中所有的用户信息。 - **示例:** 使用`select * from all_users;`可以查看所有用户的详细信息,包括用户名等。 **3. 创建新用户** - **命令:** `create user a identified by a;` - **作用:** 创建一个名为`a`的新用户,并设置密码为`a`。 - **示例:** 执行`create user a identified by a;`创建用户`a`。 **4. 授予用户权限** - **命令:** `grant connect, resource to a;` - **作用:** 向用户`a`授予`connect`和`resource`权限。 - **示例:** 使用`grant connect, resource to a;`可以给用户`a`授权。 **5. 用户登录** - **命令:** `conn a/a` - **作用:** 使用用户名`a`和密码`a`登录数据库。 - **示例:** 输入`conn a/a`后,如果用户名和密码正确,则会成功登录。 **6. 查询当前用户的表** - **命令:** `select * from tab;` - **作用:** 查看当前用户下所有表的信息。 - **示例:** 执行`select * from tab;`可以看到当前用户所拥有的所有表。 **7. 创建表** - **命令:** `create table a (a number);` - **作用:** 创建一个名为`a`的表,其中包含一个数字类型的字段`a`。 - **示例:** 使用`create table a (a number);`创建一个简单的表。 **8. 描述表结构** - **命令:** `desc a` - **作用:** 显示表`a`的结构信息,包括字段名称和数据类型。 - **示例:** 执行`desc a`可以查看表`a`的所有字段及其类型。 **9. 插入数据** - **命令:** `insert into a values (1);` - **作用:** 向表`a`中插入一条记录,字段值为1。 - **示例:** 使用`insert into a values (1);`可以在表`a`中添加一行数据。 **10. 查询数据** - **命令:** `select * from a;` - **作用:** 查询表`a`中的所有数据。 - **示例:** 执行`select * from a;`可以看到表`a`中的所有记录。 **11. 更新数据** - **命令:** `update a set a = 2;` - **作用:** 将表`a`中的某个字段更新为2。 - **示例:** 使用`update a set a = 2;`可以修改表`a`中的数据。 **12. 删除数据** - **命令:** `delete from a;` - **作用:** 从表`a`中删除所有记录。 - **示例:** 执行`delete from a;`会删除表`a`中的所有行。 **13. 回滚事务** - **命令:** `rollback;` - **作用:** 撤销上一步执行的操作。 - **示例:** 如果执行了错误的命令,可以使用`rollback;`撤销更改。 **14. 提交事务** - **命令:** `commit;` - **作用:** 确认并保存对数据库所做的更改。 - **示例:** 使用`commit;`可以将更改永久保存在数据库中。 #### 二、高级操作 **15. 授权** - **命令:** `GRANT ALTER ANY INDEX TO "user_id"; GRANT "dba" TO "user_id";` - **作用:** 授予用户`user_id`特定的系统权限,例如允许其修改任何索引以及授予`dba`角色。 - **示例:** 执行上述命令可以授予用户`user_id`更高级别的权限。 **16. 创建用户并配置** - **命令:** `CREATE USER "user_id" PROFILE "DEFAULT" IDENTIFIED BY "DEFAULT" DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK; GRANT "CONNECT" TO "user_id";` - **作用:** 创建新用户`user_id`,设置默认表空间、临时表空间,并解锁账户,同时授予`CONNECT`权限。 - **示例:** 上述命令可以用于创建一个具有特定配置的新用户。 **17. 修改用户密码** - **命令:** `ALTER USER "CMSDB" IDENTIFIED BY "pass_word";` - **作用:** 修改用户`CMSDB`的密码为`pass_word`。 - **示例:** 使用该命令可以轻松地更改用户的密码。 **18. 创建表空间** - **命令:** `CREATE TABLESPACE "table_space" LOGGING DATAFILE 'C:\ORACLE\ORADATA\dbs\table_space.ora' SIZE 5M;` - **作用:** 创建一个名为`table_space`的表空间,大小为5MB,并指定数据文件的路径。 - **示例:** 执行上述命令可以创建一个新的表空间。 **19. 查询表空间和数据文件信息** - **命令:** ``` col tablespace format a20 select b.file_id, b.tablespace_name, b.file_name, b.bytes, (b.bytes - sum(nvl(a.bytes, 0))) as "FREE SPACE", sum(nvl(a.bytes, 0)) as "USED SPACE", sum(nvl(a.bytes, 0)) / (b.bytes) * 100 as "PERCENT USED" from dba_free_space a, dba_data_files b where a.file_id = b.file_id group by b.tablespace_name, b.file_name, b.file_id, b.bytes order by b.tablespace_name; ``` - **作用:** 显示各个表空间的数据文件信息,包括文件ID、文件名、总大小、已用空间、剩余空间及使用百分比。 - **示例:** 通过执行上述命令可以得到关于表空间和数据文件的详细统计信息。 **20. 查询回滚段状态** - **命令:** ``` col segment format a30 SELECT SEGMENT_NAME, OWNER, TABLESPACE_NAME, SEGMENT_ID, FILE_ID, STATUS FROM DBA_ROLLBACK_SEGS; ``` - **作用:** 显示所有回滚段的状态信息,包括段名、所有者、表空间名等。 - **示例:** 上述命令可以帮助监控回滚段的状态。 **21. 查看数据文件详情** - **命令:** ``` col file_name format a50 select tablespace_name, file_id, bytes/1024/1024, file_name from dba_data_files order by file_id; ``` - **作用:** 显示每个数据文件的基本信息,包括表空间名、文件ID、大小(以MB为单位)和文件名。 - **示例:** 使用此命令可以获得所有数据文件的详细列表。 **22. 显示当前用户** - **命令:** `show user` - **作用:** 再次显示当前登录的用户名。 - **示例:** 如果忘记了当前使用的用户名,可以再次使用`show user`命令查看。 **23. 数学运算** - **命令:** `select 100 * 20 from dual;` - **作用:** 在SQL中进行简单的数学运算。 - **示例:** 执行`select 100 * 20 from dual;`将返回结果2000。 **24. 字符串拼接** - **命令:** ``` select 1 || 2 from dual; select concat(1, 2) from dual; ``` - **作用:** 在SQL中进行字符串拼接操作。 - **示例:** 上述命令将数字1和2拼接成字符串`12`。 **25. 当前日期时间** - **命令:** `select to_char(sysdate, 'yyyy-mm-dd,hh24:mi:ss') from dual;` - **作用:** 获取当前日期和时间,并按照指定格式输出。 - **示例:** 使用`select to_char(sysdate, 'yyyy-mm-dd,hh24:mi:ss') from dual;`可以得到类似`2023-09-27,10:30:00`的结果。 以上是基于给定部分的内容总结出来的Oracle数据库常用SQL语句的知识点,涵盖了基本操作和一些高级管理功能,适用于日常开发和维护工作。
大 中 小
1、连接
SQL*Plus system/manager
2、显示当前连接用户
SQL> show user
3、查看系统拥有哪些用户
SQL> select * from all_users;
4、新建用户并授权
SQL> create user a identified by a;(默认建在SYSTEM表空间下)
SQL> grant connect,resource to a;
5、连接到新用户
SQL> conn a/a
6、查询当前用户下所有对象
SQL> select * from tab;
7、建立第一个表
SQL> create table a(a number);
8、查询表结构
SQL> desc a
9、插入新记录
SQL> insert into a values(1);
10、查询记录
SQL> select * from a;
11、更改记录
SQL> update a set a=2;
12、删除记录
SQL> delete from a;
13、回滚
SQL> roll;
SQL> rollback;
14、提交
剩余9页未读,继续阅读
- 粉丝: 0
- 资源: 15
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助