数据表操作
2015-09-05 21:06:05 访问(1543) 赞(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
标签:
数据表操作 


上一条:
下一条:
相关评论
发表评论