Oracle day05 建表_约束
CREATE TABLE [schema.] table (column datatype [DEFAULT expr], ... );
CREATE TABLE table [column(,column...)] AS subquery,
create table emp2 as select * from emp;
- alter table ... add ... : 增加新的列
alter table emp add address varchar()
- alter table ...drop ... : 删除原有的列
alter table emp drop column address
- alter table ...modify ... : 修改字段
alter table emp modify(job varchar())
- drop table : 在基本表不需要时,可以使用语句撤销。
drop table emp cascade constraints
- RENAME : 语句改变表名(视图),要求必须是表(视图)的所有者
RENAME old_name TO new_name
- not null 非空
- unique Key 唯一键
- primary key 主键
- foreign key 外键
- check 自定义检测约束
carete table parent(p1 number primary key); create table child (c1 number primary key ,c2 number references parent(p1));
create table child (c1 nnumber ,c2 number ,primary key(c2), foreign key(c2) references parent(p1));
create table test(id1 number ,id2 number ,primary key(id1,id2));
- 主键从功能上看相当于非空且唯一
- 一个表中只允许一个主键
- 主键是表中能够唯一确定一个行数据的字段
- 主键字段可以是单字段或者是多字段的组合
- Oracle 为主键创建对应的唯一性索引
- primary key(列)主键子句 在表的定义中加上
- primary key主键短语 在主属性的定义之后加上
create table t3( id number(), constraint t3_pk primary key(id) )
- 确保字段值不允许为空
- 只能在字段级定义
CREATE TABLE employees( employee_id number(), name varchar2() not null, salary number(,), hire_date date constraint emp_hire_date_nn not null )
- 唯一性约束条件确保所在的字段或者字段组合不出现重复值
- 唯一性约束条件的字段允许出现空值
- Oracle 将为唯一性约束条件创建对应的唯一性索引
create table employees( id number(), name varchar2() not null unique, email varchar2(), salary number(,), hire_date date not null, constraint emp_email_uk unique(email) );
create table emp3( id number() primary key , age number() check(age > and age <), salary number(,), sex char(), constraint salary_check check(salary>) )
- 实体完整性规则 这条规则要求关系中在组成主键的属性上不能有空值
- 参照完整性规则 这条规则要求“不引用不存在的实体”
- 用户定义的完整性规则 反应了某一具体的应用涉及的数据必须满足的语义要求
alter table tablename
增加
add constraint con_name unique(col)
删除
drop constraint com_name[cascade]
select constraint_name,constraint_type from user_constraints where table_name=upper('sxtstu05')
select constraint_name,constraint_type from user_constraints where owner ='SCOTT'
select constraint_name,column_name from user_cons_columns where table_name =upper('tablename')
Oracle day05 建表_约束的更多相关文章
- oracle基本建表语句
oracle基本建表语句 2010-09-20 10:37:33| 分类: 数据库 | 标签:数据库 oracle |字号 订阅 --创建用户create user han identifie ...
- PowerDesigner连接Oracle数据库建表序列号实现自动增长
原文:PowerDesigner连接Oracle数据库建表序列号实现自动增长 创建表就不说了.下面开始介绍设置自动增长列. 1 在表视图的列上创建.双击表视图,打开table properties — ...
- SQL Server— 存在检测、建库、 建表、约束、外键、级联删除
/******************************************************************************** *主题: SQL Server- 存 ...
- Oracle学习(三)SQL高级--表结构相关(建表、约束)
一.建表语句 CREATE DATABASE(创建数据库) --创建数据库 create database 数据库名字; CREATE TABLE(创建表) --创建表 CREATE TABLE 表名 ...
- oracle的建表语句
oracle数据库的建表语句,具体语法如下: CREATE TABLE tablename (column_name datatype [null,not null], column_name dat ...
- Oracle数据库建表+添加数据练习
SQL脚本: --建表 --student表+注释 create table student( sno ) not null, sname ) not null, ssex ) not null, s ...
- oracle 存储过程 建表插值等
建表.插值的procedure create or replace procedure CREATE_EMP is v_createsql ); v_insertsql ); begin v_crea ...
- oracle得到建表语句
第一种方法是使用工具,如:pl/sql developer,在[工具]--[导出用户对象]出现就可以得到建表脚本. 第二种方法是,sql语句. DBMS_METADATA.GET_DDL包可以得到数据 ...
- Oracle的关于建表,约束,查询等的练习
从建立一个简单表,到实现一些复杂查询的例子, DROP TABLE grade;DROP TABLE item;DROP TABLE sporter;CREATE TABLE sporter( spo ...
随机推荐
- 不会git的程序员,会不会被鄙视?
昨天一朋友在微信上问了我一个问题,我觉得很有趣,于是将本次聊天的内容分享给大家. 我朋友说,如果一个程序员不会使用 git,会不会被别人觉得低一个档次? 事先声明啊,这与公司技术栈无关,不要说有些公司 ...
- Python3小知识点
1. 是转义字符,\可以输出.在一行的末尾单独的一个\表示这行没有结束,下一行接着写 2.可以用"'或"""把一大段话引起来(可以换行)然后赋值,输出. 3.要 ...
- 对于bilibili主页head部分的代码的总结以及疑问。
1.lang=zh-Hans: lang代表languages的意思,VSCode创建出来的网页模板是lang=en,en代表english的意思,zh代表中文,单一的zh是废弃的语法,Hans代表中 ...
- 解决idea中 mvn项目导了包找不到包的问题
----------------------------------------分割线--------------------------------------------------------- ...
- ubuntu14.04 安装lnmp + redis
1.更新源 apt-get install update 2.安装nginx : apt-get install nginx 配置nginx: ① cd /etc/sites-enabled/ ② v ...
- 最新Java技术
最近在网上查资料碰到好多没接触过的技术,先汇总在这里备用,以后慢慢吸收 1. JNA JNI的替代品,调用方式比JNI更直接,不再需要JNI那层中间接口,几乎达到Java直接调用动态库 2. Smal ...
- xss挖掘初上手
本文主要总结了xss可能出现的场景.偏向于案例,最后分享一哈简单的绕过和比较好用的标签. 1.搜索框 首先看能否闭合前面的标签. 如输入111”><svg/onload=alert(1)& ...
- 本地安装MySQL详细教程
第1章 MySQL的安装与使用 1.1 MySQL安装与配置 1.1.1 MYSQL的安装 1.打开下载的mysql安装文件mysql-5.5.27-win32.zip,双击解压缩,运行“set ...
- mybatis 详解------动态SQL
mybatis 详解------动态SQL 目录 1.动态SQL:if 语句 2.动态SQL:if+where 语句 3.动态SQL:if+set 语句 4.动态SQL:choose(when,o ...
- 专访 | 新浪架构师:0-5年Java工程师的职业规划如何做?
经历了2018年末的阵痛,大家都积攒着一股暗劲蠢蠢欲动. 3月初即将迎来2019年互联网行业换工作的大潮,技术工程师的升级换位对于一家互联网公司来说无疑是命脉般的存在——技术强则公司强! 如何做一个抢 ...