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;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。