Oracle(一)基础和简单查询

基础

一)oracle概述

(1)了解一些关于数据库的概念
数据:在数据库领域看来,数据是存储的基本单位,包含文本,图片,视频,音频
数据库:就是数据仓库,存储数据的地方,特指计算机设备中的硬盘,以二进制压缩文本的形式存放
该文件不能直接操作,必须由各数据库公司提供的工具方可操作,该文件的格式是每个数据库公司内部
定义的,不是统一规则
数据库对象:在Oracle中,例如:表,视图,索引,函数,过程,触发器。。。
关系型数据库:简单的说,以行列结构的形式,将数据库中的信息表示出来的对象,即二维表
常见流行的关系型数据库:Oracle&MySQL/Oracle–>DB2/IBM—>SQLServer/Microsoft–>。。。

(2)了解oracle11g背景

(3)oracle数据库服务器由二部份组成
(A)实例:理解为对象,看不见的
(B)数据库:理解为类,看得见的,E:\app\Administrator\oradata\orcl*.DBF

(4)oracle服务器与orcl数据库的关系
一个oracle数据库服务器中包括多个数据库,例如:orcl,orm,oa,bbs,tax,erp等等
在E:\oracleDB\oradata\目录下,有多少个文件夹,就有多少个数据库,例如:orcl文件夹=orcl数据库
我们向数据库中存储的所有数据库,最终都会存放在对应库的*.DBF文件中,以二进制压缩形式存放
在oracle服务器中创建数据库:参见《在oracle服务器中创建数据库.JPG》
注意:我们在安装oracle时,已经创建好了一个数据库,默认名叫orcl,除非你当时改了数据库名字

(5)sqlplus和sqldeveloper,orcl实例,orcl数据库之间的关系
sqlplus是oracle11g自带的一个客户端黑屏界面工具,该工具可以连接到某个数据库的实例上,从而操作数据库
sqldeveloper是oracle11g自带的一个客户端彩屏界面工具,该工具可以连接到某个数据库的实例上,从而操作数据库
如果你觉得这二款客户端工具不喜欢,可以上网下载第三方的客户端工具
(6)以sys超级用户名,dba角色,即超级管理员身份解锁scott方案/用户,并为scott设置一个密码为tiger
解锁用户:alter user scott/hr account unlock;
设置密码:alter user scott/hr identified by tiger/lion;
普通用户scott
密码tiger

(7)使用客户端sqlplus工具进入与退出orcl数据库
------以超级管管理员角色进入
c:/>sqlplus / as sysdba
sql>exit
------以普通用户进入
c:/>sqlplus scott/tiger
sql>exit
声明:我们以普通用户的身份进入

二)Java工程师,oracleSQL和oracle的关系

(1)第四代语言:SQL【结构化查询语言,面向关系的】
第一代:机器语言
第二代:汇编
第三代:C/C++/C#/Java/VB/…
第四代:SQL
将来。。。

(2)SQL92/【99】标准的四大分类
(A)DML(数据操纵语言):select,insert,update,delete
(B)DDL(数据定义语言):create table,alter table,drop table,truncate table 。。。
(C)DCL(数据控制语言):grant 权限 to scott,revoke 权限 from scott 。。。
(D)TCL(事务控制语言):commit,rollback,rollback to savepoint 。。。

(3)oracleSQL与SQL92/99的关系
SQL92/99标准,访问任何关系型数据库的标准
oracleSQL语言,只访问Oracle数据库服务器的专用语言

(4)Java技术和oracleSQL的关系
JDBC–>使用OracleSQL语法–>Oracle服务器—>orcl数据库–>表–>记录
Hibernate–>使用OracleSQL语法–>Oracle服务器
MyBatis–>使用OracleSQL语法–>Oracle服务器

简单查询

1.使用password命令修改密码
password
2.退出sqlplus工具
exit
3.查询当前用户
show user
4.查询hr用户下的所有对象,使用tab表,tab表每个用户下都有,作用是查询该用户都有哪些表

select * from tab;

5.设置显示的列宽(字符型)

column 列名 format a16;

6.设置显示的列宽(数字型)只能用9一个9代表一位

column 列名 format 9999;

7.查看表结构

desc emp;
更改表的样式、结果

col empno for 9999;
col ename for a10;
col job for a10;
col mgr for 9999;   
col hiredate for a12;
col sal for 9999;
col comm for 9999;
col deptno for 99;
set pagesize 20;
col tname for a20;
set pagesize 80; 

