ORACLE学习第一天
来源:互联网 发布:c语言if可以不写else吗 编辑:程序博客网 时间:2024/05/17 07:09
1.ORACLE的别名:
书写方法:
*列名 列别名
*列名 AS 列别名
列名中包含有空格或者要求区分大小写或者含有特殊字符
列别名的两侧要双引号起来
2.NUMBER(10,2)代表一共10位,小数两位
3.BETWEEN AND
包括边界值
4.拼接符号
SELECT PID||PNAME FROM PERSON
PID和PNAME将在一列显示
5.oracle中的数据类型
*CHAR 定长字符串,当数据达不到最大长度的时候将以空格填充余下字节,在内容计算上以字节为单位
*VARCHAR2(SIZE) 可变长度字符数据,最小字符数是一,最大字符数是4000,与CHAR相比不会用空格填充
*NVARCHAR2(SIZE) 可包含UNICODE格式数据的可变长度字符数据,与VARCAHR相比,它是字符
**N字字符开头的以字符为单位计算数据,不以N开头的以字节为单位计算长度
6.删除表
*drop
删除表:
DROP TABLE 表名 将表和数据全部删除
误删表DROP恢复命令
FLASHBACK TABLE TAB01 TO BEFORE DROP;
7.ORACLE的自增列,使用序列来实现
*序列 SEQUENCE
*语法 CREATE SEQUENCE TESTSEQ
MINVALUE 1
MAXVALUE 10000
START WITH 1 --起始值
INCREMENT BY 1 --增长的数量级
CATCH 20; --制定存入缓存(也就是内存)序列值的个数
*属性 NEXTVAL每次调用序列值加一
CREATE SEQUENCE TESTS;
SELECT TESTS.NEXTVAL FROM DUAL;
只保证递增不保证连续
8.删除表中的数据
*DELETE DELETE FROM 表名 WHERE 条件 --加where是删除指定条件的数据,不加删除表中所有数据
*TRUNCATE TABLE 表名 --删除所有数据
**区别是:delete 只是将数据打上作废标记,在查询时不可见,是可以恢复的
truncate 是把数据直接从磁盘上擦出,并且收回了空间,不可恢复
9.ORACLE中的日期处理
*日期元素的格式
YYYY-MM-DD HH24:MI:SS 2010-02-02 13:30:29
*--获取系统当前日期
SELECT SYSDATE FROM DUAL;
*字符串转换为日期
UPDATE PERSON SET PDATE = TO_DATE('1997-04-08','YYYY-MM-DD');
*日期转换为字符串
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD') FROM DUAL;
SELECT TO_CHAR(SYSDATE,'MM') FROM DUAL;
SELECT TO_CHAR(SYSDATE,'DD') FROM DUAL;
SELECT TO_CHAR(SYSDATE,'YYYY') FROM DUAL;
SELECT TO_CHAR(SYSDATE,'HH24:MI:SS') FROM DUAL;
SELECT TO_CHAR(SYSDATE,'HH24:MI') FROM DUAL;
SELECT TO_CHAR(SYSDATE,'HH24') FROM DUAL;
SELECT TO_CHAR(SYSDATE,'MI') FROM DUAL;
SELECT TO_CHAR(SYSDATE,'SS') FROM DUAL;
*ORACLE中的日期加减
**ORACLE中的日期加减以天为单位
*昨天今天和明天
SELECT TO_CHAR(SYSDATE-1,'YYYY-MM-DD') FROM DUAL;
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD') FROM DUAL;
SELECT TO_CHAR(SYSDATE+1,'YYYY-MM-DD') FROM DUAL;
*时分秒的加减
SELECT SYSDATE + 5/24 五小时后,
SYSDATE - 2/24 两小时前,
SYSDATE + 30/24/24 三十分钟前,
SYSDATE + 20/24/24/24 二十秒后
FROM DUAL;
TO_CHAR加个格式比较好
SELECT TO_CHAR(SYSDATE + 5/24,'YYYY-MM-DD HH24:MI:SS') 五小时后,
TO_CHAR(SYSDATE - 2/24,'YYYY-MM-DD HH24:MI:SS') 两小时前,
TO_CHAR(SYSDATE + 30/24/24,'YYYY-MM-DD HH24:MI:SS') 三十分钟前,
TO_CHAR(SYSDATE + 20/24/24/24,'YYYY-MM-DD HH24:MI:SS') 二十秒后
FROM DUAL;
*月份加减
直接调用Oracle系统函数add_months(日期x,数值y)来完成
为日期x增加y个月,y可正可负
SELECT SYSDATE 现在的日期,ADD_MONTHS(SYSDATE,3) 三个月之后
FROM DUAL
*某月的最后一天
SELECT LAST_DAY(SYSDATE) FROM DUAL;
*某月的第一天
获取上一个月的最后一天然后加一
SELECT LAST_DAY(ADD_MONTHS(SYSDATE,-1)) + 1 FROM DUAL;
SELECT ADD_MONTHS(TO_DATE('2016-05-01','YYYY-MM-DD'),-1) FROM DUAL;
*下一个周几是哪天
SELECT NEXT_DAY(日期,数值) FROM DUAL;
从哪一天向后查找,数值1--周天,2--周一....,7--周六
*上周几是几号
SELECT TRUNC(SYSDATE,'DAY')-2 FROM DUAL; trunc函数可以获取本周的周天,注意是在歪果仁眼中的周日也就是我们的上周周日
减一就是
书写方法:
*列名 列别名
*列名 AS 列别名
列名中包含有空格或者要求区分大小写或者含有特殊字符
列别名的两侧要双引号起来
2.NUMBER(10,2)代表一共10位,小数两位
3.BETWEEN AND
包括边界值
4.拼接符号
SELECT PID||PNAME FROM PERSON
PID和PNAME将在一列显示
5.oracle中的数据类型
*CHAR 定长字符串,当数据达不到最大长度的时候将以空格填充余下字节,在内容计算上以字节为单位
*VARCHAR2(SIZE) 可变长度字符数据,最小字符数是一,最大字符数是4000,与CHAR相比不会用空格填充
*NVARCHAR2(SIZE) 可包含UNICODE格式数据的可变长度字符数据,与VARCAHR相比,它是字符
**N字字符开头的以字符为单位计算数据,不以N开头的以字节为单位计算长度
6.删除表
*drop
删除表:
DROP TABLE 表名 将表和数据全部删除
误删表DROP恢复命令
FLASHBACK TABLE TAB01 TO BEFORE DROP;
7.ORACLE的自增列,使用序列来实现
*序列 SEQUENCE
*语法 CREATE SEQUENCE TESTSEQ
MINVALUE 1
MAXVALUE 10000
START WITH 1 --起始值
INCREMENT BY 1 --增长的数量级
CATCH 20; --制定存入缓存(也就是内存)序列值的个数
*属性 NEXTVAL每次调用序列值加一
CREATE SEQUENCE TESTS;
SELECT TESTS.NEXTVAL FROM DUAL;
只保证递增不保证连续
8.删除表中的数据
*DELETE DELETE FROM 表名 WHERE 条件 --加where是删除指定条件的数据,不加删除表中所有数据
*TRUNCATE TABLE 表名 --删除所有数据
**区别是:delete 只是将数据打上作废标记,在查询时不可见,是可以恢复的
truncate 是把数据直接从磁盘上擦出,并且收回了空间,不可恢复
9.ORACLE中的日期处理
*日期元素的格式
YYYY-MM-DD HH24:MI:SS 2010-02-02 13:30:29
*--获取系统当前日期
SELECT SYSDATE FROM DUAL;
*字符串转换为日期
UPDATE PERSON SET PDATE = TO_DATE('1997-04-08','YYYY-MM-DD');
*日期转换为字符串
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD') FROM DUAL;
SELECT TO_CHAR(SYSDATE,'MM') FROM DUAL;
SELECT TO_CHAR(SYSDATE,'DD') FROM DUAL;
SELECT TO_CHAR(SYSDATE,'YYYY') FROM DUAL;
SELECT TO_CHAR(SYSDATE,'HH24:MI:SS') FROM DUAL;
SELECT TO_CHAR(SYSDATE,'HH24:MI') FROM DUAL;
SELECT TO_CHAR(SYSDATE,'HH24') FROM DUAL;
SELECT TO_CHAR(SYSDATE,'MI') FROM DUAL;
SELECT TO_CHAR(SYSDATE,'SS') FROM DUAL;
*ORACLE中的日期加减
**ORACLE中的日期加减以天为单位
*昨天今天和明天
SELECT TO_CHAR(SYSDATE-1,'YYYY-MM-DD') FROM DUAL;
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD') FROM DUAL;
SELECT TO_CHAR(SYSDATE+1,'YYYY-MM-DD') FROM DUAL;
*时分秒的加减
SELECT SYSDATE + 5/24 五小时后,
SYSDATE - 2/24 两小时前,
SYSDATE + 30/24/24 三十分钟前,
SYSDATE + 20/24/24/24 二十秒后
FROM DUAL;
TO_CHAR加个格式比较好
SELECT TO_CHAR(SYSDATE + 5/24,'YYYY-MM-DD HH24:MI:SS') 五小时后,
TO_CHAR(SYSDATE - 2/24,'YYYY-MM-DD HH24:MI:SS') 两小时前,
TO_CHAR(SYSDATE + 30/24/24,'YYYY-MM-DD HH24:MI:SS') 三十分钟前,
TO_CHAR(SYSDATE + 20/24/24/24,'YYYY-MM-DD HH24:MI:SS') 二十秒后
FROM DUAL;
*月份加减
直接调用Oracle系统函数add_months(日期x,数值y)来完成
为日期x增加y个月,y可正可负
SELECT SYSDATE 现在的日期,ADD_MONTHS(SYSDATE,3) 三个月之后
FROM DUAL
*某月的最后一天
SELECT LAST_DAY(SYSDATE) FROM DUAL;
*某月的第一天
获取上一个月的最后一天然后加一
SELECT LAST_DAY(ADD_MONTHS(SYSDATE,-1)) + 1 FROM DUAL;
SELECT ADD_MONTHS(TO_DATE('2016-05-01','YYYY-MM-DD'),-1) FROM DUAL;
*下一个周几是哪天
SELECT NEXT_DAY(日期,数值) FROM DUAL;
从哪一天向后查找,数值1--周天,2--周一....,7--周六
*上周几是几号
SELECT TRUNC(SYSDATE,'DAY')-2 FROM DUAL; trunc函数可以获取本周的周天,注意是在歪果仁眼中的周日也就是我们的上周周日
减一就是
0 0
- oracle学习第一天
- Oracle 学习第一天
- Oracle学习第一天
- ORACLE学习第一天
- Oracle 学习第一天
- Oracle学习第一天
- oracle学习第一天
- ORACLE管理学习第一天
- 学习oracle第一天哈
- Oracle学习-基础-第一天
- Oracle数据库学习 第一天
- ORACLE 数据库 学习第一天
- 玩转oracle学习第一天
- 笔记:ORACLE数据库基础学习 第一天
- 学习oracle第一天的个人记录
- Oracle 第一天
- 第一天,Oracle
- oracle第一天
- HashMap 输出键值得两种方式
- java File类
- Android中finish和System.exit(0)的区别
- Hashtable的源码分析
- java异常处理
- ORACLE学习第一天
- HashTable的五种遍历方式
- Java字符串格式化:数字前面加0
- Unity3D中uGUI事件系统简述及使用方法总结
- HttpsURLConnection实现SSL的GET/POST请求
- 重构二叉树(Java实现)
- Android 怎么实现支持所有View的通用的下拉刷新控件
- Relational Database Management System(RDBMS) basic
- 【C语言】模拟strcmp比较两个字符串