Oracle - 创建表视图等 - DDL
解锁scott:
sqlplus / as sysdba;
alter user scott account unlock;
alter user scott identified by tiger; /*
DDL操作表
数据库定义语言
*/
--创建表结构
CREATE TABLE STUDENT(
SNO CHAR(10),
SNAME VARCHAR2(20),
AGE NUMBER(3),
SCHOOLDATE DATE,
GRADE NUMBER(1) DEFAULT 1,
CLAZZ NUMBER(2),
EMAIL VARCHAR2(100)
);
--删除表结构
DROP TABLE STUDENT;
--修改表的名称
RENAME BANK TO SXTBANK;
-------------------修改表的结构
--添加列
ALTER TABLE STUDENT ADD(ADDRESS VARCHAR2(100));
--删除列
ALTER TABLE STUDENT DROP COLUMN ADDRESS;
--修改列
ALTER TABLE STUDENT MODIFY(EMAIL VARCHAR2(200));
/*
DDL约束
规范我们输入的数据 加入约束有两种时机
创建表的时候
创建表之后
有可能会首先表中数据的干扰
非空:
当前数据项不能为空
唯一:
表中的列的值不能相等但是null除外
主键:
不为空且唯一
一个表中只允许有一个主键
创建主键索引
主键可以同时指定多个列,称为联合主键,但是一般不这么去写
外键
自定义
自定义约束的值
*/
--测试非空约束
INSERT INTO STUDENT(SNAME) VALUES('ZHANGSAN');
--添加控制约束(非空和唯一)
ALTER TABLE STUDENT MODIFY(EMAIL VARCHAR2(100) NOT NULL);
ALTER TABLE STUDENT ADD(ADDRESS VARCHAR2(10) UNIQUE);
INSERT INTO STUDENT(SNAME,EMAIL) VALUES('ZHANGSAN','LIYI@BJSXT.COM');
INSERT INTO STUDENT(SNAME,EMAIL) VALUES('LISISI','LISISI@BJSXT.COM');
INSERT INTO STUDENT(SNAME,EMAIL,ADDRESS) VALUES('LISISI','LISISI@BJSXT.COM','AAA');
INSERT INTO STUDENT(SNAME,EMAIL,ADDRESS) VALUES('WANGWUWU','LISISI@BJSXT.COM','AAA');
--主键约束
ALTER TABLE STUDENT MODIFY(SNO CHAR(10) PRIMARY KEY);
CREATE TABLE HELLO(
SNO VARCHAR2(20) PRIMARY KEY
);
CREATE TABLE HELLO(
SNO VARCHAR2(20),
CONSTRAINT HELL_PK PRIMARY KEY(SNO)
);
--自定义约束
CREATE TABLE HI(
AGE NUMBER(3) CHECK(AGE<150)
);
--外键约束
CREATE TABLE QQ(
GARDE NUMBER(3) PRIMARY KEY,
GNAME VARCHAR2(20)
);
CREATE TABLE FIREND(
FID NUMBER(3),
NAME VARCHAR2(20),
GRADE NUMBER(3),
FOREIGN KEY(GRADE) REFERENCES QQ(GARDE) ON DELETE CASCADE
);
-- FOREIGN KEY(GRADE) REFERENCES QQ(GARDE)
-- FOREIGN KEY(GRADE) REFERENCES QQ(GARDE) ON DELETE SET NULL
-- FOREIGN KEY(GRADE) REFERENCES QQ(GARDE) ON DELETE
----删除数据
--(删除的时候要保证没有子记录)
--(删除的时候子记录设置为空)
--(删除的时候级联删除子记录)
INSERT INTO QQ VALUES(1,'高中同学');
INSERT INTO QQ VALUES(2,'初中同学');
INSERT INTO QQ VALUES(3,'小学同学');
INSERT INTO FIREND VALUES(11,'张1丰',1);
INSERT INTO FIREND VALUES(22,'张2丰',2);
INSERT INTO FIREND VALUES(33,'张3丰',3);
INSERT INTO FIREND VALUES(44,'张4丰',1);
INSERT INTO FIREND VALUES(55,'张5丰',2);
DELETE FROM QQ WHERE GARDE = 1;
Oracle - 创建表视图等 - DDL的更多相关文章
- Oracle创建表空间和表
创建表空间和表ORACLE物理上是由磁盘上的以下几种文件:数据文件和控制文件和LOGFILE构成的oracle中的表就是一张存储数据的表.表空间是逻辑上的划分.方便管理的.数据表空间 (Tablesp ...
- Oracle创建物化视图
1.物化视图语法 create materialized view [view_name] refresh [fast|complete|force] [ on [commit|demand] | s ...
- Oracle创建表空间、用户管理、角色管理
内容:Oracle创建表空间.用户管理.角色管理 1.用系统用户登录Oracle 默认的系统用户: sys/system.sysman.scott sys:权限最大,超级用户,可以完成所有任务, 默认 ...
- oracle创建表之前判断表是否存在,如果存在则删除已有表
Mysql 创建表之前判断表是否存在,如果存在则删除已有表 DROP TABLE IF EXISTS sys_area; CREATE TABLE sys_area ( id int NOT NULL ...
- 【SQL模板】二.创建表视图模板TSQL
---Name: 创建表视图模板.sql ---Purpose: 用于创建 数据库中 新的数据表/视图 ---Author: xx ---Time: 2015-12-18 10:26:06 ---Re ...
- Oracle创建表语句(Create table)语法详解及示例、、 C# 调用Oracle 存储过程返回数据集 实例
Oracle创建表语句(Create table)语法详解及示例 2010-06-28 13:59:13| 分类: Oracle PL/SQL|字号 订阅 创建表(Create table)语法详解 ...
- Oracle创建表空间、用户、授权
在创建好数据实例(数据库)好后的基础上,后续做的事情如下: ---创建表空间 create tablespace LIS2011DATA logging datafile 'd:\oracle\pro ...
- Oracle创建表空间、新建用户和授权
通过pl/sql以sys用户登录到Oracle数据库上,然后执行菜单:文件/新建/命令窗口 ,打开一个命令窗口然后在该命令窗口中执行脚本创建和删除表空间 . 1.创建表空间 格式: create t ...
- oracle创建表空间-用户-角色-授权
1.创建数据表空间: SQL> create tablespace rusky_data datafile 'D:\rusky\rusky_data01,dbf' size 10M autoex ...
随机推荐
- 小白菜OJ 1122 公牛母牛配(最大二分图匹配模板)
题意: n只公牛和m只母牛,某些公牛和某些母牛互相喜欢.但最后一只公牛只能和一只母牛建立一对一匹配.要使得最后牛群匹配对数最大. 链接: http://caioj.cn/problem.php?id= ...
- POJ 3659 Cell phone Network (树的最小点覆盖, 树形DP)
题意: 给定一棵树,每个点可以覆盖自己和相邻的点, 求最少要多少个点覆盖图 #include <cstdio> #include <cstring> #include < ...
- PTA 02-线性结构2 一元多项式的乘法与加法运算 (20分)
原题地址 https://pta.patest.cn/pta/test/15/exam/4/question/710 5-2 一元多项式的乘法与加法运算 (20分) 设计函数分别求两个一元多项式的 ...
- 短视频 SDK 架构设计实践
作者简介 孔维乐,七牛云客户端团队 Android 平台高级开发工程师,专注音视频,图形图像领域.OpenGL 专家,先后参与直播推流及连麦 SDK 的开发,主导短视频 SDK 的架构设计与实现, 对 ...
- BZOJ 1509[NOI 2003]逃学的小孩 树形dp
1509: [NOI2003]逃学的小孩 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 995 Solved: 505[Submit][Status][ ...
- 解决Genymotion不能安装软件的问题
解决Genymotion不能安装软件的问题 官方取消了with google apps字样的rom,导致安装app不兼容的解决 有些童鞋在兴奋的打开Genymotion模拟器后可能会发现无法安装下载下 ...
- 利用开源工具实现轻量级上网行为审计(来源ispublic.com)
https://blog.csdn.net/cnbird2008/article/details/5875781
- 2018 江苏省邀请赛 H
题目链接 https://nanti.jisuanke.com/t/28872 解析 递推 直接套杜教板子 AC代码 #include <cstdio> #include <cstr ...
- 洛谷——P2820 局域网
P2820 局域网 题目背景 某个局域网内有n(n<=100)台计算机,由于搭建局域网时工作人员的疏忽,现在局域网内的连接形成了回路,我们知道如果局域网形成回路那么数据将不停的在回路内传输,造成 ...
- 清北省选 DAY last 集锦
这是题目描述的链接: http://lifecraft-mc.com/wp-content/uploads/2018/03/problems1.pdf (虽然这次没去清北,但还是厚颜无耻的做了一下这套 ...