当前位置:   article > 正文

linux关闭sql server,Linux系统中数据库启动和关闭&Basic SQL-Unix

关闭sqlserver开机自启动 linux

第一步:使用oracle用户登录

第二步:在oracle用户下输入sqlplus /nolog

第三步:如需使用管理员权限,则输入connect /as sysdba

第四步:启动和关闭

startup

startup nomount #只启动实例

startup mount   #打开控制文件

startup open    #打开数据文件和重做日志

shutdown

shutdown normal        #不接受新的连接,需要等待所有的用户断开连接

shutdown immediate     #回滚未结束的事务关闭数据库

shutdown transactional #等用户结束事务关闭数据库

shutdown abort         #直接关闭数据库

第五步:如果是启动服务,要开启监听

退出sqlplus模式输入lsnrctl start

[oracle@RHEL64 ~]$ sqlplus /nolog

SQL*Plus:>  Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> conn /as sysdba

Connected to an>  SQL> startup

ORACLE instance started.

Total System Global Area  551165952 bytes

Fixed>

Variable>  Database Buffers          171966464 bytes

Redo Buffers                3690496 bytes

Database mounted.

Database opened.

SQL>

解锁scott用户:

SQL>>

User>  SQL> commit;

Commit complete.

SQL> conn scott/tiger

ERROR:

ORA-28001: the password has expired

Changing password for scott

New password:

Retype new password:

Password changed

Connected.

显示当前用户:

SQL> show user

USER is "SCOTT"

设置SQL*Plus的环境变量:linesize和pagesize

SQL> set linesize 300

SQL> set pagesize 3000

计算一个查询花费的时间:

SQL> set timing on

SQL> select * from dept;

DEPTNO DNAME          LOC

---------- -------------- -------------

10 ACCOUNTING     NEW YORK

20 RESEARCH       DALLAS

30 SALES          CHICAGO

40 OPERATIONS     BOSTON

Elapsed: 00:00:00.07

SQL>

emp,dept,salgrade表结构如下:

DEPT表:

302bad67f9dda864b7616bad5169f95e.gif

DSC0000.jpg (27.18 KB, 下载次数: 2)

2018-10-24 06:51 上传

EMP表:

302bad67f9dda864b7616bad5169f95e.gif

DSC0001.jpg (129.77 KB, 下载次数: 3)

2018-10-24 06:51 上传

salgrade表:

302bad67f9dda864b7616bad5169f95e.gif

DSC0002.jpg (18.97 KB, 下载次数: 2)

2018-10-24 06:51 上传

查询emp表中所有人的姓名:

SQL> select ename from emp;

ENAME

----------

SMITH

ALLEN

WARD

JONES

MARTIN

BLAKE

CLARK

SCOTT

KING

TURNER

ADAMS

JAMES

FORD

MILLER

14 rows selected.

SQL>

把查询结果中ename改为中文“姓名”:

SQL> select ename 姓名 from emp;

查询emp表中不重复的部门:

SQL> select distinct deptno from emp;

DEPTNO

----------

30

20

10

SQL>

查询emp表中工资大于2k的员工:

SQL> select ename,sal from emp where sal>2000;

ENAME             SAL

---------- ----------

JONES            2975

BLAKE            2850

CLARK            2450

SCOTT            3000

KING             5000

FORD             3000

6 rows selected.

SQL>

查询emp表中工资3k到3k的员工:

SQL> select ename,sal from emp where sal between 2000 and 3000;

ENAME             SAL

---------- ----------

JONES            2975

BLAKE            2850

CLARK            2450

SCOTT            3000

FORD             3000

SQL>

查询emp表中,ename列以A开头的员工:

SQL> select ename from emp where ename like 'A%';

ENAME

----------

ALLEN

ADAMS

SQL>

查询emp表中,ename列含有A的员工:

SQL> select ename from emp where ename like '%A%';

ENAME

----------

ALLEN

WARD

MARTIN

BLAKE

CLARK

ADAMS

JAMES

7 rows selected.

SQL>

查询没有员工的部门:

