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相关的命令的更多相关文章

  1. 转:Oracle中SQL语句执行过程中

    Oracle中SQL语句执行过程中,Oracle内部解析原理如下: 1.当一用户第一次提交一个SQL表达式时,Oracle会将这SQL进行Hard parse,这过程有点像程序编译,检查语法.表名.字 ...

  2. Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块

    Linux中mod相关的命令 内核模块化   mod相关命令都是用来动态加载内核模块/驱动程序模块 http://baike.baidu.com/link?url=lxiKxFvYm-UfJIxMjz ...

  3. oracle中sql语句的优化

    oracle中sql语句的优化 一.执行顺序及优化细则 1.表名顺序优化 (1) 基础表放下面,当两表进行关联时数据量少的表的表名放右边表或视图: Student_info   (30000条数据)D ...

  4. Oracle中SQL语句分类

    Oracle中SQL语句分类如下:1.DML语句 insert/delete/update/select/merge/explan plan/lock table2.DDL语句 create/atlt ...

  5. oracle 中SQL 语句开发语法 SELECT INTO含义

    oracle 中SQL 语句开发语法 SELECT INTO含义 在ORACLE中SELECT INTO是如何使用的,什么意思?和SQL SERVER的不一样?   和sqlserver的不一样sql ...

  6. 跟踪oracle中sql语句运行过程及相关知识拓展

    select * from v$sqlarea; select * from v$sqlarea where first_load_time>'2010-11-27/09:30:00'; 这种方 ...

  7. oracle ql/sql 相关语法解析

    这篇文章主要介绍了Oracle中游标Cursor基本用法详解,还是比较全面的,具有一定参考价值,需要的朋友可以了解下.   查询 SELECT语句用于从数据库中查询数据,当在PL/SQL中使用SELE ...

  8. Oracle中SQL调优(SQL TUNING)之最权威获取SQL执行计划大全

    该文档为根据相关资料整理.总结而成,主要讲解Oracle数据库中,获取SQL语句执行计划的最权威.最正确的方法.步骤,此外,还详细说明了每种方法中可选项的意义及使用方法,以方便大家和自己日常工作中查阅 ...

  9. Oracle中sql的基本使用

    oracle数据库 select {distinct} * | 具体列  别名 from table {where 条件} {order by 排序字段1,排序字段2 asc | desc} 简单查询 ...

随机推荐

  1. STL容器分析--deque

    deque,故名思义,双向队列.可以在头尾进行插入删除. 而STL中采用了链表+线性表的数据结构来实现deque,因而除了满足双向队列的特点以外,还支持随机访问. 下面,贴一段代码. 总览:双向队列是 ...

  2. Yii Framework2.0开发教程(3)数据库mysql入门

    沿用教程(2)的代码 第一步.在本地mysql数据库中新建数据库zhyoulun 第二步.在数据库中新建表并插入若干条数据 CREATE TABLE `country` ( `code` CHAR(2 ...

  3. Windows Azure Platform 性能监视器(转载)

    Windows操作系统提供了查看性能监视器的功能,用于监视CPU使用率.内存使用率,硬盘读写速度,网络速度等.您可以在开始-->运行-->输入Perfmon,就可以打开性能监视器. 我们知 ...

  4. asp.net,cookie,写cookie,取cookie(转载)

    Cookie是一段文本信息,在客户端存储 Cookie 是 ASP.NET 的会话状态将请求与会话关联的方法之一.Cookie 也可以直接用于在请求之间保持数据,但数据随后将存储在客户端并随每个请求一 ...

  5. C#通过webbrowser控件与javascript交互

    1.C#里调用控件里面网页的js函数     //调用JavaScript的messageBox方法,并传入参数     object[] objects = new object[1];     o ...

  6. JUC组件扩展(二)-JAVA并行框架Fork/Join(三):在任务中抛出异常

    在java当中,异常一共分为两种.一种是运行时异常,一种是非运行是异常. 非运行时异常:这些异常必须在方法上通过throws子句抛出.或者在方法体内进行try{…}catch{…}来捕获异常. 运行时 ...

  7. atitit.系统托盘图标的设计java swing c# .net c++ js

    atitit.系统托盘图标的实现java swing c# .net c++ js 1. 系统托盘图标的结构 1 2. Java swing的实现 1 3. .net的实现 1 4. C++的实现 1 ...

  8. RIP协议两个版本对不连续子网的支持情况实验

    一.连续子网与不连续子网 我们经常见到说RIPv1不支持不连续子网,仅支持连续子网,那么什么是连续子网,什么是不连续子网呢? l  不连续子网:指在一个网络中,某几个连续由同一主网划分的子网在中间被多 ...

  9. C#数组、ArrayList和List<T>

    1.数组: 数组在内存中是连续的,索引速度快.赋值与修改简单. 数组的两个数据中间插入数据麻烦,且在声明数组的时候必须指定数组长度.数组长度过长,会浪费内存,过短会造成数据溢出. 2.ArrayLis ...

  10. lua语言介绍

    什么是Lua Lua是一个小巧的脚本语言. 是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Rober ...