数据表操作

2015-09-05 21:06:05  访问(1542) 赞(0) 踩(0)

/*==============================================================*/
/* 创建数据表的模板                                     */
/*==============================================================*/

/*==============================================================*/
/* Table: TB_VNET_MOVIE_TYPE                                    */
/*==============================================================*/

DROP TABLE TB_VNET_MOVIE_TYPE;

-- 表的补充说明 --
-- ID 通用的关键字 --
-- CreateTime 创建时间 --
-- UpdateTime 修改时间 --
CREATE TABLE TB_VNET_MOVIE_TYPE  
(
	ID					INT				NOT NULL,
	Name				VARCHAR2(100)	NOT NULL,
	ParentID			INT				DEFAULT 0 NOT NULL,
	CreateTime			DATE	DEFAULT SYSDATE NOT NULL,
	UpdateTime			DATE	DEFAULT SYSDATE NOT NULL,	
	CONSTRAINT TB_VNET_MOVIE_TYPE PRIMARY KEY (ID)
);

-- 表的注释 --
COMMENT ON TABLE TB_VNET_MOVIE_TYPE IS
'电影类型表';

-- 表的字段注释 --
-- 为了在 PLSQL 里面能了解表的作用 --
-- 可设计成把关键字的注释写为表的注释 --
-- 在PLSQL中 DESC TB_VNET_MOVIE_TYPE 可看到表结构 --
COMMENT ON COLUMN TB_VNET_MOVIE_TYPE.ID IS
'电影类型表'; 

COMMENT ON COLUMN TB_VNET_MOVIE_TYPE.Name IS
'电影类型名';

COMMENT ON COLUMN TB_VNET_MOVIE_TYPE.ParentID IS
'类型的父ID';

COMMENT ON COLUMN TB_VNET_MOVIE_TYPE.CreateTime IS
'创建时间';

COMMENT ON COLUMN TB_VNET_MOVIE_TYPE.UpdateTime IS
'更新时间';

-- 创建序列号 --
DROP SEQUENCE SEQ_VNET_MOVIE_TYPE;

CREATE SEQUENCE SEQ_VNET_MOVIE_TYPE
INCREMENT BY 1
START WITH 1
NOMAXVALUE
MINVALUE 1
CACHE 20
/

-- 通常习惯写成这样的教本 --
-- 先DROP掉原先的TB或SEQ --
-- 然后在Create --

-- 另,这些数据操作是不需要“提交”COMMIT的,所以更改后不能“回滚” ROLLBACK

-- 添加 COLUMN 的方法 --
ALTER TABLE TB_VNET_MOVIE_TYPE ADD FLAG INT NOT NULL; 

-- 修改 COLUMN 的方法 --
-- 改为可空 --
ALTER TABLE TB_VNET_MOVIE_TYPE MODIFY FLAG NULL;
-- 改为非空 --
ALTER TABLE TB_VNET_MOVIE_TYPE MODIFY FLAG NOT NULL;
-- 设置默认值 --
ALTER TABLE TB_VNET_MOVIE_TYPE MODIFY FLAG DEFAULT 0;
-- 改字段类型 --
-- 继承上面的方法,改后只是把INT改为VARCHAR2(10),其他的属性没变
ALTER TABLE TB_VNET_MOVIE_TYPE MODIFY FLAG VARCHAR2(10);

-- 删除 COLUMN 的方法 --
ALTER TABLE TB_VNET_MOVIE_TYPE DROP COLUMN FLAG;

-- 另,以上的数据操作是不需要“提交”COMMIT的,所以更改后不能“回滚” ROLLBACK




-- 添加记录的方法 --
-- 一条记录的方式 --
-- 有默认值的或可空的可以不用添加 --
INSERT INTO TB_VNET_MOVIE_TYPE(ID,Name,ParentID,CreateTime,UpdateTime) VALUES(SEQ_VNET_MOVIE_TYPE.NEXTVAL,'地区类型',0,SYSDATE,SYSDATE);

-- 多条记录的方式 --
INSERT INTO TB_VNET_MOVIE_TYPE(ID,Name,ParentID)
SELECT
SEQ_VNET_MOVIE_TYPE.NEXTVAL AS ID,
Name,
ParentID
FROM
TB_VNET_MOVIE_TMPTYPE
WHERE ID > 10;
(TB_VNET_MOVIE_TMPTYPE 相当于一个记录表,把符合条件的批量INSERT进入TB_VNET_MOVIE_TYPE表中)


-- 修改记录的方法 --
UPDATE TB_VNET_MOVIE_TYPE SET Name = '测试' WHERE ID = XX;

-- 删除记录的方法 --
DELETE FROM TB_VNET_MOVIE_TYPE WHERE ID = XX;

-- 另,以上的数据操作是需要“提交”COMMIT的,所以更改后可以“回滚” ROLLBACK






标签:数据表操作 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)
 
  ┈全部┈  
 
(显示默认分类)