1.进入界面: sqlplus 用户名/数据库密码@数据库名称 如: sqlplus PWSYS/password@Test
2.添加字段: ALTER TABLE tablenameADD (columnname VARCHAR2(30));
3.修改字段类型大小: ALTER TABLE tablename MODIFY columnname VARCHAR2(300);
4.字段重命名:ALTER TABLE tablenameRENAME COLUMN nameA TO nameB;
5.删除字段:ALTER TABLEDROP COLUMN tablename;
6.删除表: 1.DELETE FROM tablename;(删除所有记录,表结构还在,写日志,可以恢复的,速度快)
2.TRUNCATE TABLE tablename;(删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快)
3.DROP TABLE tablename;(删除表的结构和数据)
4.DROP TABLE tablenamePURGE;(会把表直接删除,不放进回收站)
7.级联删除:主表A 主键A_id 子表 B 主键 B_id 外键A_id
ALTER TABLEPWSYS.B ADD FOREIGN KEY (A_id) REFERENCESPWSYS.A (A_id)ON DELETE CASCADE;
置空: ALTER TABLE PWSYS.B ADD FOREIGN KEY (A_id) REFERENCES PWSYS.A (A_id) ON DELETE SET NULL;
8.Oracle关于特殊字符的处理如:‘&’ 等不能直接操作(mg/M³) 用连接符 || 如下:
SELECT * FROM A WHERE A.COLUMNTYPE='mg/M'||'&'||'sup3;';
9.新建序列:
CREATE SEQUENCE PWSYS.A_SEQ
MINVALUE 1
MAXVALUE 9999999999
START WITH 1
INCREMENT BY 1
CACHE 20;
自增主键触发器:
CREATE OR REPLACE TRIGGER PWSYS.A
BEFORE INSERT ON A
FOR EACH ROW
DECLARE
numrows INTEGER;
BEGIN
/* Create unique identity */
If PW.IDENTITY THEN
SELECT PWSYS.A_SEQ.NEXTVAL INTO numrows FROM DUAL;
:new.A_id := numrows;
END IF;
END;
/
10.字段合并