1、Oracle的五大约束条件:

1 主键  primary key
2 外键  foreign key,
3 唯一  unique,
4 检测  check
5 非空  not null

实例运用:

-- 商品表   客户表   购物车表
/*
商品表 goods  编号gid , 名称 , 价格 ,厂商
客户表 customer 编号cid  ,姓名,性别,出生日期,身份证
购物车表 purchase  商品编号,客户编号,商品数量
请建立表,要求 必须有主外键,所有的名称不能为空,价格必须大于0,身份证必须唯一,性别必须是男女默认男,商品数量必须是1到30之间
*/
create table goods(
gid number(8) primary key,
gname varchar2(50) not null,
price number(15,2) check(price >0),
firm varchar2(100)
);create table customer(
cid number(8) primary key,
cname varchar2(30) not null,
sex char(2) default '男' check (sex in ('男','女')),
birth date,
idcard  char(18) unique
);create table purchase (
gid number(8)  references goods(gid),
cid number(8)  references customer(cid),
goodsnum number(8) check( goodsnum  between 1 and 30)
);

2、Oracle 基础知识(在PLSQL developer中操作)

---管理员登录
conn sys/oracle@orcl as sysdba;
--解锁scott方案
alter user scott account unlock;
--scott登录
conn scott/tiger@orcl as normal;

3、基本数据类型

可参照:http://blog.csdn.net/weixin_41278231/article/details/78716417

1) 数字 number [小数,整数]
number(5,3)表示总共5个数字,小数点后3个,最大值99.999
number(5) 表示整数  最大值99999

2) 字符

char 定长字符 : char(10)   如果没有达到10字符就用空格补充,他所占的大小总是10字符空间
   varchar2  变长字符和varchar类似 :varchar2(10) 如果没有达到10个字符长度不用空格补充
   clob   大文本类型:文字很多,小说,简介,新闻内容...
   blob  大文本类型: 图片,文件,压缩文件...
   
3)时间

   date       年月日 时分秒
        timestamp  年月日 时分秒  秒可以带小数点(精确到0点几秒)

4、dos命令行

1、连接数据库
在命令提示符中运行:C:\Adminstrator> sqlplus sys/change_on_install as sysdba; 或 C:\Adminstrator> sqlplus / as sysdba
在Oracle的SQL命令行工具中运行:  SQL> conn sys/change_on_install@szdev as SYSDBA;  解析:as SYSDBA:连接为数据库管理员SQL> conn user/user@szdev as NORMAL;  -- 格式:conn 用户名/密码@数据库名 as normal;   解析:as normal:连接为normal(普通数据库用户).
解析:sys:用户名   change_on_install:(默认)密码    sysdba:连接身份
连接身份:一共三种,分别为
sysdba:系统管理员
sysoper:系统操作员
normal:普通用户2、解锁用户:
SQL> alter user scott account unlock;
修改密码:
SQL> alter user scott identified by 123;  scott:用户名; 123:新密码3、以scott普通用户的身份进入
SQL> sqlplus scott/tiger
注:oracle的关键字(比如sqlplus/as)不区分大小写,用户名(如scott/sysdba)不区分大小写,但是密码严格区分大小写.SQL> select status from v$instance;
v$动态表开头,查看动态实例,open为启动。
SQL> shutdown immediate     关闭数据库
SQL> startup    继续启动
SQL> show parameter db_name  查看数据库名称查询数据库SCOTT用户默认的状态
SQL> select username,account_status from dba_users where username='SCOTT';
SQL> desc user_tables; 描述
SQL>  show user查看当前数据库用户

5、JavaEE工程师,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服务器

===========================================================================================================================================================

第一种:创建数据库的方法 http://www.cnblogs.com/manmanlu/p/5993449.html

第二种方法:

1、数据库创好后,给数据表分配大小      

create tablespace day48ssh datafile 'S:\OracleDB\oradata\day48ssh\day48ssh_data.DBF' size 500M;

解析:day48ssh:数据库名称

    size 500M:给数据表分配的空间大小

    'S:\OracleDB\oradata\day48ssh\day48ssh_data.DBF':本地路径

2、新增用户zhao/1234   

创建用户:create user zhao identified by 1234;

授予用户使用表空间的权限:alter user zhao quota unlimited on day48ssh;

授予zhao用户创建session的权限,即登陆权限:grant create session to zhao;

授予zhao用户创建table的权限:grant create table to zhao;

授予zhao用户创建sequence的权限:grant create sequence to zhao;

授予zhao用户操作表空间的权限:grant resource to zhao;

或者一键授权:

grant create session,create table,create sequence,create view,resource to zhao;

3、执行建表脚本(创建表) “案例表”   

