Upper(au_fname)转成大写;

Where条件下是区分大小写的;可以用lower;upper;initcap进行界定;

这就是需要引入大小写转换的原因吧!^0^

第一章

数字系列

number,pls_integer和binary_integer此三种数字类型

number类型的变量可以存储整数或实数值

而binary_integer或pls_integer类型的变量仅可以存储整数

number(p,s)P是精度,S是刻度范围.精度是数值中所有的数字位的个数,而刻度范围是

小数点右边数字位的个数.

还有等价的类型是:dec,decimal,double precision,float,numeric,real

BINARY_INTEGER这种数据类型用来存储带符号的整数值.

算术运算不能直接在NUMBER上进行.如果要使用数字进行计算,NUMBER也必须要转换为二进制类型.如果表达式中有NUMBER类型,PL/SQL会自动进行转换,并在必要时将结果转换回NUMBER;

字符系列

varchar(l)最大长度是32767一个varchar2数据库列公能存储4000字节.

Long可以存2GB字节.Clob可以存储4GB的字节.

Varchar是以字节为单位而不是以字符为单位的;

实际的数据是根据数据库所采用的字符集进行存储的.字符集可以是单字节字符集如ASCLL或EBCDIC code page 500,也可以是变长多字节字符集如Unicode

char变量的最大长度是32767

原始系列

原始类型中的类型用来存储二进制数据。如果有必要的话,Oracle会自动将字符变量在字符集之间进行转换.

日期/区间系列

日期/区间系列有三种类型:date, timestame和interval主要是说明这三种类型的区别;

PL/SQL中的复合类型有记录、表(包括嵌套表和索引表)和数组。

Select * from kong.authors where au_id like ‘1%’;--因跟其无匹配性我先建立表;

使用%TYPE

属性而不是将变量类型硬性编码.这个属性被其他在表列引用或者另一个变量上;

V_roomed classes.room_id%type

V_roomed1 v_rommid%type--此语句也是合法的;因为它可以为null的值

Create table authors

(au_id int)

tablespace kong;

select t1.stor_id,t1.stor_name,t2.qty

from kong.store t1,kong.sales t2

where t1.stor_id=t2.stor_id;

SQL PLUS数字栏位以居右排列;

字符和日期以居左的方式排列;的方式来进行排列对齐;

