oracle数据库基本语句查询

ORacle-12560:TNS 协议配置器错误
1.服务:1.监听服务未开启 2.服务器未开启 3.环境变量:Oracle_sid = orcl 4.regedit注册oracle_sid=orcl 5.cmd-->set oracle_sid = orcl
oracle网络配置文件路径:D:\app\Administrator\product\11.2.0\dbhome_3\NETWORK\ADMIN\SAMPLE
client配置文件路径:D:\app\Administrator\product\11.2.0\client_3
tnsping ip:测试数据库服务的命令
监听配置命令:
1.lsnrctl start 启动监听
2.lsnrctl stop 停止
3.lsnrctl status 查看状态

oracle基本类型

字符串:
1.char/nchar 固定长度
2.varchar2/nvarchar2 可变长度
数字类型
1.number(P,S) EG:123.89 number(3) -->124 四舍五入 123.89 number(6,1) -->123.9
1.P-表示有效数字的位数,最多不能超过38个有效数字
2.S-使用范围-84~127
1.为正数时:从小数点到最低有效数字的位数 123.89 number(6,1) -->123.9
2.为负数时:从最大有效数字到小数点的位数 123.89 number(6,-2) -->100
2.int 整型
日期类型
DATE 日期数据类型存储日期和时间信息

Oracle角色:

