ORACLE 学习笔记
desc emp 描述一张表
select ename||sal||'a''a' from emp; 连接两个字段成一
个字符串
dual 空表
select distince depton,job from emp; 取消重复字段
select empno,ename from emp order by empno asc;升序
select empno,ename from emp order by empno desc;降序
函数:
单行函数:
lower(),转化小写
uper() 转化大写
substr(ename,2,3)从第二个字母开始截 总共截三个
char(65) 求字符
ascii('A')求ASC码
round(23.652,1),近似,小数点后一位
to_char(sal,'$99,999.9999') 数字格式
select to_char(hiredate,'YYYY-MM-DD HH:MI:SS') from emp;日期格式
select ename,hiredate from emp where hiredate > to_date('1981-2-20 12:32:44','YYYY-MM-DD HH24:MI:SS');找到指定日期之后的日期
select sal from emp where sal > to_number ('$1,250.00','$9,999,99')转化成数字
select ename,sal*12 + nvl(comm,0)from emp 如果comm是空值则用0代替
组函数:
max(),min(),avg()
count()个数,sum()
group by 分组
where是对单条语句进行过滤,having是对多条语句进行过滤
join ,left join,right join,left Join 就是左边表的所有数据都拿出来
full join 全连接,左右的数据全拿出来
创建表:
create table stu
(
id number(6) ,
name varchar2(20) not null,//不为空,字段级约束
sex number(1),
age number(3),
grade number(2) default 1,
class number(3),
email varchar(50) unique,//唯一
constraint stu_name_uni unique(id,email) //表级约束,id,email的组合唯一
)
修改表:
alter table stu add(addr varchar(100));添加字段
alter table stu drop(addr);删除字段
alter table stu modify(addr varchar2(50));修改字段
alter table stu drop constraint stu_class_fk;删除约束条件
删除表:
drop table stu
orcale中有user_tables,user_views,user_constraint,常用的数据字典表
dictionary表 存储总共有多少张数据字典表
创建索引:
create index idx_stu_email on stu(email)
创建视图:
create view v$_stu as select id,name,age from stu
视图其实就是子查询
创建序列:
create sequence squ;
select squ.nextval from dual ;可以用来递增