2018-06-21 第四十六天 oracle-阿里云开发者社区

开发者社区> winniehu> 正文

2018-06-21 第四十六天 oracle

简介:
+关注继续查看

oracle第一天


  • 一、安装注意事项

(程序如有需要,评论私密索取)

如果指定路径,不要存在中文的目录。


查看oracle服务:

需要启动两个服务。

一个是 OracleServiceXE 服务,另一个是OracleXETNSListner 服务--启动。


XE 中自带了两个用户:SYS和SYSTEM


SYS:数据库超级管理员 DBA

SYSTEM:数据库操作员。


重新安装XE:直接在控制面板中卸载即可。再重新安装即可。


二、数据库相关的概念

数据: data

音频,视频 ,文本,都属于数据。


数据库: data base  DB

存放数据的仓库,以一种格式去存放数据。


数据库管理系统  DBMS  data base management system。

一个管理数据库的软件:更加高效的去管理数据库,更加高效的对数据进行操作。


常见:

oracle:oracle 甲骨文

微软:sql-server

IBM:db2

mysql:免费的


数据库管理员--DBA: data base Administrator。

使用数据库管理系统来操作数据库的。

需要 非常专业的数据库的知识。


数据库应用程序:给最终的用户使用的。

可以通过非常小白的操作就可以实现对数据库的操作。


数据库发展的历史:

1:网状

2:层次

3:关系数据库


4:对象数据库


5:nosql 数据库:not only sql

mongoDB  数据库


三、oracle-c/s

oracle 是基于 C/S  Client 客户端 -- Server 服务器


B/S: 浏览器 Browser -- 服务器 Server。


四、oracle概念

oracle 是一个数据库管理系统,管理数据库。

一个系统中可以有多个数据库。

目前就安装了一个数据库--XE。


关系:指的就是二维表。

元组:记录,指的是一条数据 ,一行数据。

属性:列数据,字段。

属性名:列数据的头名称。

域:属性的取值范围。

主键:可以唯一确定一行数据的属性或者属性组 primary key 联合主键(使用多个属性作为主键)


LAMP:网络编程四剑客

L:linux

A:apache

M:Mysql

P:PHP


五、SQL概念

SQL:Structured query language  结构化查询语言。


数据库管理系统可以识别的,用来操作数据库的语言。


所有的数据库管理系统都支持。


不同的数据库管理系统 又开发了自己特有的语言 ,对 SQL 进行扩展。

Oracle:pl/sql.

sql server:t-sql.


SQL 是一个非过程化语言。只需要标明我想做什么就可以了。而不需要具体说明如何做。


SQL 是 程序员和DBA 与数据库管理系统沟通的桥梁。

程序员+DBA--SQL-->DBMS--->DB


通过写SQL语句可以实现什么?

1:可以对数据实现 增删改查 CRUD

增加create、删除delete、改update、查 retrieve。

2:对数据库对象的操作

对用户,表,约束,索引

3:用户权限的控制

授予 grant,撤销权限  revoke。

4:事务的控制

Transaction


SQL 发展过程:sql 86-->sql89--->sql92--->sql 99--->sql 2003---08 ---09
主要学习的是 92 和 99。


SQL 分类:

1:数据查询语言DQL: data query language  

select :最重要最复杂的。


2:数据操作语言DML : data manipulation language

Insert、update、delete。


3:数据定义语言DDL:data definition language

cteate


4:数据控制语言DCL data control language


5:事务控制语言TCL Transaction control language


六、SQL命令行常用命令

登录、切换用户

conn scott/tiger

conn sys/sys as sysdba


加锁解锁账户

alter user scott account lock;

alter user scott account unlock;


显示当前用户

show user


清屏

host cls


七、基本SQL语句

--注释 使用 --


--最简单的sql 语句

--查询所有员工的信息

--需要告诉DBMS查询那张表,说明查询表的那些字段的数据

--from 后跟表的名称   select 后跟的是 查询的字段的内容  * 是通配符,代表当前表的所有的字段。

select * from emp

--显示部分内容 ,需要显示的字段使用逗号分割

select empno, ename, job from emp


--使用算术表达式

--查询员工的姓名,工作,年薪

select * from emp

select ename, job,sal*12 from emp

--任何数据和null 空做运算,结果还是空¡¤

select ename, job,sal*12+comm*12  from emp

select ename,job,sal*12, comm*12 from emp


--使用别名 

