数据库的主要特点:

  • 实现数据共享
  • 减少数据的冗余度
  • 数据的独立性
  • 数据实现集中控制
  • 数据的一致性和可维护性,确保数据的安全性和可靠性
  • 故障恢复
数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化
不影响数据的逻辑结构。

并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常 的交互作用。

数据库的基本操作

sqlplus xiao/xiao  (账号/密码)

sqlplus "/as sysdba"以dba的身份登录,不需要密码

show user 查看当前登录的用户是谁

登录后要清屏:

在window:$cls

在ubuntu里:!clean

设置会话的语言环境:

alter session set nls_language=english;

alter session set nls_language='simplified chinese';

用户的相关操作

create  user test01 identified by test02;

test01:账号;test02:密码;

grant connect,resource to test01;

把connect和resource权限给test01用户

connecet:角色基本的连接

resource:程序开发

conn test01;连接该用户

drop user test01 cascade;删除该用户

数据库表的操作

@test.sql:导入sql文件

desc s_emp;查看表结构

sql语句分类:

  • DQL (Data Query Language),数据查询语言
    用于检索数据库中的数据,主要是 SELECT 语句
  • DML (Data Manipulation Language),数据操纵语言
    用于改变数据库中的数据,主要是 INSERT , UPDATE , DELETE 语句
    select name from tbl_student;
  • DDL(Data Define Langage),数据定义语言
    用来建立、修改、删除数据库对象,主要是 CREATE 、 ALTER 、 DROP 、 TRUNCATE 语句
    TCL (Transaction Control Language),事务控制语言 用于维护数据的一致性,主要是 COMMIT , ROLLBACK , SAVEPOINT 语句
  • DCL(Data Control Language),数据控制功能 用于执行权限授予和权限收回操作,主要是 GRANT , REVOKE 语句 ​​​​​​​

as:取别名

拼接

select first_name||last_name from s_emp;

select first_name||'-xiao-'||last_name from s_emp;

Oracle 基础知识

nvl

可以将null进行替换

select id,nvl(commission_pct,00) xiao_pct from s_emp;

Oracle 基础知识

distinct

去除重复的数据

如果 distinct 关键词后面如果出现多列,表示多列联合去重,即多列的值都相同的时候才会认为是重
复的记录。
查看所有员工的职位名称和部门id,同职位同部门的只显示一次
select distinct dept_id,title from s_emp;
Oracle 基础知识

 

format:

设置列所占的宽度:

column last_name format a15

col last_name for a15

clean column

clear col

使用 format 调整last_name列所占的宽度,其实就是“-”的个数

Oracle 基础知识

Oracle 基础知识

spool

记录操作过程

spool d:\today.sql;

spool off;

Oracle 基础知识

order by

对查询的数据进行排序

asc默认升序

desc降序

select first_name,last_name

from s_emp

order by first_name asc,last_name desc;

条件查询

  • between and
  • in()
  • like 
  • is null
  • and,or

in

select id,last_name from s_emp where id in(1,2,3,4);

like

like通配符:

  • % 调配0到多个字符
  • _调配一个字符
  • \ 转义字符,要使用escape关键字
  • []
  • [^]

这个网站有下面两个的详细解释:

https://www.runoob.com/sql/sql-wildcards.html

select id last_name

from s_emp

where last_name like '__n_%';

查看员工名字中包含一个_的员工id和工资
select id,last_name,salary 
from s_emp 
where last_name like'%\_%' escape '\';

is null

select id,last_name form s_emp

where last_name is not null

and or

看员工部门为41 或者 44号部门,且工资大于1000的员工id和名字

select id,last_name,dept_id,title

from s_emp

where salary>1000

and (dept_id=41 

or

dept_id=44);

查看员工部门为41且工资大于1000,或者44号部门的员工id和名字
 

select id,last_name,dept_id,title

from s_emp

where salary>1000

and dept_id=41 

or

dept_id=44;

函数

查询每个部分的员工人数、以及该部门的平均工资,并且按照平均工资的降序排序
select dept_id,count(*) ,avg(salary) as avgSalary 
from s_emp 
group by dept_id 
order by avgSalary desc;
Oracle 基础知识

 

哑表:

dual被称之为哑表,它是一个单行单列的虚拟表,是Oracle内部自动创建的,这个表只有1列:DUMMY,
数据类型为VERCHAR2(1),dual表中只有一个数据'X',Oracle有内部逻辑保证dual表中永远只有一条数
据。
在实际使用中,Dual表主要用来选择系统变量或求一个表达式的值,因为要使用dual来构造完成的查询
语法
Oracle 基础知识
字符函数:
Oracle 基础知识
Oracle 基础知识
Oracle 基础知识
Oracle 基础知识
Oracle 基础知识
Oracle 基础知识
Oracle 基础知识

数字函数

Oracle 基础知识

Oracle 基础知识
Oracle 基础知识
日期函数
select sysdate from dual;
 
 
Oracle 基础知识
Oracle 基础知识
 

相关文章:

  • 2021-11-23
  • 2021-11-23
  • 2021-11-23
猜你喜欢
  • 2021-11-23
  • 2021-11-23
  • 2021-11-23
  • 2021-11-07
相关资源
相似解决方案