create table users(

id number(5) primary key,

account varchar2(20) not null,

password varchar2(20) not null

);

创建序列:create sequence users_seq;  由于oracle没有自增长,所以...

插入一条记录:insert into users values(users_seq.nextval,'zhao','123456');

============================================================================================================================================================

调整dos命令行显示数据表的格式(简称:好看格式,就是把凌乱的格式转化为一个好看的表的形式,蓝色为表的字段名):

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

============================================================================================================================================================

4、Oracle用户创建及权限设置

1)、默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限

  grant create session to zhangsan; //授予zhangsan用户创建session的权限,即登陆权限grant unlimited tablespace to zhangsan; //授予zhangsan用户使用表空间的权限grant create table to zhangsan; //授予创建表的权限grant drop table to zhangsan; //授予删除表的权限grant insert table to zhangsan; //插入表的权限grant update table to zhangsan; //修改表的权限grant all to public; //这条比较重要,授予所有权限(all)给所有用户(public)

2)、oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权

  grant select on tablename to zhangsan; //授予zhangsan用户查看指定表的权限grant drop on tablename to zhangsan; //授予删除表的权限grant insert on tablename to zhangsan; //授予插入的权限grant update on tablename to zhangsan; //授予修改表的权限grant insert(id) on tablename to zhangsan;grant update(id) on tablename to zhangsan; //授予对指定表特定字段的插入和修改权限,注意,只能是insert和updategrant alert all table to zhangsan; //授予zhangsan用户alert任意表的权限

、撤销权限

 基本语法同grant,关键字为revoke

、查看权限

select * from user_sys_privs;//查看当前用户所有权限

select * from user_tab_privs;//查看所用用户对表的权限

四:查询/查看

查看当前的所有数据库: select * from v$database;
     select name from v$database;
查看数据库结构字段:desc v$databases;

************************************* oracle基本操作语句 ************************************

打开服务器
net start oracleservicebinbo
打开监听器
lsnrctl start
关闭服务器
net stop oracleservicebinbo
关闭监听器
lsnrctl stop
===============================================================
清屏:clear screen 或 host cls退出:exit 或 quit===============================================================
查看当前用户的角色
SQL>select * from user_role_privs;
===============================================================
查看当前用户的系统权限和表级权限
SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs;
===============================================================
查看当前用户的缺省表空间
SQL>select username,default_tablespace from user_users;
===============================================================
换用户
conn as sysdba
sys
tsinghua
sqlplus "sys/tsinghua as sysdba"
conn sys/zl as sysdba
===============================================================
修改表结构
alter table test modify(name not null);
alter table test add(name varchar2(20));
alter table test drop column sex;
alter table test set unused column sex;
alter table test drop unused columns;
===============================================================
更改用户密码
sql>alter user 管理员 identified by 密码;
===============================================================
创建表空间的数据文件
sql>create tablespace test datafile 'd:oraclebinbo.dbf' size 10m;
===============================================================
创建用户
sql>create user 用户名 identified by 密码;
===============================================================
bfile类型实例
创建目录
create directory tnpdir as 'c:';
删除目录
drop directory tnpdir
授权 (读数据库目录和文件的权限)
grant read on directory tnpdir to scott;         用户:scott
建表
create table bfiletest(id number(3), fname bfile);
添加数据
insert into bfiletest values(1,bfilename('TMPDIR','tmptest.java'));
===============================================================
查看用户
sql>show user
===============================================================
检查语句是否有错
show error
===============================================================
锁定用户
sql>alter user 用户名 account lock
===============================================================
解除(锁)用户
sql>alter user 用户名 account unlock
===============================================================
删除用户
sql>drop user zl;
===============================================================
给用户创建表权限
sql>grant create table to 用户名;
===============================================================
授管理员权限
sql>grant dba to 用户名;
===============================================================
给用户登录权限
sql>grant connect to 用户名
===============================================================
给用户无限表空间权限
sql>grant unlinmited tablespace to 用户名;
===============================================================
收回权限
sql>revoke dba from 用户名;
===============================================================
查看用户下所有的表SQL>select * from user_tables;
===============================================================
查看名称包含log字符的表SQL>select object_name,object_id from user_objectswhere instr(object_name,'LOG')>0;
===============================================================
查看某表的创建时间SQL>select object_name,created from user_objects where object_name=upper('&table_name');
===============================================================
查看某表的大小SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segmentswhere segment_name=upper('&table_name');
===============================================================
查看放在ORACLE的内存区里的表SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;
===============================================================再添加一个表空间的数据文件
sql>alter tablespace test add datafile 'd:oracletest1.dbf' size 10m;
===============================================================
建表    SQL>create table studen(stuno int,stuname varchar(8) not null,stubirth date default to_date('1987-5-9','YYYY-MM-DD'));
向表结构中加入一列  SQL>alter table studen add(stuphoto varchar(9));
从表结构中删除一列  SQL>alter table studen drop column stuphoto;
修改表一列的长度    SQL>alter table studen modify(stuno number(4));
隐藏将要删除的一列  SQL>alter table studen set unused column stuphoto;
删除隐藏的列        SQL>alter table studen drop unused columns;
向表中加入约束      SQL>alter table studen add constraint pk primary key(stuno);
删除约束            SQL>alter table studen drop constraint pk;
===============================================================
创建表sql>create table 用户名(name varchar2(20),password varchar(20)) tablespace 空间名;
===============================================================
添加字段
sql>alter table test add(column_x char(10) not null);
===============================================================
更改字段
sql>alter table emp modify(column_x char (20));
===============================================================
删除字段如待删除域属于某个索引,则不允许删除操作,必须将此域先设置为NULL。
sql>alter table emp modify(column_x null);
sql>update emp set column_x=null;
sql>commit;
sql>alter table emp drop(column_x);
===============================================================
选择表空间
sql>alter user 用户名 default tablespace test;
===============================================================
管理员删除别的用户中的表
sql>drop table 用户名.表名;
===============================================================
退出
sql>exit; 或 sql>quit;
===============================================================
默认进入
sql>sqlplus "/ as sysdba"
===============================================================
查看数据库
sql>show parameter block;
===============================================================
写大量语句用记事本,新建方式。
输入"ed"回车
保存后
输入"/"运行;
===============================================================
查询用户有多少表
sql>select * from tab;

