Oracle-04:DDL语言数据表的操作

简介: ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------       DDL操作:   --创建学生表     create table student(     sno number(4) not null,     sname var...

 

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

 

 

 

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;

 

 

 

 

 

 

 

目录
相关文章
|
11月前
|
Oracle 关系型数据库
Oracle新建数据表的两种方法
Oracle新建数据表的两种方法
|
5月前
|
SQL Oracle 数据可视化
【Oracle】玩转Oracle数据库(四):SQL语言
【Oracle】玩转Oracle数据库(四):SQL语言
76 8
|
SQL Oracle 安全
Oracle DDL+DML+DCL实例
Oracle DDL+DML+DCL实例
117 0
|
SQL Oracle 关系型数据库
|
SQL Oracle 关系型数据库
xDB Replication Server - PostgreSQL, Oracle, SQL Server, PPAS 全量、增量(redo log based, or trigger based)同步(支持single-master, mult-master同步, 支持DDL)
xDB Replication Server - PostgreSQL, Oracle, SQL Server, PPAS 全量、增量(redo log based, or trigger based)同步(支持single-master, mult-master同步, 支持DDL)
845 0
|
SQL Oracle 关系型数据库
xDB Replication Server - PostgreSQL, Oracle, SQL Server, PPAS 全量、增量(redo log based, or trigger based)同步(支持single-master, mult-master同步, 支持DDL)
标签 PostgreSQL , xDB replication server , sql server , oracle , ppas , 同步 , ddl , dml , 全量 , 增量 , log based , trigger based , smr(single-master replication) , mmr(multi-master replication) 背景 Post
547 0
|
SQL Oracle 关系型数据库
Oracle数据表碎片整理
数据表的增删改总是避免不了产生碎片的问题,在Oracle引入表空间本地管理和ASSM之后,极端情况下,明明表空间使用率不高,需要入库的数据库对象也不大,但就是报错,原因就是无法再分配足够的连续extent (一)创建测试环境 sys@ORCL> select * from v$version; .
3653 0
|
SQL 数据库 索引
Oracle-02:SQL语言的分类或者说SQL语言的组成
    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------     小结一版:    01.DDL(Data Definition Language)数据定义语言。
829 0

推荐镜像

更多