常用oracle语句-------------------------------------------》(笔记)

 

Orale常用语句

1:查询指定表名的字段

select * from sys.user_tab_columns where table_name=表名 //查询指定表名的字段

2: 查询数据库参数

  show parameter db;

  3:查询数据库的实例名

  select instance_name from v$instance;

3:数据库安装结束后,如果要知道正在运行额数据库是否有域名以及数据库域名名称可以用

  select value from v$parameter where name=‘db_domain‘

  show parameter domain

4:数据库安装结束后,如果要知道正在运行额数据库是否有域名以及数据库域名名称可以用

  select value from v$parameter where name=‘db_domain‘

  show parameter domain

5:数据库安装结束后,如果要知道正在运行额数据库是否有域名以及数据库域名名称可以用

  select value from v$parameter where name=‘db_domain‘

  show parameter domain

6:oracle基本操作语句

  oracle操作语句:

  1.创建表

  create table 表名(

  列名1 类型,

  列名2 类型

  );

  2.修改类属性

           alter table 表名 modify(列名 类型);

  3.添加列

           alter table 表名 add(列名 类型);

  4.添加主键约束和非空约束

           alter table 表名 add constraint pk_表名 primary key(列名);

           alter table 表名 modify(列名 not null);

  5.删除主键约束

           alter table 表名 drop primary key;

           alter table 表名 drop constraint pk_表名;

  6.失效约束

           alter table 表名 disable primary key;

           alter table 表名 disable constraint pk_表名;

  7.有效约束

           alter table 表名 enable primary key;

           alter table 表名 enable constraint pk_表名;

  8.删除列

           alter table 表名 drop column 列名;

  9.设置某列不可用,然后删除

           alter table 表名 set unused(列名);

           alter table 表名 drop unused columns;

  10.修改表名

           rename 表名1 to 表名2

           alter 表名1 rename to 表名2;

  11.截断表

           truncate table 表名;

  12.截断表保留行空间

           truncate table 表名 resue storage;

13.查看表结构

           desc table 表名;

  14.删除表

           drop table 表名;

  15.插入记录

           例:insert into 表名 values(内容1,内容2,内容3,内容4);

  16.带参数对话方式插入行

           例:insert into 表名 values(&列名1,&列名2);

           insert into 表名 values(内容1,内容2);

  17.插入某几列记录

           insert into 表名(列名1,列名2) values(内容1,内容2);

  18.为列插入空值(其列不能为not null)

           insert into 表名 values(内容1,null,null);

  19.创建表(包括主键及外键设置)方法一

           create table 表名

(

           列名1 类型

           constraint pk_表名 primary key,

           列名2 类型 not null,

           列名3 类型

           constraint fk_表名 reference 表名(列名),

           列名3 类型

           constraint ck_表名 check(列名3 in(‘‘内容1‘‘,‘‘内容2‘‘,‘‘内容3‘‘))

  );

  20.查询所有行

           select * from 表名;

  21.查询某几列

           select 列名1,列名2 from 表名;

  22.重复行消除

           select distict 列名 from 表名;

  23.where语句查询

  select * from 表名 where 条件 order by 列名;

  (注:如number类型查出自动按升序排列,如要按降序排列,则select * from 表名 where 条件 order by 列名 desc;)

24.创建表,方法二

create table 表名

(

           列名1 类型 primary key,

           列名2 类型 not null,

           列名3 类型 check(列名3 in(‘‘‘‘,‘‘‘‘,‘‘‘‘)),

           列名4 类型 refernce 表名(列名)

  );

  

  25.修改 列=‘?’的数据

           update 表名 set (列=?) where 列=‘?’;

  

  26.删除行

           delete from 表名 where 条件;

  

  27.事务处理

           --事务处理

           update 表名

           set 列名(日期) = ‘‘30-5月-98‘‘

           where 条件;

           savepoint mark1;

           delete from 表名 where 条件;

           savepoint mark2;

           rollback to savepoint mark1;

           rollback;

  28.建立用户user1,密码为password

           授予用户connect,resource的权限

           connect角色用于登录

           resource角色用于建表等.

           connect system/manager

           create user user1 identified by password;

           grant connect,resource to password;

  29.数据控制语言

           connect scott/tiger

  30.把对表1查询和修改的权限授予user1

           grant select,update on 表1 to user1;

  31.把对表表1中列1和列2修改的权限授予user1

           grant update(列1,列2) on 表1 to user1;

32.把对表表1查询的权限授予用户user1

           并且user1用户还可以把这个权限授予别的用户(with grant option)

           grant select on 表1 to user1 with grant option;

  33.从用户user1撤销对表1查询和修改的权限

           revoke select,update on 表1 from user1

 

关于日期

1、 日期转换:to_char(日期,”yyyy-mm-dd”)

2、Oracle中直接查询出年,这里是十年

select to_char(Add_months(sysdate,(1-rownum)*12),‘yyyy‘) 年月 from dual connect by rownum<11 order by 年月 desc

(1-  rownum)*12:一减行号乘以12个月

结果如图:

oracle连接查询

SELECT

  a.农事记录员,

  a.合作社,

   a.乡镇,

   a.村名称,

  b.地块号,

  b.种植编号,

  季茬,

  年度,

  品名,

  种植面积,

  种子用量,

