文档详情

oracle中SQL的使用要点.doc

发布:2017-06-03约7.61千字共7页下载文档
文本预览下载声明
1. 数据类型 Select 属性,dump(属性) from 表; dump函数用于查看表中属性值的具体信息。例如类型号,长度,ASCII码。 char varchar 如果数据长度固定,用char类型存取速度快。长度变化大的就用varchar。 nchar,nvarchar中中英文一个字符都占1个长度。char,varchar中中文一个字符都占2个长度。 clob 变长,最大8tb,字符型大对象 blob 二进制数据,可以存放图片/声音 8tb 要求对文件安全性特别高时,可以将图片/声音放入数据库;一般不放,因为读取慢,而放路径到数据库。 number(p,s) 存放整数,小数均可。P为有效位,s为小数位。1=p=38 -84=s=127 变长(节省空间) 有效位:从左到右,第一个非0数就是第一个有效位。 0有效位2位 number(5,2) 表示一个小数有5位有效数,2位小数。范围 -999.99~999.99 575.316 会被四舍五入575.32 number(5) ( number(5,0) -99999 ~ 99999 number(4,2) 无法存取 number(6,-2) 100 -2表示精确到小数点前2位 163.89 number(6,-2) 200 133.8991 number(6,-2) 100 date 日期类型 表示时间(年月日时分秒) Create table a(birthday date) Insert into a values(‘2011-11-11’); ————错误 Insert into a values(‘11-11月-11’); 天-月-年 Oracle日期的默认格式 ‘dd-mm-yyyy’ (可以用oracle函数将其变成习惯的日期格式) TIMESTAMP(n) 邮戳类型,当对数据进行更新的时候,会自动更新日期。 例如:生日是邮戳类型,当某人姓名信息更新时,生日会变成更新姓名时的系统时间。 2. 修改表的定义 Alter table 表名 add (列名 类型); --添加1列 Alter table 表名 modify (列名 类型); --修改属性类型 Alter table 表名 drop column 列名; --删除1列 Rename 表名 to 新表名 --改表名 3. delete命令 Savepoint aa; --设置保存点 Delete from a; Rollback to aa; --回滚到保存点 Select * from a; 4. truncate 命令 Truncate table 表名 删除大表很快,不写日志,无法找回删除的记录。 5.nvl(表达式,0) --处理null值 如果表达式为空就返回0,如不为空,就返回表达式值。 6. oracle 用“别名”表示别名 7. || --连接字符串,把表达式或列的拼接成1列 Select sno || sname from student; --返回1列 Select sno ||’ ‘s name is ’ || sname from student; --返回1列 注意:oracle中的sql语句不区分大小写,构造语句中用到的常量值区分大小写。 Select * from student where sname=’Lily’ Select * from student where sname=’lily’ 8.dual表 dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录。查看当前用户,可以在 SQL Plus中执行下面语句 select user from dual; 用来调用系统函数   select to_char(sysdate,yyyy-mm-dd hh24:mi:ss) from dual;--获得当前系统时间   select SYS_CONTEXT(USERENV,TERMINAL) from dual;--获得主机名   select SYS_CONTEXT(USERENV,language) from dual;--获得当前 locale   select dbms_random.random from dual;--获得一个随机数 (3)得到序列的下一个值或当前值,用下面语句   select your_sequence.nextval from dual;--获得序列your_sequence的下一个值   select your_sequence.
显示全部
相似文档