步入正式的环节:
说明: oracle中sql不区分大小写,包括登录的用户名,密码都是不区分的。
0.mysql与oracle数据类型对比:
其增删改查大多数都和mysql类似
1.建表
create table users(
ID number(4) primary key,
NAME varchar(10),
SEX char(2),
ADDR varchar2(20),
BIRTHDAY date,
SAL number(8,2)
);
说明:oracle中: VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;
varchar是可变长度 char是定长。
说明:sql语句是关系型数据库的公用语言,oracle与mysql基本都是一致的.
2.删除表(将表和表中的数据都删除)
drop table users;
3.查询全部数据
select * from users;
4.查询表的结构
desc users;
SQL语句分类
1.SELECT查询语句
2.DML语句(数据库操作语言)
insert/update/delete/merge
3.DDL语句(数据库定语言)
create/alter/drop/truncate
4.DCL语句(数据控制语言) 分配删除权限使用
grant/revoke
5. 事物控制语句
commit/robllback/savepoint
数值型的数据类型说明:
1.可以使用 +,-,*,/ 加减乘除
2.在算数表达式中出现null如 null+8= null 结果是 null
3.小括号可以改变运算顺序。
4.使用||可以吧两列或多列合并到一起
查询编号和姓名合并到列名为员工信息的字段里面
如 select empno || ebname "员工信息" ,job from emp;
在||连接符中出现null
如 ‘123’|| null 则结果是 ‘123’
5.任何类型都支持null
6.单双引号区别
推荐一篇博客:https://blog.youkuaiyun.com/menghuanzhiming/article/details/77016934
对于字符型的数据则需要严格区分大小写,推荐使用单引号
如 where ename = ‘SMITH’ 查询出来的是SMITH对应的数据不是含小写字母smith或Smith或sMith等的数据。
对于日期也需要
如: where hiredate=‘20-2月-1981’
7.对于日期执行加减,就是加减的是天数,日期不能进行乘除
比如: select hiredate “雇用日期”,(hiredate+90) “转正日期” from emp;
当前的日期有点奇怪,修改一下
在这一次连接中暂时改变:下一次重新连接不会生效
alter session set nls_date_format ="YYYY-MM-DD HH:MI:SS"
目前: 再次查询:
两个日期相减得到的是相差的天数
比如: sysdate这个日期是oracle自带的,用于获取当前日期
select (sysdate-hiredate) " 相差天数" from emp;
其余包括去重distinct等语句都是一样的就不多叙述了.