connect role    (连接角色)    :对其他用户的表访问 insert into,delete,update,select 还能创建表,视图,序列。不能查看用户名
resource role (资源角色) :创建:表 序列 索引 触发器 过程和簇
dba role (数据库管理) :无限制的空间限额 和给其他用户授权 EG:eilin select,delete to tmp1 角色的权限
lin1 wcq159753?
grant eilin,resource to lin 将角色的权限分给Lin用户
1.创建临时表空间
create temporary tablespace car_data
<br>tmpfile
'C:\Users\102466\Desktop\Provite\car_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent managemet local; 2.创建数据表空间
create tablespace car_data
logging
datefile
'C:\Users\102466\Desktop\Provite\car_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extend management loacl; 3.创建用户并制定表空间
create user eilinge identified by 8888 default tablespace car_data; //用户名:eilinge 密码:8888 4.给刚刚创建的用户授权
grant connect,resource,dba to eilinge; 5.撤销用户权限
revoke create,resource from eilinge; 6.删除用户
drop user eilinge
7.创建表
create table car(
carId number(20) not null primary key,
carName varchar2(20),
carType varchar2(20),
carNum varchar2(20),
carAge int ); 8.修改表
//修改表car,添加check约束
alter table 表名 add constraint check名 check(列名 约束);
alter table car add constraint car_carAge check(carAge between 0 and 10);
//设置外键 alter table 表名 add constraint 外键名 foreign key(userId) references userN(userId);
//修改一个列的数据类型(一般限于修改长度,修改为不同类型时有很多限制) alter table 表名 modify(列名 数据类型);
alter table car modify(carid number(10));
//修改列名 alter table 表名 rename column 当前列名 to 新列名;
alter table car rename column carid to carcar;
//修改表名 alter table 当前表名 rename to 新表名;
alter table car rename to carcar;
//删除列 alter table 表名 drop column 列名;
alter table car drop column carname;
//添加列 alter table 表名 add(column1 datatype,column2);
alter table car add(car1 number(20),car2 number(20)); //外键约束
//约束用于规定表中的数据规则。如果存在违反约束的数据行为,行为会被约束终止
NOT NULL 非空约束 指定的列不允许为空值
UNIQUE 唯一约束 指定的列中没有重复值
primary key 主键约束 --非空 唯一,一个表只能有一个主键约束;
foreign key 外键约束 一个表中的列引用了其他表的列,是得存在依赖关系,可以指向引用自身的列
check 条件约束C 指定该列是否满足某个条件
推荐的约束命名:约束类型_表名_列名
NN -- not NUll
UK -- unique key
PK -- Primary key
Fk -- Foreign key
Ck -- check key
外键约束是用来维护从表和主表的引用完整性的,所以外键约束要涉及2个表:
foreign key :在表级指定子表中的列
references : 标示在父表中的列
on delete cascade : 当父表中的列被删除时,子表中相对应的列也被删除
on delete set null: 子表中相应的列置空
9.创建userN表
里面有创建表和添加外键及主键
create table userN(
userId number(20) not null primary key, //添加主键
licNum number(20),
userName varchar2(10),
sex varchar2(2),
userAge int,
userNative varchar2(10),
userAddress varchar2(100),
userNum number(13),
carId number(20),
constraint carId foreign key(carId) references car(carId); //外键关联 constraint约束 10.插入数据的语句
insert into car values('20131101','宝马'); 11.更新数据的语句
//修改某一数据。例如:将表salary中编号为11011的职工收入改为10000;
update salary set income=10000 where employeeid = 110001;
//修改某一列数据。例如:给每个职工增加收入100元
update salary set income = income+100; 12.查询
//查询car表里面车牌号为88888的车的信息
select * from car
where carnum = '88888';
//查询车牌号为88888并且carname为奔驰的车的所有信息(跨表查询)
select * from Usern
where carid = '88888' and carname='奔驰';
//查询车牌号为88888的车主的所有信息(跨表查询)
select * from Usern
where carid in (select carid from car where car.carnum='88888');
//查询车主的所有身份信息以及车信息(外连接)
select * from usern left join car on(car.carid=userN.carid);
//查询车牌号为88888的车主的所有身份信息以及车信息(外连接);
select * from usern left join car on(car.carid = userN.carid)
where carnum = '88888';
//查询车名为宝马的用户信息(子查询)
select * from usern where cauid in (select carid from car where carname='宝马');
//查询换过尾灯且加过导航的奔驰车信息(多表连接)
select * from car as c ,reparis as r ,variation as v where r.type='尾灯' and v.type='加导航' and c.carname='奔驰';
//查询各种类型的车的数量分别为多少(分组加计数)
select carname,count(*) 数量 from car group by carname; 12.视图和索引
什么是视图:
1.视图是一种虚表
2.视图建立在已有表的基础上,视图赖以建立的这些表称为基表
3.向视图提供数据内容的语句为select语句,可以将视图理解为存储起来的select语句
4.视图向用户提供基表数据的另一种表现形式
5.视图没有存储真正的数据,真正的数据还是存储在基表中
6.程序员虽然操作的是视图,但最终视图还是会转成操作基表
视图的作用
1.限制数据访问
2.简化复杂查询
3.提供数据的相互独立
4.同样的数据,可以有不同的显示方式
1.创建视图
create view temp as select carid,cartype from car; 什么是索引
1.是一种快速查询表中内容的机制,类似于新华字典的目录
2.运用在表中某个/些字段上,但存储时,独立于表之外
索引的特点
1.索引一旦建立,Oracle管理系统会对其进行自动维护,而且由Oracle管理系统决定何时使用索引
2.用户不用在查询语句中指定使用哪个索引
3.在定义primary key 或unique约束后系统自动在相应的列上创建索引
4.用户也能按自己的需求,对指定单个字段或多个字段,添加索引
2.创建索引
create index cartype on car(cartype) 13.order by
select column_name1,colum_name2
from table_name
order by column_name,column_name ASC | DESC--降序; 14.like
select * from websites
where name like '%S-'
% --代替0个或多个字符
- 代替一个字符 15.函数 Aggregate
AVG() 平均值
COUNT() 行数
Fisrt() 第一个记录的值
last() 最后一个记录的值
max() 最大值
min() 最小值
sum() 总和 Scalar 函数
函数基于输入值,返回一个单一的值
UCASE() 将某个字段转换为大写
LCASE() 将某个字段转换为小写
MID() 从某个文本字段提取字符
LEN() 返回某个文本字段的长度
ROUND() 对某个数值字段进行指定小数位的四舍五入
NOW() 返回当前的系统日期和时间
format() 格式化某个字段的显示方式 16.HAVING
select column_name,
aggregate_function(column_name)
from table_name
where column_name operator value
group by column_name
Having aggregate_function(column_name)
operator; EG:select websites.name,SUM(access_log.count) AS nums
from Websites
INNER JOIN access_log
ON websites.id = access_log.site_id
WHERE website.alexa < 200
group by websites.name
HAVING SUM(access_log.count) > 200;

附录:

commit         提交,插入数据之后,需输入commit,才算插入成功
desc 查看表结构
delete table table_name 删除表
varchar 允许存储空字符串
varchar2 和varchar功能一样,将空字符串改为NULL存储
distinct 除去重复值
revoke 撤销
grant 赋予 select table_name from user_tables; 查看某用户下的所有表名
user_tables 自己所有表
all_tables 全部表
dba_tables select * from sys.tmp //sys 声明对象
查看所有用户
select username from dba_users;
查询用户权限
select * from user_sys_privs; 无法显示用户对表的权限
system 角色
select * from user_role_privs; sys 具有最高权限,可以对system创建的表进行操作和权限管理
system 无法对sys.temp进行操作

Orcale(一)的更多相关文章

  1. orcale删除重复数据

    1.删除orcale重复数据, delete from da_door awhere (a.dt,a.key1) in (select dt,key1 from da_door group by dt ...

  2. Orcale(一)概念

    一 . 基本概念 :   1. orcaleinstanceclient : orcale的客户端  ( 1. 中文乱码问题 : NLS_LANG=SIMPLIFIED CHINESE_CHINA.Z ...

  3. orcale 循环插入 测试数据

    以前开发一直用的是sql server   定义临时变量 循环插入数据到表中已经成为一种固定的模式,本来想orcale应该也一样吧 都是数据库.. 结果被现实无情的打击到了.在网上找办法,求大神 最后 ...

  4. orcale同一条语句运行速度差异问题

    在oracle中执行一个查询语句,该语句首次执行时orcale会把其内容存入SGA(系统全局区)中,下次再执行同一条语句的时候就不再去解析该语句,而是直接从SGA区中取出该语句执行,但是前提是SQL没 ...

  5. Orcale Function Sequence

    Orcale Function Sequence. 1 Create Or Replace Function F_Get_Sequence(As_Companyno In Varchar2, As_T ...

  6. sqlserver分页;mysql分页;orcale分页 的sql 查询语句

    一,sqlserver分页: )) ID FROM 表名 AS 表名1_1 ORDER BY ID)) ORDER BY ID; 二:mysql分页 )*每页显示的数据条数,当前页码 * 每页显示的数 ...

  7. Orcale安装完成后 em管理、性能无法登陆 报:没有找到主机

    先在我的电脑环境变量中加入oracle_sid=orcl 在Orcale主目录中查找emd.properties 文件修改(时间格式) agentTZRegion=GMT agentTZRegion= ...

  8. orcale装完sqldevelop启动不了

    一直在搞考试,昨天考java企业级开发要交项目搞得我装系统后又装了个orcale,每次重新配百度太麻烦,还好记得点,记录下碰到的错误 64位的系统下的orcale11 64位里面的sqldevelop ...

  9. go orcale

    golang连接orcale   使用glang有一段时间了,最开始其实并不太喜欢他的语法,但是后来熟悉之后发现用起来还挺爽的.之前数据库一直使用mysql,连接起来没有什么问题,github上有很多 ...

  10. MySQL、SQLServer2000(及SQLServer2005)和ORCALE三种数据库实现分页查询的方法

    在这里主要讲解一下MySQL.SQLServer2000(及SQLServer2005)和ORCALE三种数据库实现分页查询的方法. 可能会有人说这些网上都有,但我的主要目的是把这些知识通过我实际的应 ...