SQL> select * from dept where deptno in (select deptno from emp group by deptno having count(*)

查询有员工的部门:

SQL> select * from dept where deptno in (select deptno from emp group by deptno having count(*)>1);

DEPTNO DNAME          LOC

---------- -------------- -------------

30 SALES          CHICAGO

20 RESEARCH       DALLAS

10 ACCOUNTING     NEW YORK

SQL>

查询emp表中姓名和工资额,按照工资降序排列:

SQL> select ename,sal from emp order by sal desc;

ENAME             SAL

---------- ----------

KING             5000

FORD             3000

SCOTT            3000

JONES            2975

BLAKE            2850

CLARK            2450

ALLEN            1600

TURNER           1500

MILLER           1300

WARD             1250

MARTIN           1250

ADAMS            1100

JAMES             950

SMITH             800

14 rows selected.

SQL>

查询emp表中补贴为null的员工:

SQL> select ename,comm from emp where comm is null;

ENAME            COMM

---------- ----------

SMITH

JONES

BLAKE

CLARK

SCOTT

KING

ADAMS

JAMES

FORD

MILLER

10 rows selected.

SQL>

使用to_char函数查询1981年入职的员工:

SQL> select ename,hiredate from emp where to_char(hiredate,'yyyy')='1981';

ENAME      HIREDATE

---------- ---------

ALLEN      20-FEB-81

WARD       22-FEB-81

JONES      02-APR-81

MARTIN     28-SEP-81

BLAKE      01-MAY-81

CLARK      09-JUN-81

KING       17-NOV-81

TURNER     08-SEP-81

JAMES      03-DEC-81

FORD       03-DEC-81

10 rows selected.

SQL>

使用nvl函数查询每个人每个月的总收入,如果补贴为null,则视其为0:

SQL> select ename,sal+nvl(comm,0),comm from emp;

ENAME      SAL+NVL(COMM,0)       COMM

---------- --------------- ----------

SMITH                  800

ALLEN                 1900        300

WARD                  1750        500

JONES                 2975

MARTIN                2650       1400

BLAKE                 2850

CLARK                 2450

SCOTT                 3000

KING                  5000

TURNER                1500          0

ADAMS                 1100

ENAME      SAL+NVL(COMM,0)       COMM

---------- --------------- ----------

JAMES                  950

FORD                  3000

MILLER                1300

14 rows selected.

SQL>

查询emp表中哪些员工补贴比工资还高:

SQL> select ename,sal,comm from emp where comm>sal;

ENAME             SAL       COMM

---------- ---------- ----------

MARTIN           1250       1400

SQL>

查询每个部门的最高工资:

SQL> select deptno,max(sal) from emp group by deptno;

DEPTNO   MAX(SAL)

---------- ----------

30       2850

20       3000

10       5000

SQL>

查询每个部门是那个员工获得了部门的最高工资:

SQL> select e1.ename,e1.sal,e1.deptno from emp e1,(select deptno,max(sal)最大值 from emp group by deptno) e2 where e1.deptno=e2.deptno and e1.sal=e2.最大值;

ENAME             SAL     DEPTNO

---------- ---------- ----------

BLAKE            2850         30

SCOTT            3000         20

KING             5000         10

FORD             3000         20

SQL>

查询10号部门和20号部门平均工资的差异:

SQL> select (select avg(sal) from emp where deptno=10)-(select avg(sal) from emp where deptno=20) distance from dual;

DISTANCE

----------

741.666667

SQL>

查询emp表每个员工和最高工资之间的差距:

SQL> select ename,(select max(sal) from emp)-sal distan from emp;

ENAME          DISTAN

---------- ----------

SMITH            4200

ALLEN            3400

WARD             3750

JONES            2025

MARTIN           3750

BLAKE            2150

CLARK            2550

SCOTT            2000

KING                0

TURNER           3500

ADAMS            3900

ENAME          DISTAN

---------- ----------

JAMES            4050

FORD             2000

MILLER           3700

14 rows selected.

SQL>

查询emp表中工资超过平均工资的员工:

SQL> select ename,sal from emp where sal>(select avg(sal) from  emp);

ENAME             SAL

---------- ----------

JONES            2975

BLAKE            2850

CLARK            2450

SCOTT            3000

KING             5000

FORD             3000

6 rows selected.

SQL>

查询每个部门中工资超过平均工资的员工:

SQL> select deptno,ename,sal from emp where sal>(select avg(sal) from  emp);

DEPTNO ENAME             SAL

---------- ---------- ----------

20 JONES            2975

30 BLAKE            2850

10 CLARK            2450

20 SCOTT            3000

10 KING             5000

20 FORD             3000

6 rows selected.

SQL>

列出所有部门的详细信息和部门人数:

SQL> select a.*,(select count(*) from emp where deptno=a.deptno) total from dept a;

DEPTNO DNAME          LOC                TOTAL

---------- -------------- ------------- ----------

10 ACCOUNTING     NEW YORK               3

20 RESEARCH       DALLAS                 5

30 SALES          CHICAGO                6

40 OPERATIONS     BOSTON                 0

SQL>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/115003
推荐阅读
相关标签
  

闽ICP备14008679号