在select中可以进行算术的运算;选择+ / - /* /

更新update kong.authors

Set address=null where au_id like ‘1%’;--更新一行数据条件为以1开始的显示为空白;

Select address|| ‘kong’ from kong.authors –当中的||为连接字符串;栏的显示为”address || ‘kong’

Where au_id like ‘1%’;

改变栏位的头/别名

select au_id author_id from kong.authors; --改变栏位的显示;在au_id和author_id当中加一个as所得到结果集是一样的;

双引号的用法: “”起到引用的作用.不作大小写的改变;

selectau_lname||’ ’||au_fname from kong.authors;--串起两个字符串!是对实际中的输出;

literal文字,照片上的字,无夸张的;

select au_id,’’’s name is ‘, au_lname||’ ‘||au_fname from kong.author – ‘s name is代表引入的.

产生如下结果:

648-92-1872 ‘s name is blotchet-halls Reginald –对应的方式应该很清楚你的意思了;

压缩掉结果集中的重复函;

distinct清楚的,明显的,截然不同的,独特的;

select distinct quy from employees--显示一行中的不重复

PROMPT classes table... –此处说明的意思,显示,无实际的意思;

DROP TABLE classes CASCADE CONSTRAINTS; --删除表之间的约束/关联

CREATE TABLE classes (

departmentCHAR(3),

courseNUMBER(3),

descriptionVARCHAR2(2000),

max_studentsNUMBER(3),

current_students NUMBER(3),

num_creditsNUMBER(1),

room_idNUMBER(5),

CONSTRAINT classes_department_course

PRIMARY KEY (department, course),

CONSTRAINT classes_room_id

FOREIGN KEY (room_id) REFERENCES rooms (room_id)

);--新建一个表时系统会自动默认到系统表空间;

第二章

CREATE SEQUENCE student_sequence

START WITH 10000

INCREMENT BY 1;--此句是定义一个表中的一个字段在下面的列中的增加;

Restricting and sorting data

Oracle引入字符串是区别大小写的.

select * from students where first_name like 'S%' –注明当中是一个like

当中的条件有:

between … and …大于等于且小于等于的两个值;

in (set)离散的最值不是连

select * from students where current_credits in('4','8');

like匹配一个字符

is null

_(下划线匹配一个字符)

%(百分号匹配一个或多个字符)

逻辑条件:

and

select employee_id,last_name,job_id,salary from employees

where salary>=10000 and job_id like ‘%main%’

or

not

select * from authors

where address is not null; --显示非空的栏位;

order by基于某个或者是某些栏位进行排序,默认的方式为升序;它是按照ascll的方式进

升顺排列的;

按照降顺的方式进行排序是在后面加desc ;asc

第三章

single-row functions(单行函数)

单行对单行的结果集;

Number

Data

Conversion

General

Character

multiple-row functions(多行函数)

多行对单行的结果集;

select sum(qty) from sales

group by stor_id;(聚合求合的结果集)

单行函数只能对一个表达式或者是

函数就是用来计算一个值;

过程的主要目的是用来完成一个动作;

lower(‘转换为小写)

upper(‘sql course’) –转换为大写

initcap(‘sql course’)--第一个转换为大写,其余的为小写

SQL>select lower(first_name),upper(first_name),initcap(first_name) from students;

LOWER(FIRST_NAME)UPPER(FIRST_NAME)INITCAP(FIRST_NAME)

-------------------- -------------------- --------------------

scottSCOTTScott

scottSCOTTScott

margaretMARGARETMargaret

joanneJOANNEJoanne

manishMANISHManish

patrickPATRICKPatrick

timothyTIMOTHYTimothy

barbaraBARBARABarbara

davidDAVIDDavid

esterESTEREster

roseROSERose

functionresult

concat (‘hello’,’world’)helloworld

substr(‘helloworld’,1,5)hello第一个字符的正负决定你是否从左还是从右;

负数就是从右边开始

length(‘helloworld’)10

instr(‘helloword’,’w’)6

lpad(salary,10,’*’)*****24000指定插入的值;星号是可以指定的;

rpad(salary,10,’*’)24000*****在后面插入;这里所有位数相加是10

trim(‘h’ from ‘helloworld’)elloword(压缩在字符串中字符和字符串)

Number Functions--数字函数

Round (45.926, 2) -- 45.93 (四舍五入) ;负数也是向左

Trunc(45.926,2)--45.92(不考虑四舍五入的问题)

Mod(1600,300)--100 (求余)

SQL> select round(45.926,2),trunc(45.926,2) from dual;

ROUND(45.926,2) TRUNC(45.926,2)

--------------- ---------------

45.9345.92

SQL> select round(45.92,-1) from dual;

ROUND(45.92,-1)――小数的正负

---------------

50

Mouths_between(’01-SEP-95’,’11-JAN-94)

Add_months(’11-jan-94’,6)

Next_day(’01-sep-95’,’Friday’)

Last_day(’01-feb-95’)当中的说明只是针对于月来说明的;

也可以对月份等进入四舍五入的方式;^0^

转换函数!

第四章

Display Data From Multiple Table

什么相等连接;

非等值连接;

要实现外连接的话.要在等值连接的当中使用+号做出;

假定我们要连接n张表;我们的连接条件是n-1个;

第五章Aggregating Data using Group Functions(使用组函数);最多的还是叫做聚合函数!

Column列

select sum(id) from students;(合)

AVG(ID)平均值

MAX

MIN

STDDEV

VARIANCE

Select sum(id) from students group by major –分组求合

在where条件下面是不允许引入聚合函数的;

1select sum(id),major from students group by major--分组的意思!

2* order by major desc排序是以升序还是降顺的方式;

在where

count的用法;

select count(*) from students;--聚合函数,计算这个表上有多少行;

count(major)此为聚合函数;它会忽略字段中的空值;其意义是计算major栏位的有效值有多少行!

Having子句的作用,过滤作用.

句法如下:

select column,group_function(column)

from table

[wherecondition]

[group bygroup_by_expression]

[havinggroup_condition]

[order by column];

SELECTavg(current_credits),major FROM STUDENTSgroup by major having avg(current_credits)>7

第六章Sub Queries(子查询)

例子1:select* from students where current_credits>(select avg(current_credits) from students);

其where子句中舍有一个子查询;这就是不同么!^0^

子查询的语法就是用括号括起来的select语句;

如果子查询返回的结果集为多行,则如何处理其结果集呢?

重复执行子查询;(关联子查询的方式)

在使用子查询语句时不得使用order by语句

这样可以把子查询分为单值子查询和多值子查询(多行子查询会出问题)

多值处理的话有别的方式(IN/ANY/ALL)

IN运算符是毫无意义的;

如果子查询中的结果集为空;则where子句没有行被选中;

一般使用join

第七章producing readableoutput with isql*plus

(最主要替换变量的作用)

web isqlplus的替换变量的方式;

select * from sales where stor_id=&a

对于字符和日期型变量,变理两边则放上单引号!

select * from sales where stor_id like ’&a’

每一个参数都可以是变化的.

第八章Manipulation Date(操作数据)

inert into table [(olumn[,…column…])] values (value,[….value…])

字符函数时要用单引号进行介定.

显示的给一个空的值;NULL可以作为一个空值

日期的填充格式可以是别的样子;月日当中有一个逗号;例子:FEB 3 1999

这个也可以是替换变量;

例子:” insert into employee (id) values (&id);如果是字符型变量记得&号两边加上引号.

把查询的结果送一张表中.

Insert into sales_reps(id,name,salary,commission_pct)

Select employee_id,last_name,salary,commission_pct from employee where job_id like ‘%erp%’;

Create table test1 as select * from authors where 1=2

这个动作是抄authors的表结构呀!

数据更新:update sales set qty=10 where stor_id=7066;

update子句也可以引用子查询语句,子查询结果必须返回是唯一的,不然一定出错;

alter table test1

add constraint ch_1 check(au_lname like ‘k%’);

建立的约束条件; column必须是大写的K开始的;

添加一个栏位的话可以不给括弧

数据删除

也可以将子查询建立其中;

alter table stores

add constraint pk_1 primary key(stor_id);

删除表:

Delete from employees

Where department_id=(select department_id from departments

Where department_name like ‘%public%’)

Alter table sales

Add constraint fk_1 foreign key(stor_id) references store(stor_id);建立参照主键的外键

With check option

Create table test2

(int ini,

lname varchar(20) default ‘unknown’)

insert into test2

values(1,default)--此default值与前面相关连.

MARGE合并

Marge into table_name table_alias

Using (table|view|sub_query) alias

No (join condition)

When matched then

Update set

Col1=col_val1,

Col2=col2_val

When not matched then

Insert (column_list)

Values(column_vales)

例子:

Merge into copy_emp c

Using exployees e

on (c.employee_id=e.employee_id)

When matched then

Update set

c.first_name=e.first_name,

c.last_name=e.last_name

……

c.department_id=e.department_id

when not matched then

insert values(e.employee_id,e.first_name,e.last_name,e.email,e.phone_number,e.hire_date,e.job_id,e.salary,e.commission_pct,e.manager_id,e.department_id);

--说明,上面的结果很简单,条件为: (c.employee_id=e.employee_id)

savepoint回滚的段

回滚段的作用是实现读一致性!

第九章creating and Managine Tables

table(表)

非标准的命名方法是用双引号选取table的表名!

创建表的用户具有创建表的权限而且具有创建存储空间的权限;

有一个用户名拥有者的写法;

select * from kong.sales; --kong是它的owner

view (视图)

sequence(顺序)

index(索引)

synonym

查看此用户下的数据对象

select * from user_tables;当中是可以替换的ALL与DBA

select * from user_object;

DBA所有

ALL可以访问

USER自已拥有的

Varchar

As subquery

子查询….

Create table tt3

As

Select * from kong.authors

Desc tt3--显示表的结构结果集也是跟其authors表一样的

--其实这也是一个表的拷的动作;

alter table tt2

add (fname varchar2(20) default ‘unknown’,

address varchar2(30) null);

添加表的内容

alter table dept80

drop column job_id

set unuset --此方式的使用方法

alter table tt2

set unused column fname;

alter table tt2

dropunused columns;--如果删除表的结构要较长时间用unused集中之后再删除

改变名

renamett3 to tt2;--表已经被重新命名了;

truncate--是一个DDL command在做表的删除动作时不做日志记录以及回滚等动作;提高效率;不可以被回滚;

delete可以被后悔

conmmenton table authors

is ‘these are authors information’--注释的动作

all_col_comments

user_col_comments

all_tab_comments

all_tab_comments

第十章Including Constraints(约束条件)

The following constraint types are valid:

--- NOT NULL

--- UNIQUE行的唯一

---PARMARY KEY

---FOREIGN KEY

---CHECK确认cloumn的value要值的详细情况如:

alter table test3

add constraint ck_test3_1 check(name like ‘k%’);

--确认value的值是以K开头的.不然不许添回.

以上五种是对栏位的约束.

Unique是实现行的唯一性.

约束条件可以是针对column或者表的

约束条件可以是作为表一级的结构存在.

Create table test1

(id int not null,

lname varchar(20),--定义栏位不能为空

fname varchar(20),

constraint uk_test1_1 unique(lname,fname));--唯一的约束条件,这种组合是唯一的.

主键是自动创建索引的

外键称之为值表,外键的值只能为主键表的内容.外键取的值只能是主键已经有的值.

删除约束条件

alter table employees

drop constraint emp_manager_fk

如果删除主键,外键极连的也可以将其删除.

Alter table departments

Drop primary key cascade;

也可以暂时关闭

alter table authors

desable constraint pk_authors;

相反:alter table authors

enable constraint authors

alter table test1

drop (pk) cascade constraints;

alter table test1

drop (pk,fk,col1) cascade constraints;

查看constraint的条件.

Select constraint_name,constraint_type,search_condition from user_constraints

Where table_name=’employee’

Constraint_name约束名称

Constraint_type查询类型

Search_codition查询条件

Select constraint_name,column_name

from user_cons_columns where table_name=’employees’;

第十一章creating Views(创建视图)

视图本身是一个逻辑结构,视图可以看到数据,但数据都保存在底成表中.视图相当于一个眼镜.通过它可以看到东西,但这些东西事实上它不在里面.

Create/(create or replace) view testview1

As

Select stor_id,qyt from sales;

这样做了之后可以通过select * from testview1;查看sales;

为什么要使用view方法;(权限问题;) view是一种虚拟的组合.

Simple views complex views

Create forceview testview4

As

Select * from ttt--TTT这个视图不存在但也可以创建成功

Create view testview5

As

Select stor_id,sum(qty) as sumqtyfrom sales

Group by stor_id--必须计算的栏位要用别名

更必数据视图

create or replace view testview1

as

select * from sales;

发生数据改变必须满足条件

create or replace view testview1

as

select * from sales

where qty>10;

with check option;--验证在视图中改变的条件选项;

constraint基表--满足基表的约束条件;

update testview1

set qty=5 where stor_id_7066;

with read only;--可以加上只能图的视图选项

drop view view--视图可以被删除

TOP-N

Select qty,rownumfrom (select * from sales order by qty desc)

Where rownum<5;

第十二章Other Database Objects(其它的几个数据对象)

sequence index同义词(HAHA)

create sequence sequence

[increment by n]

[start with n]

[{maxvalue n | nomaxvalue}]

[{minvalue n | nominvalue}]

[{cycle | nocycle}]

[{cache n | nocache}];

create sequence testse1

increment by 1

start with 1;--建立一个排序从1开始.每次增加1;

查找select sequence_name,min_value,max_value,increment_by,last_number from user_sequences;

Drop sequence dept_deptid_seq;--删除掉sequence

INDEX(索引,可以加速数据的查询,是独立于表的物理结构,减慢数据的写;)

Create index testindex1

On authoers(au_id);--建立索引

索引的2-4%(这个是挺好的)索引对数据读有好处,对数据写有坏处.

Create index testindex2

On authors(upper(au_fname));

Select * from authors

Where upper(au_fname) like ‘B%’;--如何利用索引.我所建的条件是匹配我建立在索引里的表的

Drop index testindex2--删除索引

缩短数据对像的连子符.

Create public synonym t1

For kong.sales;--建立的同义词t1等于kong.sales;

公有的与私有的.public代表公有;不代public的话,代表私有的.

第十三章Controlling User Access(控制用户存取)

Privileges特权的.

系统权限大概有100多种.

Create user kxf

by kxf_001;--创建用户是kxf口令是kxf_001,此时是不进行数据库的连接

grant create session to kxf;--给权限创建实例给到用户;如果不创建实例给用户,此用户将不能做连接之动作;

…… create table to kxf--给权限创建表给到用户

…… create sequence to kxf--Sequence到用户,

…… create view to kxf--view到用户

…… create procedure to kxf-- procedure到用户

role------是一个命了名的权限的集合;role的作用简化授传的动作以及过程;

创建role

create role manager;

给role权限

grant create table,create view to manager

将权role manager给user

grant manager to dehaan,kochhar;

改变用户的口令

alter user kxf identified bykxf_002

grant select on authors to kxf;

with grant option--把权限给你,而且你可以把权限给别人;

grant update(stor_id,qty) on sales to kxf;

第十四章Using set Operations

Union/union all–-进行排序而且对重复结果进行压缩的;

Select * from employee

Union

Select * from employee;--进行重复性的排序等动作

Union all显示所有.

Intersect--显示交集

Select stor_id,qty from sales where qty>20

Intersect

Select stor_id,qty from sales where stor_id like ‘7%’;--显示这两个条件的交集

Minus--减掉交集.

Select stor_id,qty from sales where qty>20

minusSelect stor_id,qty from sales where stor_id like ‘7%’; --会压缩掉重复的记录

包(PACKAGE)的概念:就是将一群相关联的PL/SQL类型、项目和子程序等有计划地组织起来封装在一起。包通常含有两个部分:规范和主体。

有时候主体部分不是必须要的;

包的规范又叫包头,是我们和应用程序的接口部分(interface).它通常包含有类型、

oracle删除word回车符,看完oracle 007之后的笔记(有些乱)相关推荐

  1. 批量(清除)删除Word回车符

    回车符有两种,"硬回车"和"软回车".硬回车是直接敲键盘上的回车,软回车是按键盘上的" Shift+回车 " 如果要替换软回车,在" ...

  2. 计算机删除的照片怎么恢复数据,怎么恢复电脑里删除的照片?看完你就明白的...

    怎么恢复电脑里删除的照片?看完你就明白的 2019年06月25日 18:15作者:黄页编辑:黄页 分享 怎么恢复电脑里删除的照片?现如今办公广泛在使用电脑进行,电脑上也存储着很多重要的照片数据,如果在 ...

  3. oracle 删除老存档,【转】oracle存档日志删除

    在controlfile中记录着每一个archivelog的相关信息,当然在OS下把这些物理文件delete掉后,在我们的 controlfile中仍然记录着这些archivelog的信息,在orac ...

  4. oracle常见等待事件,必看干货 | Oracle 常见的等待事件说明(下)

    原标题:必看干货 | Oracle 常见的等待事件说明(下) [上期回顾]干货 | Oracle 常见等待事件说明(上)( 点击可查看) 16.Library cache pin 这个等待事件和 li ...

  5. 装oracle非常卡吗,win7系统安装完oracle电脑变卡的解决方法

    今天和大家分享一下win7系统安装完oracle电脑变卡问题的解决方法,在使用win7系统的过程中经常不知道如何去解决win7系统安装完oracle电脑变卡的问题,有什么好的办法去解决win7系统安装 ...

  6. oracle删除表空间中的表,ORACLE删除表空间中的所有表

    ORACLE删除表空间中的所有表,如果是非sysdbA连接用如下sql语句 declare vsql varchar2(200); cursor c1 is select 'drop table '| ...

  7. Word回车符手动一个一个删太麻烦了如何批量删除

    我们从网页上复制一些文章到Word中时,往往会带有好多向下箭头的符号,这就是软回车符号(Word中软回车是同时按住shift+enter得来的), 这些软回车占用了Word很多的空间,那么如何才能删除 ...

  8. 实战演练丨Oracle死锁案例分析,看完你就懂了

    问题背景 发生Oracle死锁的多个进程执行的都是同一个存储过程,大概代码及顺序如下: --1.首先通过主键order_no锁住一条订单 select t.* from order t where t ...

  9. 360 自动打开word_EXCEL的数据和图表如何与ppt,Word关联,看完你就会了

    大家好,我是雨果,今天和大家讲讲EXCEL的数据和图表如何与ppt,Word关联. 在工作中我们经常要把excel中的数据放到ppt中去演示或作为word报告的一部分,在这个过程中excel的数据往往 ...

最新文章

  1. 2018年全球AI突破性技术TOP10
  2. 《快活帮》第九次团队作业:Beta冲刺与验收准备
  3. jquery select change事件_jQuery实现省市联动效果
  4. [剑指offer][JAVA]面试题第[14-1、2]题[剪绳子][Leetcode][第343题][整数拆分][数学][动态规划][背包]
  5. python并行任务之生产消费模式
  6. 计算机网络学习笔记(9. 报文交换与分组交换③)
  7. NUAA 南航操作系统实验
  8. 登录的时候 实现记住密码
  9. pyhton爬取广州链家租房信息,并用tableau进行数据分析
  10. 使用python爬取链家上海二手房信息的案例
  11. 热敏打印机排版—了解打印机的基础知识
  12. Android系统优化实操总结
  13. favicon.ico在线转换网站
  14. am335x linux 的uboot工作流程.doc,am335x uboot2016.05 (MLO u-boot.img)执行流程(转)
  15. Android 图片框架原理——Glide源码分析
  16. 数据挖掘数据预处理(验证性)
  17. yii2框架教程 入门篇(一)
  18. xp计算机管理员桌面文件没有权限,xp右键没有以管理员身份运行怎么办_常见问题解析,xp...
  19. DAY 09 Python 操作Excel
  20. 浪潮各机型管理芯片BMC IP(智能平台管理接口)设置

热门文章

  1. Maven CXF wsdl2Java ListXxx生成ArrayOfXxx包装对象 解决方法
  2. 5.Django|模型层--多表关系
  3. Leetcode 24——Swap Nodes in Pairs
  4. 图片相似度——hash算法简介
  5. java中十进制转二进制转换函数
  6. Microsoft Dynamics CRM MVP
  7. 工作小总结(字符串包含,获取当前页面的url等系列问题)
  8. NickLee UI中间件 for asp.net 2.0版本
  9. 19 个 K8S 日常故障处理集锦
  10. CentOS 7下sshd防暴力破解及fail2ban的使用方法