Oracle学习笔记-基本信息
1、常用数据类型:
--char(size):固定长度的字符数据类型,长度size指定;使用char时,可以不指定最大长度,此时最大长度为1.
--nchar(size):多字节字符集的固定长度字符域,长度随字符集而定;使用nchar时,可以不指定最大长度,此时最大长度为1.
--varchar2(size):变长的字符串,最大长度由size指定。必须指定最大长度,长度最小值为1。
--nvarchar2(size):最大长度由size指定。必须指定最大长度,长度最小值为1。
--date:检查日期范围和格式,从January 1,4712 BC 到December 31,9999 AD。
--number(p,s):数值,精度为p,刻度为s,p,s省略就是原数值。p:精度位,precision,是总有效数据位数;s:小数位,scale,是小数点右边的位数,取值范围是-84~127,默认值取决于p,如果没有指定p,那么s是最大范围,如果指定了p,那么s=0。
补充:①、nvarchar和nvarchar2区别
nvarchar和nvarchar2是长度不固定的 ,nvarchar不区分中英文,比如说:你定义了nvarchar(20),你可以存入20个英文字母/汉字或中英文组合,这个20定义的是字符数而不是字节数 ,而VARCHAR2(20)的话,则只能存进10个汉字,英文则可以存20个。
②、char和varchar2的区别
char 与varchar2在存储上的区别,仅仅在于char会使用空格来填充空间,由于varchar2采用变长的方式存储数据,因此可以节省空间,这是毋庸置疑的。
varchar2虽然比char 节省空间,但是如果一个varchar2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用char 代替varchar2会更好一些。
③、CHAR(size)和NCHAR(size)的区别
CHAR如果存放字母数字占1个字节,存放GBK编码的汉字存放2个字节,存放UTF-8编码的汉字占用3个字节;
NCHAR根据所选字符集来定义存放字符的占用字节数,一般都为2个字节存放一个字符(不管字符或者汉字),NCHAR数据类型是专为UNICODE字符而设计的,而且只能插入UNICODE字符串
2、常用sql语句
①说明:创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
②根据已有的表创建新表:
A:select * into table_new from table_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only<仅适用于Oracle>
③说明:删除表
drop table tablename
④几个简单的基本的sql语句
选择:
select * from table1 where 范围
插入:
insert into table1(field1,field2) values(value1,value2)
删除:
delete from table1 where 范围
更新:
update table1 set field1=value1 where 范围
查找:
select * from table1 where field1 like ’%value1%’
排序:
select * from table1 order by field1,field2 [desc]
总数:
select count as totalcount from table1
求和:
select sum(field1) as sumvalue from table1
平均:
select avg(field1) as avgvalue from table1
最大:
select max(field1) as maxvalue from table1
最小:
select min(field1) as minvalue from table1
⑤说明:增加一个列,删除一个列
A:alter table tabname add column col type
B:alter table tabname drop column colname
⑥
添加主键: Alter table tabname add primary key(col)
删除主键: Alter table tabname drop primary key(col)
⑦创建索引
删除索引:
drop index index_name
⑧创建视图:create view viewname as select statement
删除视图:
drop view viewname