关注公众号
查看数据库名称SQL>select instance_name from V$instance;
登陆数据库export ORACLE_SID='VDEDU'
SELECT * from role_sys_privs;
select *from role_tab_privs;
select*from user_role_privs;
select *from user_sys_privs;
select*from user_tab_privs_made;
select*from user_tab_privs_recd;
select*from user_col_privs_made;
select* from user_col_privs_recd;SQL DML 和 DDL
可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。
SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。
查询和更新指令构成了 SQL 的 DML 部分:
SELECT - 从数据库表中获取数据
UPDATE - 更新数据库表中的数据
DELETE - 从数据库表中删除数据
INSERT INTO - 向数据库表中插入数据
SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
SQL 中最重要的 DDL 语句:
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引
基本的select语句:select(选择标识要显示的列)from(这个表)
查询所有列:select*from (这个表)
查询指定的列:select(列名)from(这个表)
使用运算符:select sal,sal+800 from(这个表)
运算的优先级:乘除的优先级高于加减,同一优先级运算符从左向右执行,括号内的运算优先执行。
定义一个空值:空值是不可用的,未分配的,未知的,或不适用。null是不一样的零或空格。
使用别名;select (表名)as(别名)from(表)。系统默认自带关键字“as”,系统默认字段名称在数据字典中以大写储存,除非定义列别名的格式会改变字典中的储存格式,可以通过DBA_TAB_COLUMNS来验证。
级联操作:
连接符;连接列与列或列与字符串,使用双竖线‘||’进行连接,创建出一个合成的列(列:select last_name||job_id as "employees" from employees;)
使用字符串;select last_name ll 'is a '||job_id as "employees DETAILS" from employees;拼接的字符串内容需要用单引号括起来。
引用(q)链接操作符;制定您自己的引号分隔符,选择任何分隔符,增加可读性和可用性。
重复的行;默认情况下,查询会返回全部行,包括重复行。(例;select t,deptno from scott.emp t;select distinoct t,deptno from scott.emp t;
显示表结构;使用describe命令显示表结构,可以简写desc,需要在commeno window执行 desc(ribe) tablename
显示表结构;或者pl/sqll中,f2显示object窗口中,tables里面找到查询表并describe,还可以在sql窗口中直接点击表名右键,选择describe选项。
过滤和排序数据:
在查询中过滤行,使用where子句,将不满足条件的行过滤掉,where子句紧随from子句,where子句后跟条件表达式列名,表达式,常量比较运算符 文字值 where子句后不能跟列别名。
使用where子句;select(列名)from (表名)where(查找条件)
字符和日期;
字符和日期要包含在单引号中,字符大小写敏感,日期格式敏感,默认的日期格式是“DD-MON-R",这种格式可以直接匹配。
比较运算付:
----------------------------------------------|--------------------------------------------------------------------
运算符 | 含义
----------------------------------------------|--------------------------------------------------------------------
= | 等于
> | 大于
>= | 大于等于
< | 小于
<= | 小于等于
”< >“ | 不等于
between,,,and,, | 两值之间,并包含这两值,并且从小到大。
in(set)反之 not in | 匹配多个值
like反之not like | 匹配模糊字符
is null 反之 is not null | 判断是否为null
----------------------------------------------|---------------------------------------------------------------------
使用比较运算符;select (列名)from(这个表)where sal<=3000;查找sal小于等于3000的记录
使用between操作符;使用between操作符来显示一个区间内的值;字符使用between(例:select (表名)from(这个表)where sal between 2500 and 3000;)
使用in 操作符;使用in操作符显示列表中的值:selsct (列名)from(表名)where sal in(1,2,3);可以理解为或的关系
使用like操作符;使用like运算选择类似的值,选择条件可以包含字符或数字。
通配符:》%代表一个或多个字符,相当于linux中的“*”,
clear screen 清屏