--sql 中,通过使用单引号 表示字符串,唯独   使用别名的时候,可以使用双引号表示字符串,as 关键字可以省略。

--除了别名,其他的地方基本上不使用双引号。都是单引号。

select ename 姓名 , job as 职位 , sal*12 as "年薪", comm*12 as 年奖金 from emp



--使用连接符   ||

--显示   xxx员工的编号为XXXX,入职日期为 XXXX,年薪为XXXX

select * from emp

select ename || ' 员工的编号 ' || empno ||  ' , 入职日期为 ' || hiredate || ' ,年薪为 ' || sal* 12 from emp



--去除重复行  distinct

--显示所有的部门编号

select deptno from emp

select distinct deptno from emp

--显示工作和部门编号

select job, deptno from emp

--去除字段组合的重复行

select distinct job, deptno from emp



--排序

--显示员工的所有信息

select * from emp

--按照部门编号排序  默认是升序排列 asc  降序是 desc

select * from emp order by deptno asc

select * from emp order by deptno desc


--按照员工的年薪排序

select ename, job,sal,sal*12 年薪 from emp order by sal*12


--排序的时候,使用字段的别名

select ename,job,sal,sal*12 年薪 from emp order by 年薪


-- 显示员工的 姓名,工资,部门编号,部门编号按照升序排列,如果部门编号相同,按照工资降序排列

select ename,sal,deptno from emp order by deptno asc ,sal desc



--sql 中那些内容是大小写敏感的?哪些是不敏感的。

--关键字   大小写不敏感

SELECT * from emp

--字段名  大小写不敏感

select ENAME, JOB, sal from emp

--表名称  大小写不敏感

select * from EMP

--字段的内容   查询 员工名为 scott 的员工的所有的信息

--字段的内容大小写敏感

select * from emp  where ename='SCOTT'



--where 子句

--作用:进行行数据的过滤


--查询姓名  scott的员工的信息

select * from emp  where ename='SCOTT'


--查询入职日期为1981/4/2 的员工的信息

--1 :使用默认的日期的字符串形式 'DD-MON-RR 

select * from emp where hiredate='2-4-1981'

-- 2:将日期字符串转换成 日期对象  to_date()


--查询工资大于1600的员工的信息

select * from emp where sal > 1600 order by sal

select * from emp where sal >= 1600

select * from emp where sal < 1600

select * from emp where sal <= 1600

select * from emp where sal=1600

select * from emp where sal != 1600

select * from emp where sal <> 1600



--查询1982/1/23 日期之后入职的员工的信息

--日期可以比较大小,是否相等

select * from emp where hiredate < '23-1-1982'


--查询工资在1000-2000之间的所有的员工的信息。and代表并且,相似java 中的&&

select * from emp where sal >=1000 and sal<=2000


--between xx and xx  闭区间的

select * from emp where sal between 1000 and 2000


--查询员工信息工资是 1100 或者是 1600or或者的意思,类似java中的||

select * from emp where sal = 1100 or sal = 1600


--查询所有员工中工种为  clerk  manager  analyst  的员工的信息  ename job  deptno

--字符串的排序规则  java 类似

select ename, job, deptno  from emp where job='CLERK' or job='MANAGER' or job='ANALYST' order by job


-- 在集合中的某一个值就可以  in ()

select ename,job,deptno from emp where job in ('CLERK','MANAGER','ANALYST')



--模糊查询  like

-- 通配符 % :代表任意个字符

--通配符 _ :代表任意一个字符


--查询员工姓名中包含 S 的员工的信息  

select * from emp where ename like '%S%'


--查询员工姓名 第二个字符为A的员工的信息

select * from emp where ename like '_A%'



--查询名字中包含 _ 的员工的信息

--escape 转义指定字符为转义字符

select * from emp where ename like '%\_%' escape '\'



--查询名称中不包含 S 的员工的信息  not like

select * from emp where ename not like '%S%'


--空判断,显示所有奖金是 null 的员工的信息

select * from emp where comm is null


--非空判断  显示所有奖金是 不是 null 的员工的信息

select * from emp where comm is not null


--工作是 clerk 或者 manager 并且 sal 大于 2000

--条件连接符 and  or  的连接的 优先级 不同  and 的优先级 大于 or  ,需要配合小括号控制结合的顺序

select ename, job,sal from emp where (job='CLERK' or job='MANAGER') and sal >2500 order by job


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10092 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12077 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13893 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9161 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
4660 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
4510 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
22409 0
+关注
winniehu
菜鸟
41
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载