ORACLE 创建表结构,表结构修改

创建表语法:

CREATE TABLE example
(
    col1 NUMBER,
    col2 VARCHAR2(20) NOT NULL PRIMARY KEY
);

查看表的描述:

SQL> DESC example;
Name Type         Nullable Default Comments 
---- ------------ -------- ------- -------- 
COL1 NUMBER       Y                         
COL2 VARCHAR2(20) 

插入语法:

INSERT INTO example
  (col1, col2)
VALUES
  (   /*{ "col1" }*/,   /*{ "col2" }*/);
注意事项:上下两个括号中的项必须一一对应.


删除表语法:

DROP TABLE example;

删除表记录语法:

DELETE FROM example WHERE col1=*;


修改表记录语法:

DELETE FROM example WHERE col1=*;


查询表记录:

可以为表名或者列名 定义别名.

SELECT * FROM example e;
SELECT e.col1, e.col2 FROM example e;

增加和删除、更新列:

--增加列
alter table example 
  add  columnName datatype;
--删除列
alter table example 
  drop columnName ;
--更新列
alter table example 
  RENAME oldcolumnName TO newcolumnname ;

修改列数据类型:

alter table example 
   MODIFY columnName newdatatype ;

修改默认值:

ALTER TABLE example 
   MODIFY (columnName DEFAULT default_value) ;

重命名表:

ALTER TABLE example 
   RENAME TO new_table_name ;

修改表所属表空间:

ALTER TABLE example 
   MOVE TABLESPACE SYSTEM;

完整性约束:

  1、非空约束:

创建表时创建,

create table NUMBERS
(
  NUMBERID NUMBER(20) not null,
  MYNUMBER VARCHAR2(20) not null
)
 为已存在的列添加非空约束:

ALTER TABLE example 
   MODIFY column_name NOT NULL;
删除NOT NULL约束:

ALTER TABLE example 
   MODIFY column_name NULL;

2、主键约束:

创建表示创建约束:

CREATE TABLE example
(
    col1 NUMBER,
    col2 VARCHAR2(20) NOT NULL PRIMARY KEY   --此列为主键约束列
);

为已存在的列添加主键约束:

ALTER TABLE example 
   ADD CONSTRAINT primary_key_name PRIMARY KEY (col_name);

删除主键:

ALTER TABLE example 
   DROP CONSTRAINT primary_key_name ;

3、unique约束

创建表时添加:

/************************************************************
 * Code writed by setyg
 * Time: 2014/4/4 12:45:16
 ************************************************************/

CREATE TABLE teacher
(
    teacherid       NUMBER(5) NOT NULL CONSTRAINT pri_key_id PRIMARY KEY,
    teachername     VARCHAR2(20) NOT NULL,
    teachernum      NUMBER(20) NOT NULL CONSTRAINT uni_num UNIQUE
) 

为已存在的列添加unique约束:

/************************************************************
 * Code writed by setyg
 * Time: 2014/4/4 12:48:22
 ************************************************************/
ALTER TABLE export 
ADD CONSTRAINT uni_study_no UNIQUE(study_no);

删除唯一性约束:

--写法1
ALTER TABLE export
DROP UNIQUE (unique_col_name);

--写法2
ALTER TABLE teacher
DROP CONSTRAINT constraint_name;
4、check约束

--限制表A的teacherid字段范围必须是100-200之间
ALTER TABLE teacher ADD CONSTRAINT chk_id CHECK (teacherid BETWEEN 100 AND  200);

5、创建FOREIGN KEY约束

       FOREIGN KEY即为外键约束,作用是让两个表通过外键建立关系.

       FOREIGN KEY有以下4个特点:

       *  如果某列添加为外键,则该列的值只能为引用表中的主键属性值或者空值.

       *  可以为一个元组的一个属性定义为FOREIGN KEY也可以为多个属性定义FOREIGN KEY.

       *  定义为FOREIGN KEY的外键列可以和被引用的主键列处于同一个关系中.

       *  对于同一个属性可以同时定义为FOREIGN KEY和NOT NULL.

创建外键:

--创建表时创建
CREATE TABLE teacher
(
teacherid NUMBER(20) NOT NULL PRIMARY KEY,
teachername VARCHAR2(20) NOT NULL,
teachernum NUMBER(20) REFERENCES numbers(numberid),
teacherage NUMBER(3) NOT NULL    
)

为已存在的表添加外键:

ALTER TABLE teacher
ADD CONSTRAINT foreign_key FOREIGN KEY (teachernum) REFERENCES numbers(numberid);

删除外键:

ALTER TABLE teacher
DROP CONSTRAINT constraint_foreign_key_name;

6、控制约束的约束

       disable和enable

       设置约束为不可用:      

ALTER TABLE teacher
DISENABLE CONSTRAINT constraint_key_name;
        修改约束为激活状态:

ALTER TABLE teacher
MODIFY CONSTRAINT constraint_key_name ENABLE;
7、验证约束

8、延迟约束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值