------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------

DDL操作:

--创建学生表

  create table student(

  sno number(4) not null,

  sname varchar2(10) not null,

  birthdday date

  );

--向student表中添加两个字段

  alter table student add(sal number(7,2),wechat varchar2(20));

--修改sname字段的长度

  alter table student modify(sname varchar2(20));

--新增性别字段

  alter table student add(sax char(2));

--修改字段的名称

  alter table student rename column sax to sex;

--给表增加主键约束

  alter table student add constraint pk_student_sno primary key(sno);

--给表中的sname增加唯一约束

  alter table student add constraint uk_student_sname unique(sname);

--给表中的sex字段增加检查约束

  alter table student add constraint ck_student_sex check(sex in('男','女'));

--给表中新增一个年级编号字段

  alter table student add(gid number(4));

--创建年级表  主表

  create table grade(

  gradeId number(4) not null primary key,

  gradename varchar2(10) not null

  );

--创建外键约束

  alter table student add constraint fk_student_grade_gid foreign key (gid)

  references grade(gradeId);

------------------------------------------------------

序列有些像mysql的自增列,sqlserver的标识列

--创建序列

  create sequence sq_studet_sno --序列的名称

  start with 10  --序号的开始数值

  increment by 10  --步长   每次序号增长的值

  maxvalue 9999999999    --序号的最大值

  cycle     --nocycle 达到最大值时是否重新开始循环序列号

  cache 20  --是否缓存序列号,默认是20个,假如步长是10,缓存20就是200个数,可以用nocache

--修改序列名称

  rename sq_student_no to sq_student_sno

--查询创建的序列,系统默认视图

  select * from user_sequences;

--使用序列   nextval

  select sq_student_sno.nextval from dual;

--查看当前序列的值   currval

  select sq_student_sno.currval from dual;

--模拟向grade表中使用序列新增数据

  insert into grade(gradeid,gradename)

  values(sq_student_sno.nextval,'三年级');

--查询年级

  select * from grade;

Oracle-04:DDL语言数据表的操作的更多相关文章

  1. Oracle-06:DML语言数据表的操作

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 开篇放上一个SQL脚本,供测试使用 create table DEPT ( deptno ) not null ...

  2. Oracle数据库 — DDL:数据定义语言

    1.数据定义语言:用于定义数据库的结构,比如创建.修改或删除数据库对象: 包括: CREATE TABLE:创建数据库表:创建表的命名规则: 2.以字母开头:在 1–30 个字符之间:只能包含 A–Z ...

  3. socketserver模块、MySQL(数据库、数据表的操作)

    一.socketserver实现并发 基于tcp的套接字,关键就是两个循环,一个链接循环,一个通信循环. socketserver模块中分两大类:server类(解决链接问题)和request类(解决 ...

  4. (Oracle)已有数据表建立表分区—在线重定义

    今天在做数据抽取的时候,发现有一张业务表数据量达到了5000W,所以就想将此表改为分区表.分区表的有点如下: 1.改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度.2.增强可用性: ...

  5. Oracle 11g系列:数据表对象

    Oracle数据库的下一层逻辑结构并非数据表,而是表空间.每个数据表都属于唯一的表空间. 1.Oracle表空间 与数据表相同,Oracle表空间是一个逻辑对象,而非物理对象,是数据库的组成部分.当使 ...

  6. MySQL学习3 - 数据表的操作

    本节掌握 一.存储引擎(了解) 二.mysql支持的存储引擎 1.InnoDB 存储引擎 2.MyISAM 存储引擎 3.NDB 存储引擎 4.Memory 存储引擎 5.Infobright 存储引 ...

  7. Oracle通过PLSQL进行数据表之间的同步

    昨天被要求拉取第三方oracle中的一个表数据,起初以为要导出表数据,然后再自己库中建个相同的表,然后导入数据,查过资料之后oracle可以通过dblink的方式同步表数据. 1.首先利用PLSQL工 ...

  8. MySQL数据表查询操作

    准语法结构:编写DQL时一定要严格按照此语法的顺序来实现!/* SELECT [ALL | DISTINCT] ALL表示查询出所有的内容 DISTINCT 去重 {* | 表名.* | 表名.字段名 ...

  9. MySQL第五个学习笔记 该数据表的操作

    MySQL在创建表,创建.frm文件保存表和列定义.索引存储在一个.MYI(MYindex)且数据存储在有.MYD(MYData)扩展名的文件里.   一.用SHOW/ DESCRIBE语句显示数据表 ...

随机推荐

  1. netstat 的10个基本用法(转)

    本文转载自一译作. *注:netstat即network state缩写. Netstat 简介 Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以 ...

  2. java http缓存

    HTTP/1.1中缓存的目的是为了在很多情况下减少发送请求,也即直接返回缓存:同时在许多情况下可以不需要发送完整响应.前者减少了网络回路的数量,挺高响应速度,HTTP利用一个"过期(expi ...

  3. Git错误一例

    Bitbucket一直不稳定,push, pull经常失效.幸好还有goagent可以用. 把git的全局配置改为走goagent代理,可以正常使用: [http] proxy = http://12 ...

  4. 【Android 应用开发】Android之Bluetooth编程

    Android Bluetopth 编程大牛文章 http://my.oschina.net/u/994235/blog?catalog=313604 ViewGroup 相关资料 : http:// ...

  5. HBase快照

    CDH是Cloudera的完全开源分布式Apache Hadoop及相关项目(包括Apache HBase).CDH的当前版本(4.2)引入的一个HBase新特性最近加入到了主干中,允许用户对指定表进 ...

  6. 开源项目AndroidReview学习小结(2)

    读书破万卷下笔如有神 作为入门级的android码农的我,还是需要多多研读开源代码 下面继续接着上一篇的分析,这一篇主要介绍第一个tab,ReviewFragment的分析,界面看起来简单,背后的逻辑 ...

  7. 如何使用firefox适用于javascript的debugger命令

    首先安装firebug,在firefox的扩展里搜索安装即可. 然后在页面中启用firebug中的脚本: 然后在网页某些位置加入debugger命令,比如如下页面代码: <!DOCTYPE ht ...

  8. RHEL 6.9 udev 将lv绑定raw devices

    环境 RHEL6|RHEL7,LVM2,RAW device 用途 使用LVM的lv逻辑卷绑定裸设备 1. 编辑 /etc/udev/rules.d/60-raw.rules 添加如下: ACTION ...

  9. 分割url

    $(document).ready(function () { var spurl = document.location.toString().split("/"); //把ur ...

  10. 排序算法入门之快速排序(java实现)

    快速排序也是一种分治的排序算法.快速排序和归并排序是互补的:归并排序将数组分成两个子数组分别排序,并将有序的子数组归并以将整个数组排序,会需要一个额外的数组:而快速排序的排序方式是当两个子数组都有序时 ...