---创建帐号。
create user mading
identified by mading
default tablespace users
temporary tablespace temp;
grant connect,dba,resource,unlimited tablespace to mading;
commit;
-创建序列sequence
create sequence test_seq start with 1;
-创建表person
create table person(
id int not null primary key,name varchar2(10),pass varchar2(10),typeid int
-查看表结构。
desc person;
describe person;
declare
xid number(10) :2;
xname varchar2(10) :阿姆1';
xpass varchar2(10) :密码1';
xtypeid number(10) :2;
beginupdate person set name=xname,pass=xpass,typeid=xtypeid where id=xid;
if sql%notfound then
insert into person(id,name,pass,typeid) values(xid,xname,xpass,xtypeid);
end if;
end;-调用系统时间sysdate
select sysdate from dual;
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as 系统时间 from dual;
select to_date('2009-06-09 14:57:53','yyyy-mm-dd hh24:mi:ss') as 系统时间 from dual;
-insert into student(name,birth) values('amu','2009-06-09 14:57:53');
select * from person where birth is not null;
--打开输出开关。
set serveroutput on
-向控制台输出一句话:ssss
exec dbms_'ssss');
declare
v_num number(3);
beginselect count(*)into v_num from person;
dbms_'要输出到控制台的信息1');
dbms_'要输出到控制台的信息2');
dbms_'要输出到控制台的信息1');
dbms_'要输出到控制台的信息2');
dbms_'要输出到控制台的信息1');
dbms_'要输出到控制台的信息2');
if v_num<>0 then
dbms_'总数为:'|v_num);
end if;
end;--将信息输出到控制台有下面两个方法:
exec dbms_'要输出到控制台的信息');
execute dbms_'要输出到控制台的信息');
declare
total number(10):=1;
num number(10):=1;
beginloop
total :=total*num;
num :=num+1;
if num>10 then
exit;end if;
end loop;
dbms_'10的阶乘:'|total);
end;-查看控制台的错误信息使用下面命令。
show error
oracle 常用命令。
d:\意思是执行一个sql文件。
|:把两个语句合并到一起。
在做oracle测试的时候,可以用dual表做测试,这个是一个虚拟表,专门测试用的。
数据类型。字符char(2000)类型,最长是2000.固定长度效率高。
字符varchar2(4000),最长是4000,可变长度。
字符clob最大的字符类型。
数字类型就一个,小数和整数都一样。
number 总大小10的38次方。
也可以表示小数number(5,2)表示有5位有效数两位小数三位小数。
number(5)五位整数大小是-99999到99999
日期类型。date 包含年月日和时分秒。
timestamp时间戳,这个是oracle对时间的扩展。
多**数据类型,二进制数据,可存放****。
blob对表的操作。
修改表-添加列。
alter table tablename add(columnname number(2));
修改数据大小。
alter table tablename modify(columnname varchar2(20));
删除一个字段。
alter table student drop column columnname;
修改表的名字。
rename tablename to newtablename;
删除表。drop table tablename
oracle 时间默认格式是,日,月,年如(14-3月-2010)
如果想修改日期格式可以用。
alter session set nls_date_format='yyyy-mm-dd';
让操作都显示时间命令:set timing on;
过滤重复数据语法。
select distinct columnname from tablename;
判断一列是不是空。
nvl(columnname,0);意思是,如果这列如果是空,那么就给0做默认值。
通配符。:表示任意0到多个的字符。
:表示1个字符。
判断这列是否是空用。
is null
多表查询。select name1,name2,name3 from table1 a,table2 b where
分页。查询一张表的6到10条记录。
select * from (select u.*,rownum rn from (select * from sa_user) u where rownum<=10) where rn>=6;
如果指定查询列或排序或分组。。等,那么只需修改最里层的子查询语句。
查询出来的数据创建一个新表。
create table newtablename(id,name) as select id,name from tablename;
集合筛选---
union(取两个结果集的并集,会自动去除重复行)
union all(取两个结果集的并集,不会去除重复行)
intersect(取两个结果集的交集)
minus(取两个结果集的差)
oracle连接j**a---
驱动字符串:""
连接字符串:"jdbc:oracle:thin:@127.0.0.1:databasename"
oracle对数据操作函数。
日期格式化操作函数-to_date例如。
to_date('1989-12-12','yyyy-mm-dd')
sysdate 获取系统当前时间。
add_months(sysdate,2) 添加月数函数,这句话的意思是在当前系统时间在加上2个月,例如select add_months(sysdate,2) from dual;
---字符串函数。
lower(char):将字符串转化为小写格式。
upper(char):将字符串转换成大写格式。
length(char):返回字符串长度。
substr(char,m,n):取字符串的子串m代表从第几个字符取n代表取几个字符。
replace(char,search_string,replace_string):替换字符串。
数学函数。round(n,[m])该函数用于执行四舍五入,如果省掉m,则四舍五入到整数,如果m是正数,则四舍五入到小数点的m位后,如果m是负数,则四舍五入到小数点的m位前,(也就是保留几位小数)
trunc(n,[m])该函数用于截取数字,如果省掉m,就截去小数部分,如果m是正数就截取到小数点的m位后,如果m是负数,则截取到小数点的前m位。
mod(m,n) 求余,例如mod(10,3)结果是1;相当于10%3
floor(n)返回大于或是等于n的最大整数。
ceil(n)返回大于或是等于n的最小整数。
abs(n) 返回数字的绝对值。
acos(n) 返回数字的反余弦值。
asin(n) 返回数字的反正旋值。
atan(n) 返回数字的反正切。
cos(n)
exp(n) 返回对数值。
power(m,n) 返回m的n次幂。
oracle笔记
1 查看表的结构 desc tabledescription 2 set timing on 打开操作表的时间记录。3 消除重复行 distinct 4 大小写不区分的是列名,而不是里面的数据。1 可以对某一列直接进行加减乘除。两列相加。2 如果有一列为null,所得结果也为空。使用nvl函数处理n...
Oracle笔记
第1页1.oracle 的使用 1.1.sqlplus 的命令 初始化表的位置 set nls lang american 设置编码才可以使用下面脚本 cd oracle home rdbms cd demo 我们目前使用的是oralce 9i 9201 版本 select from v versi...
oracle笔记
clear 清屏。col title for a20 设置title的字符最多有20个。oracle介绍。rdbsrdb 基本的存储结构是,二维表。表头。行。列。字段。sql的分类 dsl 关键字 select dml 操作 insert delete update ddl 定义 create dr...