1.增加列
ALTER TABLE table_name ADD( column datatype [DEFAULT EXPR][,column datatype...]);
例如:
SQL>ALTER TABLE emp01 ADD eno NUMBER(4);
2.修改列定义
例如:
SQL>ALTER TABLE emp01 MODIFY job VARCHAR2(15)
2 DEFAULT 'CLERK'
3.删除列
例如:
SQL> ALTER TABLE emp01 DROP COLUMN dno;
4.修改列名
例如:
SQL>ALTER TABLE emp01 RENAME COLUMN eno TO empno;
5.修改表名
例如:
SQL>RENAME emp01 TO employee;
6.增加注释
例如:
SQL>COMMENT ON TABLE employee IS '存放雇员信息';
SQL>COMMENT ON TABLE employee.name IS '描述雇员姓名';
6、建表、建索引语句
建表
create table 表名(
字段 类型,
constraint 主键名 primary key (主键字段))
TABLESPACE 表空间 NOLOGGING;
建索引
create index 索引名 on 表名(字段名) TABLESPACE 表空间 NOLOGGING;
建序列:
CREATE sequence 序列名 start with 1 MAXVALUE 999999999999999999999; --with 从哪一个数开始 MAXVALUE 最大数为止
重置序列存储过程:
------------------------------------BEGIN------------------------------------------------------
CREATE OR REPLACE Procedure seq_Reset(v_seqname varchar2)
As
n number(10);
tsql varchar2(100);
Begin
tsql := 'Select ' || v_seqname || '.nextval From dual';
Execute Immediate tsql into n;
--如果序列本身是初始状态则不进行数值计算
if n <> 1 then
n := -(n-1);
end if;
tsql := 'Alter Sequence ' || v_seqname || ' Increment By ' || n;
Execute Immediate tsql;
tsql := 'Select ' || v_seqname || '.nextval From dual';
Execute Immediate tsql into n;
tsql := 'Alter Sequence ' || v_seqname || ' Increment By 1';
Execute Immediate tsql;
End seq_Reset;
----------------------------------------------END---------------------------------------------------------------
7、建表空间(例)
create tablespace SPACE1
datafile 'f:\oracle\oradata\xe\SPACE1.DBF'
size 400m
autoextend on
next 200m maxsize unlimited
extent management local;
8、建用户
create user 用户名 identified by 用户名
default tablespace SPACE1
temporary tablespace SPACETMP;
9、给用户授权
grant connect,resource,dba to 用户名;
grant create view to 用户名;
10、用户间单独授权、需使用sys用户登录,连接为SYSDBA
GRANT SELECT ON 用户名.表或序列名 to 另一用户;
GRANT Alter ON 用户名.表或序列名 to 另一用户;
...