Oracle中sql相关的命令
1.创建用户
SQL> -- 例如创建一个用户名为xiaoming,密码为a123的用户
SQL> create user xiaomingidentified by a123;
用户已创建。
SQL> show user
USER 为 "SYS"
2.给用户授予权限
SQL> -- 给用户xiaoming授予权限
SQL> grant connect,resource,dba to xiaoming;
授权成功。
SQL> -- 登录xiaoming用户
SQL> conn xiaoming/a123
已连接。
3.创建表空间
SQL> -- 创建表空间
SQL> create tablespace xiaoming_data logging datafile 'E:\xiaoming_data.dbf' size 50M;
表空间已创建。
SQL> /*
SQL> 这个可以通过alter方法,重新定义默认表空间的:
SQL> sql:
SQL> alter user username default tablespace userspace;
SQL> 解释:以上语句就是说给username用户重新指定表空间为userspace;
SQL> 扩展:创建用户的时候指定表空间。
SQL> sql:create user username identified by userpassword default tablespace userspace;
SQL> */
SQL> -- 给用户guoming指定表空间guoming_data
SQL> alter user guoming default tablespace guoming_data;
用户已更改。
4.创建表
SQL> -- 1.创建users表
SQL>create table users (
2 userName char(18) primary key not null,
3 password varchar(12) not null,
4 nickName varchar(20),
5 sex char(2),
6 age number(3),
7 address varchar(40),
8 Email varchar(40) not null,
9 phone char(11)
10* )
SQL> /
4.1查看已经创建的表
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
USERS TABLE
ADMIN TABLE
JOB TABLE
ENLIST TABLE
ID TABLE
ACCEPTANCE TABLE
MESSAGE TABLE
DATA TABLE
NEWS TABLE
已选择9行。
5.添加外键
SQL> /*
SQL> 1.创建外键格式:alter table 子表名 add constraint 外键名 foreign key(外键字段) references 父表(字段)
SQL> 2.删除外键格式:alter table 表名 drop constraint 外键名
SQL> 如:删除enlist的外键
SQL> alter table enlist drop constraint FK_ID;
SQL> */
SQL> --为enlist表设置ID外键
SQL> alter table enlist add constraint enlist_ID foreign key(ID) references ID(ID)
SQL> /
表已更改。
SQL> --为acceptance表设置ID外键
SQL> alter table acceptance add constraint acceptance_ID foreign key(ID) references ID(ID);
表已更改。
6.创建索引
SQL> /*
SQL> 创建索引 格式:create [unique] index 索引名 on 表(字段);
SQL> 删除索引 格式:drop index 索引名;
SQL> 查找一个表的有几个索引(索引名)格式:select index_name from user_indexes where table_name=upper('表名')
SQL> */
SQL> --为表enlist表和acceptance表的外键创建索引
SQL>create index enlist_index on enlist(ID);
索引已创建。
SQL> create index acceptance_index on acceptance(ID);
索引已创建。
7.触发器(这里是自增触发器)
SQL> /* 创建触发器
SQL> 对于自增案例:1.先创建自增序列 2.创建触发器
SQL> */
SQL> --创建enlist的自增序列
SQL> create sequence s_enlist
2 increment by 1
3 start with 1
4 nomaxvalue
5 nocycle
6 nocache;
序列已创建。
SQL> --创建enlist表的触发器t_enlist
SQL> create or replace trigger t_enlist
2 before insert on enlist
3 for each row
4 begin
5 select s_enlist.nextval into :new.enlistId from dual;
6 end;
7 /
触发器已创建
注:new.触发字段
8.创建视图(这里是整合外键内容,及整合两张表)
SQL> /*
SQL> 创建视图 :格式 create or replace 视图名 select ... from 表1,表2 where ..
SQL> 删除视图 : 格式 drop view 视图名;
SQL> */
SQL> -- 创建整合enlist表和ID信息的视图
SQL> create or replace view v_enlist
2 as
3 select enlist.enlistId,enlist.ID,ID.name,ID.sex,ID.age,enlist.expenses,enlist.enTime from enlist,ID
4 where enlist.ID=ID.ID;
视图已创建。
SQL> -- 创建整合acceptance表和ID信息的视图
SQL> create or replace view v_acceptance
2 as
3 select acceptance.accId,acceptance.jobName,acceptance.ID,ID.name,ID.sex,ID.age,
4 acceptance.dept,acceptance.wokeDate from acceptance,ID where acceptance.ID=ID.ID
视图已创建。
9.存储过程(这里是查找用户是否注册)
SQL> /*
SQL> 创建一个存储过程 格式 : create or replace procedure 函数名(变量1 类型,变量2 类型..) as ... begin select .. ;
SQL> exception
SQL> when 异常名 then
SQL> ...
SQL> end 函数名;
SQL> /
SQL> */
SQL> -- 创建一个查看用户名是否已经注册的存储过程find_users
SQL> create or replace procedure
2 find_users(u_name number)
3 as
4 name number(18);
5 begin
6 select userName into name from users where u_name=users.userName;
7 dbms_output.put_line(name||'用户已经被注册了!');
8 exception
9 when no_data_found then
10 dbms_output.put_line('该用户名未被注册!');
11 end find_users;
SQL> /
过程已创建。
下面就可以插入数据了,大家好好复习!
10.修改表的字段属性
alter table 表名 modify 字段名number(5,2);
11.删除有户名和表空间(彻底)
drop user 用户名 cascade ;
drop tablespace 表空间名 including contents and datafiles cascade constraints ;
Oracle中sql相关的命令的更多相关文章
- 转:Oracle中SQL语句执行过程中
Oracle中SQL语句执行过程中,Oracle内部解析原理如下: 1.当一用户第一次提交一个SQL表达式时,Oracle会将这SQL进行Hard parse,这过程有点像程序编译,检查语法.表名.字 ...
- Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块
Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块 http://baike.baidu.com/link?url=lxiKxFvYm-UfJIxMjz ...
- oracle中sql语句的优化
oracle中sql语句的优化 一.执行顺序及优化细则 1.表名顺序优化 (1) 基础表放下面,当两表进行关联时数据量少的表的表名放右边表或视图: Student_info (30000条数据)D ...
- Oracle中SQL语句分类
Oracle中SQL语句分类如下:1.DML语句 insert/delete/update/select/merge/explan plan/lock table2.DDL语句 create/atlt ...
- oracle 中SQL 语句开发语法 SELECT INTO含义
oracle 中SQL 语句开发语法 SELECT INTO含义 在ORACLE中SELECT INTO是如何使用的,什么意思?和SQL SERVER的不一样? 和sqlserver的不一样sql ...
- 跟踪oracle中sql语句运行过程及相关知识拓展
select * from v$sqlarea; select * from v$sqlarea where first_load_time>'2010-11-27/09:30:00'; 这种方 ...
- oracle ql/sql 相关语法解析
这篇文章主要介绍了Oracle中游标Cursor基本用法详解,还是比较全面的,具有一定参考价值,需要的朋友可以了解下. 查询 SELECT语句用于从数据库中查询数据,当在PL/SQL中使用SELE ...
- Oracle中SQL调优(SQL TUNING)之最权威获取SQL执行计划大全
该文档为根据相关资料整理.总结而成,主要讲解Oracle数据库中,获取SQL语句执行计划的最权威.最正确的方法.步骤,此外,还详细说明了每种方法中可选项的意义及使用方法,以方便大家和自己日常工作中查阅 ...
- Oracle中sql的基本使用
oracle数据库 select {distinct} * | 具体列 别名 from table {where 条件} {order by 排序字段1,排序字段2 asc | desc} 简单查询 ...
随机推荐
- crc32 根据字符串获取校验值
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text; n ...
- Laravel框架学习(Response)
1.Response篇 1.1 基本响应 最基本的HTTP响应只需在路由闭包或控制器动作中返回一个简单字符串即可,但是具体业务逻辑中大部分响应都是在控制器动作中返回Response实例或者视图.Res ...
- Atitit.执行cmd 命令行 php
Atitit.执行cmd 命令行 php 1. 执行cmd 命令行,调用系统命令的基础 1 1.1. 实际执行模式 1 1.2. 空格的问题 1 1.3. 中文路径的问题,程序文件读取编码设置 1 1 ...
- [svc][jk]监控jvm的一个坑
监控jvm的一个坑 1,遇到的问题 我按照以往文档,在catalina.sh里追加jvm的监控api,如下 紧接着我启动 tomcat. 未报任何错误. 发现 lsof –i:12000, 12000 ...
- 完整学习使用CSS动画【翻译】
注:原文有较大改动 使用keyframes, animation属性,例如timing, delay, play state, animation-count, iteration count, d ...
- SVN提交项目时版本冲突解决方案
版本冲突原因: 假设A.B两个用户都在版本号为7的时候,更新了index.jsp这个文件,A用户在修改完成之后提交index.jsp到服务器,这个时候提交成功,这个时候index.jsp文件的版本号已 ...
- (译)Getting Started——1.2.3 Defining the Interaction(定义交互)
IOS应用编程是基于事件驱动的编程.也就是说,应用的流程由事件来决定:事件包括系统事件和用户操作.界面上用户执行的操作会触发事件.这些事件导致应用的逻辑被执行,数据被操作.应用对用户动作的响应反映在界 ...
- splay旋转模板
splay旋转模板 void rotate(int x) { int y=f[x],z=son(x);f[x]=f[y]; if (f[x]) t[f[x]][son(y)]=x; t[y][z]=t ...
- TP 框架 ajax[利用异步提交表单]
//[] $(function () { $("#send-btn" ).click(function (){ //接受表单的值 var username=$('input[nam ...
- EasyUI DataGrid 编辑单元格
如下图: 现改为单击某个单元格只对此单元格进行可编辑 <TABLE>标记添加 onClickCell <table id="dg" class="eas ...