(select count(id) from YJZX_农事记录_整地 where 种植编号=b.种植编号) as 整地,

  (select count(id) from YJZX_农事记录_播种 where 种植编号=b.种植编号) as 播种,

   (select count(id) from YJZX_农事记录_育苗 where 种植编号=b.种植编号) as 育苗,

    (select count(id) from YJZX_农事记录_培肥 where 种植编号=b.种植编号) as 培肥

FROM   (SELECT

         农事记录员,

         地块号,

        YJZX_合作社及村信息.村名称,

        YJZX_合作社及村信息.合作社,

        YJZX_合作社及村信息.乡镇

        FROM   YJZX_地块信息,

               YJZX_合作社及村信息

        WHERE  YJZX_地块信息.村 = YJZX_合作社及村信息.村名称) a,

       YJZX_农事季茬种植记录 b

WHERE a.地块号 = b.地块号 and a.农事记录员=’冉贞’

查询结果如图:

SELECT
    ID,
    仓库编号,
    仓库地址,
    所属公司,
    仓库建筑,
    内部仓号,
    库容 "库容(吨)",   //将列的显示名修改为库容(吨)
    管理员ID,
    管理员姓名,
    (select nvl(sum(当前库存)/1000,0) from YJZX_库存信息 where YJZX_库存信息.仓库编号=YJZX_仓库基本信息.仓库编号) "当前库存(吨)",
    库容-(select nvl(sum(当前库存)/1000,0) from YJZX_库存信息 where YJZX_库存信息.仓库编号=YJZX_仓库基本信息.仓库编号) "剩余库容(吨)"
FROM YJZX_仓库基本信息 WHERE 管理员ID=20316

nvl(sum(当前库存)/1000,0):单位换算,换成吨

时间: 2024-10-20 03:19:18

常用oracle语句-------------------------------------------》(笔记)的相关文章

【我的Oracle学习笔记(二)】----- select语句补充

一.多表查询 多表查询是指从多个有关联的表中查询数据,其语法与单表查询类似.一般来说,多表查询的表要用连接联系起来,如果没连接,则查询结果是这多个查询表的笛卡尔积(注释1). 模拟查询雇员姓名和所在部门名称: select [雇员姓名],[部门名称] from [雇员表] a,scott,[部门表] b where a.[部门编号]=b.[部门编号]; 上例中,为每一个查询表指定了别名,便于SQL语句的书写. 模拟查询在”sales“部门工作的雇员其雇员姓名 select [雇员姓名] from

oracle进阶笔记-常用工具的使用-oracle sql developer

oracle sql developer 类似于plsqldeveloper 下载地址;http://www.oracle.com/technology/products/database/sql_developer/index.html 安装工具 解压就OK 打开 首先必须建立一个对数据库连接 1 连接名(任意) oracle11g_connect 输入账户名sys 密码 oracle 连接方式 基本 角色 sysdba 主机名: 数据库服务器主机名或者ip地址 192.168.3.1 侦听的

Oracle数据库常用Sql语句大全

一,数据控制语句 (DML) 部分 1.INSERT  (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, --) VALUES ( 值1, 值2, --); INSERT INTO 表名(字段名1, 字段名2, --)  SELECT (字段名1, 字段名2, --) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: 'GOOD DAY' 如果字段值里包含单引号' 需要进行字符串转换, 我们把它替换成两个单引号''. 字符串类型的字段值超过

oracle常用SQL语句(汇总版)

Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象 一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……); INSERT INTO 表名(字段名1, 字段名2, ……) SELECT (字段名1, 字段名2, ……) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: ’GOOD DAY’ 如果字段值里包含单引号’ 需要

Oracle 数据库常用sql语句及知识

<Oracle 数据库> 一.常用sql语句: 1.连接系统管理员账号:conn system/system(安装时口令); 2.创建新账号:create user Leo(账号名) identified by Leo(密码): 3.给新账号授权:grant connect,resource to Leo; 4.从某个账户收权:revoke resource from Leo; 5.连接新账号:conn Leo/Leo; 6.显示当前客户:show user; 7.查看表结构:desc s_e

oracle学习笔记 SQL语句执行过程剖析讲课

oracle学习笔记 SQL语句执行过程剖析讲课 这节课通过讲述一条SQL语句进入数据库 和其在数据库中的整个的执行过程 把数据库里面的体系结构串一下. 让大家再进一步了解oracle数据库里面的各个进程.存储结构以及内存结构的关联关系. 首先来讲整个体系中有客户端.实例和数据库 数据库里有三类文件 控制文件ctl.数据文件dbf.日志文件log 实例中SGA有六大池子 第一大内存区shared pool即共享池 第二大内存区buffer cache 第三块是redo log 我们主要讲上面的三

常用Oracle SQL语句(汇总版)

Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象 一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……); INSERT INTO 表名(字段名1, 字段名2, ……) SELECT (字段名1, 字段名2, ……) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: ’GOOD DAY’ 如果字段值里包含单引号’ 需要

Oracle 数据库常用操作语句大全

Oracle 数据库常用操作语句大全 一.Oracle数据库操作 1.根据删除的时间查询出被删除的数据 select * from szdj_work_plan AS OF TIMESTAMP TO_TIMESTAMP('2018-1-19 16:51:37', 'yyyy-mm-dd hh24:mi:ss') where subject='测试一下删除0119' 1.表中唯一的最大的值 select hibernate_sequence.nextval from dual 1.创建数据库 cr

Oracle维护常用SQL语句

数据库人员手边系列:Oracle维护常用SQL语句 1.查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name; 2.查看表空间物理文件的名称及大小 select tables