友情提示: commit是执行完后需要的。当然如果你执行另外的语句更新就不需要了。否则你可能会发现刚才的更新没有用。
1 以DBA的身份登录数据库
connect sys/change_on_install@hhxx as sysdba;
2 查看日期等的DUAL表查询SELECT SYSDATE FROM DUAL;
3 查看用户的默认表空间
select username,default_tablespace from dba_users;
4 给用户赋权限
grant resource to hhsys;
grant connect to hhsys;
grant sysdba to hhsys;
5 创建表空间
CREATE TABLESPACE "HHSCINFO"
LOGGING
DATAFILE 'D:/ORACLE/ORADATA/INFOPLAT/HHSCINFO.ora' SIZE 512M
EXTENT MANAGEMENT LOCAL
6 创建表
create table "HHSYS"."xxgntable" (
功能编号 CHAR(8) not null,
功能名称 CHAR(64) not null,
上级功能编号 CHAR(8) not null,
constraint PK_XXGNTABLE primary key (功能编号 )
);
7 查询表
select * from HHSYS."xxgntable"
8 插入数据库
INSERT INTO "HHSYS"."XTGNTABLE" ("功能编号" ,"功能名称" ,"上级功能编号" ) VALUES ('25' ,'档案管理' ,'20' )
9 将字符型的按照数值来排序
select * from hhsys.xtgntable order by to_number("功能编号")
例子:
Char型等:1, 10,110,12,排序不是按照你想象的安顺排
上面的语句就是可以按顺序排的。1,10,12,110
10 获取表字段及对应的类型
select column_name,data_type from all_tab_columns where lower(table_name)= 'xitonggongneng'
1 UserName CHAR
2 UserPwd CHAR
3 EMail CHAR
11 选择表的前n行
select 关键字,阅读次数,SN FROM xinxi WHERE ROWNUM<11
12 查看字段中是否不含或不包含字段
select * from hhsys.xinxi where 关键词 NOT LIKE '%算法%'
select * from hhsys.xinxi where 关键词 LIKE '%算法%'
13 更新数据库
update xinxi set 信息标题='这是个测试', 经办人='李四', 关键字='测试',审批人='张三' where SN=2
14 表的关联查询 等值查询
select * from hhsys.xinxi a, hhsys.xinxishenpi b, hhsys.xinxiquanxian c where a.sn = b.id and a.sn=c.id
由于*号不推荐使用具体点
select a.建立日期,a.信息标题,a.发布部门,a.经办人,a.信息类型,a.关键字,c.权限人员 from hhsys.xinxi a, hhsys.xinxishenpi b, hhsys.xinxiquanxian c where a.Sn = b.id and a.sn=c.id
15 查看数据库归档模式
select log_mode from v$database;
16 查看查询字段结果的长度Length和to_char的用法及格式化
select LENGTH(to_char(Hiredate,'fm YYYY-MM-DD ')) from scott.emp
17 等值查询
select a.*,b.* from hhsys.fawendengji a , hhsys.shouwendengji b
18 从一个表中获取记录插入另一个表中
insert into fawendengji values(select * from shouwendengji where id ='1')
19 查看表空间
SELECT FILE_NAME,TABLESPACE_NAME,BYTES,USER_BLOCKS FROM DBA_DATA_FILES
20 修改表空间
alter database datafile 'D:/ORACLE/ORADATA/HHXX/HHNFXP.ORA' resize 8192M;
21 更新表
UPDATE tushu set 当前状态='在馆' WHERE 当前状态<>'在馆'
22 distinct的使用
select distinct 字典名称 from zidianmingcheng,xitongzidian where 模块类别='1'
23 字符串的日期比较函数
select SYSDATE from dual;
select * from hhsys.huiyi where to_date(开始时间,'YYYY-MM-DD')<sysdate
注:其中的开始时间为char型(字符串)
可以查询出比当前时间小的记录
24 导出表空间
exp "+"'hhsys/*******@hhxx as sysdba'"+" file=d:/t.dat tablespaces=hhnfxp"
25 导出表
exp hhsys/*******@hhxx tablespaces=hhnfxp file=d:/hhnfxp.dmp"
26 选择表中出现次数多于1次的数据
select count(*),finger from hash group by finger having count(*)>1