数据库基础知识

1,数据库中的数据类型,double类型怎么写 number(7,2)

2,查询出不同状态的薪水总和

select sum(salary)s,status from UserTest group by status;

3,sql语言的分类:

数据库定义语言DDL,负责数据结构定义和数据库对象的定义,常用语句 create,alter,drop,truncate(清空表数据)

数据库操作语言DML,实现对数据表的基本操作,insert ,update,delete

数据库查询语句DQL,select

事务控制语句 commit,rollback,savepoint

4,sqlplus简介

我们通常所说的DML、DDL、DCL语句都是sql 语句 , 它们执行完后 , 都可以保存在一个被称为 sql buffer 的内存区域中 , 幵且叧能保存一条最近执行的sql语句 , 我们可以对保存在sql buffer 中的 sql 语句进行修改 , 然后再次执行。    除了sql语句 , 在sql*plus 中执行的其它语句我们称之为sql*plus 命令。它们执行完后 , 丌保存 在sql buffer 的内存区域中 , 它们一般用来对输出的结果进行格式化显示 , 以便于制作报表等。

5,dual虚表

oracle提供的用于操作函数的方式,属于sys用户,共享给所有用户使用

dual是单行单列的表,存放一个常量数据x

6,oracle关于日期的操作

--sysdate
select sysdate from dual;
--日期数据相减,得到两个日期的天数差,不足一天的用round处理
select hiredate,(sysdate-hiredate) from UserTest;
--计算员工入职多少个月
select round(months_between(sysdate,hiredate)) from UserTest;
--计算12个月之前的时间点
select add_months(sysdate,-12)from dual;
--计算本月的最后一天
select last_day(sysdate) from dual;
--将日期数据转换为字符数据
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
--将日期按指定格式输出
select to_char(sysdate,'year month dd day dy') from dual;

1) 常用日期格式 

yyyy    四位数字年  如:2011 

year    全拼的年 如:twenty eleven 

month   全拼的月 如:november 或11月( 中文 )  

mm    两位数字月 如:11 

mon    简拼的月 如:nov( 中文没有简拼 ) 

dd    两位数字日 

day    全拼的星期 如:tuesday 

dy    简拼的星期 如:tue 

am    上午/下午 如:am/pm 

7,选择语句:
--case
select name,job,salary,
case job when 'job1' then salary*10
         when 'job2' then salary*100
         else salary
        end new_salary
     from UserTest
--decode
select name ,job,salary,
decode(job,'job1',salary*10,
            'job2',salary*100,
            'job3',salary*1000,
                  salary
            )new_salary
from UserTest;
注意:case之前的逗号不能少
8,group by
select sum(salary)s,status from UserTest group by status;
9,having
select sum(salary)s,status from UserTest group by status having status is not null;

9,将两个不想关的表一起查询出来,Student1,Course1,如果Student.有m条数据,Course1有n条数据,那么最后得出表的数据条数为 m*n
select * from Student1,Course1;
10,外键的创建:
alter table stu_cou add constraint fk_1 foreign key (stuId) references Student1(id);




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值