8.查询所有内容(*代表通配,表示查询出该表中所有的字段,一般不推荐使用)

SELECT * FROM EMP;
SELECT EMPNO , ENAME , JOB, MGR, COMM FROM EMP;

查询员工的编号,姓名,月薪,年薪(月薪*12)

SELECT empno,ename,sal,sal*12 ’年薪‘ FROM EMP;

查询员工的编号,姓名,月薪,年薪,年收入(年薪+奖金)别名不能使用单引号,因为oracle认为单引号为字符类型或日期类型

select empno 员工编号,ename 名字,sal 月薪,sal*12 年薪,sal*12+comm 年收入 from emp;

解决NULL的问题,使用NVL()函数,NVL(a,b):如果a为null则用b替代,如果a不是null就直接返回a

select nvl(null,10) from dual; -- dual为哑表

使用dual哑表,使用字符串连接符号||,输出"hello world",在oracle中from是必须写的

select 'hello' || 'world' from dual;

使用sysdate显示当前时间

select sysdate from dual;

where子句:筛选

查询EMP表中20号部门的员工

select * from emp where deptno=20;

查询员工为SMITH的员工,字符串使用’’,内容大小写敏感

SELECT * FROM emp WHERE ename='SMITH';

查询在2003年6月17号入职的员工

select * from emp where hiredate = '17-12月-80';

查询工资不等于3000美金的员工【!=或者<>】

SELECT * FROM emp WHERE sal <> 3000;

查询薪水在1300到1600的员工,包含1300到1600

SELECT * FROM EMP WHERE SAL>=1300 AND SAL<=1600;
	或
SELECT * FROM EMP WHERE SAL BETWEEN 1300 AND 1600;

查询入职时间在"1981-2月-20"到"1982-1月-23"之间的员工

select * from emp where hiredate between '20-2月-81' and '23-1月-82';

注意:
1)对于数值型,小数值在前,大数值在后
2)对于日期型,年长值在前,年小值在后

查询姓名以大写字母S开头的员工

SELECT * FROM EMP WHERE ename LIKE 'S%';

查询员工信息,对有佣金的员工,按佣金降序排列,当order by 和 where 同时出现时,order by 在最后

	select *
	from emp
	where comm is not null
	order by comm desc;

查询员工信息,按工资降序排列,相同工资的员工再按入职时间降序排列

select *
	from emp
	order by sal desc,hiredate desc;
	select *
	from emp
	order by sal desc,hiredate asc;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GeoPandas是一个开源的Python库,旨在简化地理空间数据的处理和分析。它结合了Pandas和Shapely的能力,为Python用户提供了一个强大而灵活的工具来处理地理空间数据。以下是关于GeoPandas的详细介绍: 一、GeoPandas的基本概念 1. 定义 GeoPandas是建立在Pandas和Shapely之上的一个Python库,用于处理和分析地理空间数据。 它扩展了Pandas的DataFrame和Series数据结构,允许在其中存储和操作地理空间几何图形。 2. 核心数据结构 GeoDataFrame:GeoPandas的核心数据结构,是Pandas DataFrame的扩展。它包含一个或多个列,其中至少一列是几何列(geometry column),用于存储地理空间几何图形(如点、线、多边形等)。 GeoSeries:GeoPandas中的另一个重要数据结构,类似于Pandas的Series,但用于存储几何图形序列。 二、GeoPandas的功能特性 1. 读取和写入多种地理空间数据格式 GeoPandas支持读取和写入多种常见的地理空间数据格式,包括Shapefile、GeoJSON、PostGIS、KML等。这使得用户可以轻松地从各种数据源中载地理空间数据,并将处理后的数据保存为所需的格式。 2. 地理空间几何图形的创建、编辑和分析 GeoPandas允许用户创建、编辑和分析地理空间几何图形,包括点、线、多边形等。它提供了丰富的空间操作函数,如缓冲区分析、交集、并集、差集等,使得用户可以方便地进行地理空间数据分析。 3. 数据可视化 GeoPandas内置了数据可视化功能,可以绘制地理空间数据的地图。用户可以使用matplotlib等库来进一步定制地图的样式和布局。 4. 空间连接和空间索引 GeoPandas支持空间连接操作,可以将两个GeoDataFrame按照空间关系(如相交、包含等)进行连接。此外,它还支持空间索引,可以提高地理空间数据查询的效率。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值