原创作者:DSHORE

作者主页:http://www.cnblogs.com/dshore123/

原文出自:http://www.cnblogs.com/dshore123/p/8622757.html

欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!

G
M
T

检测语言世界语中文简体中文繁体丹麦语乌克兰语乌兹别克语乌尔都语亚美尼亚语伊博语俄语保加利亚语僧伽罗语克罗地亚语冰岛语加利西亚语加泰罗尼亚语匈牙利语南非祖鲁语卡纳达语印地语印尼巽他语印尼爪哇语印尼语古吉拉特语哈萨克语土耳其语塔吉克语塞尔维亚语塞索托语威尔士语孟加拉语宿务语尼泊尔语巴斯克语布尔语(南非荷兰语)希伯来语希腊语德语意大利语意第绪语拉丁语拉脱维亚语挪威语捷克语斯洛伐克语斯洛文尼亚语斯瓦希里语旁遮普语日语格鲁吉亚语毛利语法语波兰语波斯尼亚语波斯语泰卢固语泰米尔语泰语海地克里奥尔语爱尔兰语爱沙尼亚语瑞典语白俄罗斯语立陶宛语索马里语约鲁巴语缅甸语罗马尼亚语老挝语芬兰语苗语英语荷兰语菲律宾语葡萄牙语蒙古语西班牙语豪萨语越南语阿塞拜疆语阿尔巴尼亚语阿拉伯语韩语马其顿语马尔加什语马拉地语马拉雅拉姆语马来语马耳他语高棉语齐切瓦语   世界语中文简体中文繁体丹麦语乌克兰语乌兹别克语乌尔都语亚美尼亚语伊博语俄语保加利亚语僧伽罗语克罗地亚语冰岛语加利西亚语加泰罗尼亚语匈牙利语南非祖鲁语卡纳达语印地语印尼巽他语印尼爪哇语印尼语古吉拉特语哈萨克语土耳其语塔吉克语塞尔维亚语塞索托语威尔士语孟加拉语宿务语尼泊尔语巴斯克语布尔语(南非荷兰语)希伯来语希腊语德语意大利语意第绪语拉丁语拉脱维亚语挪威语捷克语斯洛伐克语斯洛文尼亚语斯瓦希里语旁遮普语日语格鲁吉亚语毛利语法语波兰语波斯尼亚语波斯语泰卢固语泰米尔语泰语海地克里奥尔语爱尔兰语爱沙尼亚语瑞典语白俄罗斯语立陶宛语索马里语约鲁巴语缅甸语罗马尼亚语老挝语芬兰语苗语英语荷兰语菲律宾语葡萄牙语蒙古语西班牙语豪萨语越南语阿塞拜疆语阿尔巴尼亚语阿拉伯语韩语马其顿语马尔加什语马拉地语马拉雅拉姆语马来语马耳他语高棉语齐切瓦语          

文本转语音功能仅限200个字符
  选项 : 历史 : 反馈 : Donate 关闭

转载于:https://www.cnblogs.com/dshore123/p/8622757.html

