数据库的(应用)常用语句

细讲数据库应用常见一些语句和语法的应用

1.创建表空间:

CREATE TABLESPACE tablespacename
DATAFILE 'filename' [SIZE integer [K|M]] 
[AUTOEXTEND [OFF|ON]];

 2.表空间的删除:

drop tablespace emp(表名)

 3.创建用户:

create user student(用户名)
identified by student123(密码)

 4.创建表:

create table student
(sid number,sname varchar2(20),sex char(4))
//number,varchar2,char是约束括号内为其约束的长度

 5.创建表后增加列:

alter table table_name add column_name type

6.创建表后删除列:

alter table table_name drop column column_name

 7.修改表的某个数据类型:

alter table table_name modify column_name type

 8.更改列名:

alter table table_name rename column old_column_name to new_column_name;

 9.更改表名:

alter table table_name rename to new_table_name

 10.表里插入数据:

insert into student (sid,sname,sex,birthday)
values (1001,'zhangsan','man','13-8yue-2014');
//注意写出生年月如果你没有转换为自己的格式就一定要按这种形式来写如:日-月-年;

 11.查看表结构:

desc emp;

 12.修改表里的数据:

update student set sex='woman';

 13.查询表里所有的数据:

select * from emp;

 14.查看部分数据(带条件查询):

select empno,sal,comm,job from emp;

 15.转换不同的用户:

connect system/newer;
connect scott/newer;
//connect 为连接符scott为用户newer为密码

 16.查询emp表中员工的月薪和年薪:

select enamel,job,sal,sal*12;

 17.查询emp中的员工月收入:

//月收入=sal+comm(奖金),nvl(comm,0)表示没有奖金的就为零,sal_comm为自己取的别名
select ename,sal,comm,sal+nvl(comm,0) sal_comm from emp;

18.查询emp表中的工作岗位:

//nvl(job,'no job')表示如果没有工作的就用no job表示
select enamel,sal,nvl(job,'no job');

 19.复制表:

create table student
as select ename from emp;

 

20.去掉重复的语句:

 select distinct job from emp;

 21.删除数据:

delete emp;---删除表的数据,表结构存在
drop table emp;-----不但删除数据,表的结构删除

 22.between语句的使用:

select ename,sal from emp
where sal between 3000 and 5000;
等价与select ename,sal 
from emp
where sal>= 3000 and sal <= 5000;
//看你自己个人觉得那种叫习惯就用那种

 23.or语句的使用:

select ename,deptno from emp
where deptno = 10 or deptno=20;

 24.not in和in语句的使用:

select enamel,deptno from emp
where deptno not in(10,20);//表示不在10和20这两个部门
//有not in 那么肯定有 in的使用
select enamel,deptno from emp
where deptno not in(10,20);//表示在10和20这两个部门的

 25.like语句的使用:

select ename from emp
where ename like'_A%';
//_A表示第二个单词像A的都找出来%表示后面随意的单词和个数

 26.avg语句的使用:

select deptno,avg(sal) from emp
group by deptno;

 27.max和min,sum语句的使用:

select deptno max(sal),min(sal) from emp
group by deptno;
select deptno,sum(sal) from emp
group by deptno;

 28.having语句的的使用: 

select deptno,count(job)
from emp
group by deptno
having count(job)>2;

 29.分组查询:

//查询和SMITH同一个部门的但不包括SMITH
select ename from emp
  2  where deptno=
  3  (select deptno from emp
  4  where ename ='SMITH') and ename< > 'SMITH';
//谁是SCOTT的领导
select ename from emp
where mgr=
(select empno from emp
where ename ='SCOTT');
//切记名字一定要大写不然将查不到

 30.join语句的使用:

 select ename,e.deptno,d.deptno from emp e
    join dept d
    on d.deptno = e.deptno;

 31.自连接:

select e1.ename,e2.ename from emp e1
join emp e2 on e1.mgr = e2.empno;
//查找员工的姓名和上司的姓名

 32.降序和升序语句:

select ename,sal from emp
order by sal asc;
//升序
select ename,sal from emp
order by sal desc;
//降序

33.别名查询:

select e.empno,e.ename,e.job,d.dname from emp e,dept d where e.deptno=d.deptno;
//别名查询就是给表在后面加个易记易操作的名字

 34.定义私有同义词:

 

//为防止别人知道你这张表是那个表单中的
create synonym e for emp;

 35.删除私有同义词:

drop synonym e;

 36.创建序列:

 

//创建序列为了方便知道你的数据到那个位置了因为它和表示分开的所以你删除了某条数据他还是会跟着增或减
create sequence seq_num 
start with 1
increment by 2
maxvalue 20
minvalue 1
NOCYCLE
CACHE 2

 37.查询当前用户的序列:

-- Create table
create table MyUser
(
  userid   number(10) not null,
  username varchar2(20),
  userpwd  varchar2(20)
)
tablespace USERS
  storage
  (
    initial 64K
    next 64K
    minextents 1
    maxextents unlimited
    pctincrease 0
  );

 38.创建视图:

为什么要创建视图:

为了把一些数据隐藏起来,不公开。

 

create or replace view v_emp as select empno,ename,job from emp;

可能还有很多语句没有写出来,提供了一个word文档自己去里面看下,语句都比较简单看下就明白了

猜你喜欢

转载自goslinzhihui.iteye.com/blog/2142586