http://www.cnblogs.com/jx270/archive/2013/03/10/2952584.html
查看用户下所有的表
sql>select * from user_tables;
sql>select object_name,object_id from user_objects
where instr(object_name,'LOG')>0;
查看某表的大小
sql>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&table_name');
查看放在ORACLE的内存区里的表
sql>select table_name,cache from user_tables where instr(cache,'Y')>0;
1.INSERT (往数据表里插入记录的语句)
INSERT INTO 表名(字段名1,字段名2,……) VALUES ( 值1,值2,……);
2.DELETE (删除数据表里记录的语句)
DELETE FROM表名 WHERE 条件;
注意:删除记录并不能释放ORACLE里被占用的数据块表空间. 它只把那些被删除的数据块标成unused.
如果确实要删除一个大表里的全部记录,可以用 TRUNCATE 命令,它可以释放占用的数据块表空间
TRUNCATE TABLE 表名;
此操作不可回退.
3.UPDATE (修改数据表里记录的语句)
UPDATE表名 SET 字段名1=值1,字段名2=值2,…… WHERE 条件;
如果修改的值N没有赋值或定义时,将把原来的记录内容清为NULL,最好在修改前进行非空校验;
值N超过定义的长度会出错,最好在插入前进行长度校验..
注意事项:
A. 以上sql语句对表都加上了行级锁,
确认完成后,必须加上事物处理结束的命令 COMMIT 才能正式生效,sans-serif; font-size:13px">否则改变不一定写入数据库里.
如果想撤回这些操作,可以用命令 ROLLBACK 复原.
B. 在运行INSERT,DELETE 和 UPDATE 语句前最好估算一下可能操作的记录范围,sans-serif; font-size:13px">应该把它限定在较小 (一万条记录) 范围内,. 否则ORACLE处理这个事物用到很大的回退段.
程序响应慢甚至失去响应. 如果记录数上十万以上这些操作,可以把这些sql语句分段分次完成,sans-serif; font-size:13px">其间加上COMMIT 确认事物处理.
2.ALTER (改变表,索引,视图等)
改变表的名称
ALTER TABLE 表名1 TO 表名2;
在表的后面增加一个字段
ALTER TABLE表名 ADD 字段名 字段名描述;
修改表里字段的定义描述
ALTER TABLE表名 MODIFY字段名 字段名描述;
给表里的字段加上约束条件
ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY (字段名);
ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE (字段名);
把表放在或取出数据库的内存区
ALTER TABLE 表名 CACHE;
ALTER TABLE 表名 NOCACHE;
3.DROP (删除表,视图,同义词,过程,函数,数据库链接等)
删除表和它所有的约束条件
DROP TABLE 表名 CASCADE CONSTRAINTS;
4.TRUNCATE (清空表里的所有记录,保留表的结构)
TRUNCATE 表名;
GROUP BY:
select c_plan_code,count(c_view_user) from t_s_Wf_Rela t where c_plan_code='11111' group by c_plan_code;