Oracle数据库,基础知识相关推荐

  1. oracle数据库中基础知识,oracle数据库基础知识

    oracle数据库基础知识 -- End loop --1 declare pnum number(4):=0; begin while pnum < 10 loop dbms_output.p ...

  2. oracle数据库基础知识总结,oracle数据库基础知识学习笔记

    oracle数据库基础知识学习笔记 一.oracle数据库类型: Char:  字符型(最大长度2000,定长.不足时以空格补充) Varchar2:字符型 最大长度 4000,变长,实际长度由存储的 ...

  3. oracle数据库sql基础知识,Oracle数据库基础知识为内部培训资料.doc

    PAGE 1 课程 IL001100 ORACLE数据库基础知识 ISSUE1.0 开心Java整理 IL001100 ORACLE数据库基础知识 ISSUE1.0 目录 PAGE 1 PAGE 45 ...

  4. Oracle数据库基础知识+sql语句练习

    文章目录 四.数据库 4.1 Oracle 准备知识 SQL基本分类 Oracle数据类型 基本用法 事务 事务特性: 隔离性问题: 隔离级别: 锁 锁的介绍 锁的分类 锁的类型 锁等待和死锁 查看是 ...

  5. oracle数据库基础知识总结,oracle知识点总结(一)

    关键字: oracle,database Oracle SQL(Oracle 9i 9.2.0.1.0) 一.DataBase 保存数据,以表的形式表现数据 二.SQL SQL(structure q ...

  6. Oracle数据库基础知识(一)

    创建表空间 create tablespace xiaomifeng1010 datafile 'c:\xiaomifeng1010.dbf' size 100m autoextend on next ...

  7. oracle数据库基础知识总结,我见过的最值得收藏的Oracle数据库知识点总结(III)...

    16.select语句和update语句 --select语句的基本用法 select * from myusers; --修改李四的工资为5000 --修改李连杰的工资为10000 update m ...

  8. oracle 数据库基础知识复习

    1. 单表的数据查询 1.1指定字段的数据记录查询 select field1,field2,... FROM 表名 WHERE CONDITION 例: select t.stuname,t.age ...

  9. Oracle数据库基础知识(二)

    视图 ---视图的概念:视图就是提供一个查询的窗口,所有数据来自于原表. ---查询语句创建表 create table emp as select * from scott.emp; select ...

  10. 在oracle数据库的逻辑结构中以下组件,数据库基础知识试题(含答案)

    WORD格式可编辑 . 数据库基础知识试题 部门____________姓名__________日期_________得分__________ 一.不定项选择题(每题1.5分,共30分) 1.DELE ...

最新文章

  1. Python可视化——3D绘图解决方案pyecharts、matplotlib、openpyxl
  2. 利用Vlan控制与隔离广播风暴
  3. php route取值,route命令详解
  4. Linux网络:网络传输基本流程与协议初识
  5. Linux下c和cuda混合编译,并生成动态链接库.so和使用
  6. NeurIPS 2021 | 港中文周博磊组:基于实例判别的数据高效生成模型
  7. android 图片与内存加载
  8. matlab 判断鼠标按下,Matlab:如何通过使用回调来获取当前鼠标在点击位置
  9. 哪本书是对程序员最有影响(stackoverflow)
  10. 使用frp实现将内网映射到公网 无需花生壳
  11. 工作5年后我才发现:90%的技术问题,可以解决
  12. yolov3 python接口_darknetyolov3调用Python接口来检测和保存批处理图像,DarknetYoloV3,python,进行,批量,图片,并...
  13. myeclipse java设置_【使用指南】MyEclipse部署配置(多图)
  14. GoogleNet家族
  15. How to support Specular-Glossiness in Three.js
  16. C语言 饭卡管理系统
  17. phpquery抓取网站内容简单介绍
  18. 大数据笔记--scala(第一篇)
  19. Duke的咆哮语录②:我求求你们跟我学一下代码“分层”吧!
  20. [科技] 假装是ETT的ETT

热门文章

  1. Android官方文档training中英文翻译目录大全:29篇已翻译,45篇未翻译
  2. 个人笔记:算法讲座2.1——法老的权杖(某数出现的频率)
  3. 使用 FreeBSD 的原因
  4. 蓝桥杯 算法提高-学霸刷题
  5. 参加51CTo培训,红帽RHCE认证考试通过啦
  6. 线程并发和并行_并发性,并行性和圣诞老人​​的许多线程
  7. 可视化搭建,1天开发1款“智慧楼宇”应用
  8. 动态内存分配与智能指针
  9. WebService SOAP XML 与 REST JSON 架构的比较
  10. 政务大数据资源平台项目可研方案(ppt可编辑)