创建表空间

 create tablespace qnhouse
--表空间文件路径
datafile 'E:\qnhost\qnhouse.dbf'
--表空间文件大小
size 100M;

创建用户

 create user qnhouse
--登录密码
identified by qnhouse
--默认的表空间
default tablespace qnhouse;

为用户授权

 --RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
--CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
grant connect,resource to qnhouse;

建表与约束

 --区域表
create table DISTRICT
(
id NUMBER not null,
name VARCHAR2(50) not null,
--约束
--主键约束
constraint PK_district_id primary key(id)
); --街道表
create table STREET
(
id NUMBER not null,
name VARCHAR2(50),
district_id NUMBER, --区域id
--约束
constraint PK_STREET_id primary key(id),
--外键约束
constraint FK_STREET_district_id foreign key (district_id) references district(id)
); --户型表
create table housetype
(
id NUMBER,
name VARCHAR2(50),
--约束
constraint PK_housetype_id primary key(id)
); --用户表
create table USERS
(
id NUMBER not null,
name VARCHAR2(50),
password VARCHAR2(50),
telephone VARCHAR2(15),
username VARCHAR2(50),
--默认值
isadmin VARCHAR2(5) default 0 not null,
--约束
constraint PK_USERS_id primary key(id),
--唯一约束
constraint UQ_users_name unique(name),
--检查约束,密码不能少于6位
constraint CK_users_password check (length(password)>=6)
); --房屋信息表
create table HOUSE
(
id NUMBER,
user_id NUMBER, --用户ID
type_id NUMBER, --户型ID
title NVARCHAR2(50),
description NVARCHAR2(2000),
price NUMBER,
pubdate DATE,
floorage NUMBER,
contact VARCHAR2(100),
street_id NUMBER, --街道ID
--约束
constraint PK_HOUSE_id primary key(id),
constraint FK_HOUSE_user_id foreign key (user_id) references users(id),
constraint FK_HOUSE_type_id foreign key (type_id) references housetype (id),
constraint FK_HOUSE_street_id foreign key (street_id) references STREET(id)
);

序列

 --序列
create sequence seq_qnhouse
--递增值
increment by 1
--开始值
START WITH 1000;

自增触发器

 --用户主键自增
create or replace trigger tri_users_id
before insert on users
for each row
begin
--用序列的值填到主键
select seq_qnhost.nextval into :new.id from dual;
end;
/

简单的oracle sql 语句的更多相关文章

  1. 简单的oracle sql语句练习

    简单的oracle sql语句练习 求每个部门的平均薪水 select deptno,avg(sal) from emp group by deptno 每个部门同一个职位的最大工资 select d ...

  2. Oracle sql语句执行顺序

    sql语法的分析是从右到左 一.sql语句的执行步骤: 1)词法分析,词法分析阶段是编译过程的第一个阶段.这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构 ...

  3. Oracle SQL语句追踪

    Oracle SQL语句追踪 1   SQL语句追踪 追踪SQL语句的执行过程需要在Oracle服务器端进行,Oracle服务器端会检测并记录访问进程所执行的所有SQL语句.下面使用的命令都是在命令行 ...

  4. Oracle SQL语句执行过程

    前言 QQ群讨论的时候有人遇到这样的问题:where子句中无法访问Oracle自定义的字段别名.这篇 博客就是就这一问题做一个探讨,并发散下思维,谈谈SQL语句的执行顺序问题. 问题呈现 直接给出SQ ...

  5. oracle管理优化必备语句以及oracle SQL语句性能调整

    本文转自http://www.dataguru.cn/article-3302-1.html oracle数据库管理优化必备语句: 1. SELECT T.START_TIME,T.USED_UBLK ...

  6. Oracle SQL语句性能优化方法大全

    Oracle SQL语句性能优化方法大全 下面列举一些工作中常常会碰到的Oracle的SQL语句优化方法: 1.SQL语句尽量用大写的: 因为oracle总是先解析SQL语句,把小写的字母转换成大写的 ...

  7. [转]关于oracle sql语句查询时表名和字段名要加双引号的问题

    oracle初学者一般会遇到这个问题.   用navicat可视化创建了表,可是就是不能查到!   后来发现②语句可以查询到 ①select * from user; 但是,我们如果给user加上双引 ...

  8. Oracle SQL语句执行步骤

    转自:http://www.cnblogs.com/quanweiru/archive/2012/11/09/2762345.html Oracle中SQL语句执行过程中,Oracle内部解析原理如下 ...

  9. oracle: sql语句报ora-01461/ora-00911错误

    oracle: sql语句报ora-01461/ora-00911错误 ora-00911:sql语句中可能含有特殊字符,或者sql语句中不能用";"分号结尾. sql语句报ora ...

随机推荐

  1. Android的ADB工具使用

    在SDK的Tools文件夹下包含着Android模拟器操作的重要命令ADB,ADB的全称为Android Debug Bridge,就是调试桥的作用,借助这个工具,我们可以管理设备或手机模拟器的状态  ...

  2. WinForm的TreeView实现Win7 Areo效果

    新建一个继承自TreeView的控件类,代码如下: using System; using System.Windows.Forms; using System.Drawing; using Syst ...

  3. Entity Framework数据库迁移

    1.启用数据迁移: enable-Migrations2.增加一条数据库迁移指令:add-Migrations 必须带上一个版本名称,比如AddUsernamePassword完整的指令:add-Mi ...

  4. stl学习之字符串

    其实string也是stl里面的内容,记录几点自己不常用的内容 1.at方法(比[]会判断是否越位) 2. int copy(char *s, int n, int pos=0) const; 把当前 ...

  5. hadoop官网介绍及如何下载hadoop(2.4)各个版本与查看hadoop API介绍

    1.如何访问hadoop官网?2.如何下载hadoop各个版本?3.如何查看hadoop API? 很多同学开发都没有二手资料,原因很简单觉得不会英语,但是其实作为软件行业,多多少少大家会英语的,但是 ...

  6. navicat导入mysql数据库sql时报错

    今天运维的一个项目需要进入数据库修改下数据,MYSQL的数据库,我先导出了一份数据结构和数据,然后进行修改,改完后发现项目报错了...粗心大意哪改错了,赶紧恢复数据库,结果导入SQL时报错了,当时心凉 ...

  7. Js 导出Excel IE ActiveX控件

    function ExportExcel() { var oXL = new ActiveXObject("Excel.Application"); //创建excel应用程序对象 ...

  8. Ubuntu 安装 pecl_http

    由于开发环境需要用到pecl_http,根据网上找的教程一直没用按照成功,查看错误,pcre这里出错了,原来要安装这个libpcre3-dev,安装好这个就成功了,记下命令. $ sudo apt-g ...

  9. Raising Modulo Numbers(POJ 1995 快速幂)

    Raising Modulo Numbers Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 5934   Accepted: ...

  10. linux vim 常用命令

    一. VIM高亮 进入vim后,在普通模式下输入如下命令,开启php代码高亮显示 :syntax enable :source $VIMRUNTIME/syntax/php.vim二. VI常用命令_ ...