随机推荐

  1. Android下常见的内存泄露 经典

    转自:http://www.linuxidc.com/Linux/2011-10/44785.htm 因为Android使用Java作为开发语言,很多人在使用会不注意内存的问题. 于是有时遇到程序运行 ...

  2. CentOS7安装Nginx实现API网关

    参考 http://nginx.org/ http://nginx.org/en/linux_packages.html#stable https://www.npmjs.com/package/js ...

  3. The eleventh day

    What's the damage? Thanks so much for fixing the break on my car . What's the damage for the work yo ...

  4. html table 的属性

    表格table th,td 文字顶部对齐 <th valign="top"></th> <td valign="top">& ...

  5. svg保存为图片下载到本地

    今天给大家说一个将svg下载到本地图片的方法,这里我不得不吐槽一下,为啥博客园不可以直接上传本地文件给大家用来直接下载分享呢,好,吐槽到此为止! 这里需要用到一个js文件,名字自己起,内容如下: (f ...

  6. 信息无缝滚动效果marquee

    横向滚动.纵向滚动 1. 解决滚动的空白 向左向右滚动的话,可以根据父级定位left,每次加或者减可以使物体向左或右运动,用top也可以实现向上或向下运动 上下滚动实现无缝滚动1. innerHTML ...

  7. LotusScript_导出数据库路径和名称

    对服务器有些数据库需要建立复本,新建拷贝,修改权限(ACL),或是修改数据库标识符(ID)需要找到这些数据库.这个方法是导出指定服务器上所有数据库的路径,数据库名,标识符等信息,导出后对Excel表格 ...

  8. selenium server在页面加载超时浏览器与driver通信失败时的妙用

    事实上,WebDriver有两种方式“驱动”浏览器的方式.1. Selenium Server:和Selenium RC一样的,通过指定远端服务器IP地址和端口号,由这个远端服务器来驱动浏览器.2. ...

  9. 原生Js在各大浏览器上、火狐、ie、谷歌、360等出现的不兼容问题。

    1 document.getElementsByName("name")  在Ie低版本,360普通版本,以及火狐低版本不支持. 2 element.innerText 在低版本的 ...

  10. JavaScript 闭包的详细分享(三种创建方式)(附小实例)

    JavaScript闭包的详细理解 一.原理:闭包函数--指有权访问私有函数里面的变量和对象还有方法等:通俗的讲就是突破私有函数的作用域,让函数外面能够使用函数里面的变量及方法. 1.第一种创建方式 ...