ORACLE数据库(Oracle Database)是一款关系数据库管理系统,它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好,使用方便、功能强,适用于各类大、中、小、微机环境。

一般自行建立好表空间,用户,表,表索引,初始化数据(插入表数据)

数据仓库与操作型数据库操作型数据存储的区别 操作数据库系统_字段

后台执行初始化数据(初始化数据的量一般偏大)

数据仓库与操作型数据库操作型数据存储的区别 操作数据库系统_数据_02

 

 再者就开始介绍工作中常用到的在一个用户下的所属表里的SQL查询语句的基本操作吧(增,删,查,改)

1.增

原有一张表table名 websites

 

数据仓库与操作型数据库操作型数据存储的区别 操作数据库系统_字段_03

 

1.1 没有指定要插入数据的列名的形式新增行数据

原有4行数据,现在需要添加两行新数据(没有指定要插入数据的列名形式),此时我们就要使用 insert into ...value 需要列出插入行的每一列数据

使用如下SQL:

INSERT INTO websites values

('5', 'Facebook', 'https://www.facebook.com/', '3', 'USA'),

('6', '百度','https://www.baidu.com/','4','CN');

 

执行完结果如下:

数据仓库与操作型数据库操作型数据存储的区别 操作数据库系统_插入数据_04

 

1.2 在指定的列插入新的行数据

原有6条数据,现需要插入一个新行,但是只在 "name"、"url" 和 "country" 列插入数据(id 字段会自动更新)

使用如下SQL:

INSERT INTO Websites (name, url, country)
VALUES ('stackoverflow', 'http://stackoverflow.com/', 'IND');

 

执行完结果如下:(id 字段已自动更新)

数据仓库与操作型数据库操作型数据存储的区别 操作数据库系统_字段_05

小结 在原表 插入数据的语法如下

无需指定要插入数据的列名,只需提供被插入的值即可:
INSERT INTO table_name VALUES (value1,value2,value3,...);

需要指定列名及被插入的值:

INSERT INTO table_name (column1,column2,column3,...)VALUES (value1,value2,value3,...);

 

2.改

 原表 websites,现在需要把 "菜鸟教程" 的 alexa 排名更新为 5100,country 改为 USA

 使用SQL如下:

 UPDATE Websites SET alexa='5100', country='USA' 

 WHERE name='菜鸟教程';

 

 执行完结果如下:(只对菜鸟教程行做了更新)

数据仓库与操作型数据库操作型数据存储的区别 操作数据库系统_字段_06

 如若未用where条件语句做限制更新,将会更改表中的全部行数据

 执行没有 WHERE 子句的 UPDATE 要慎重,再慎重

小结   UPDATE 语句用于更新表中已存在的记录,语法如下:
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;

 

3.查 -----常用重点

 1.1 查询表中的所有列

  select * from websites;

 1.2 查询表中指定的列

  select w.name,w.url,w.country from websites w;  (w可用作websites表的别名,在很多张表的时候方便作区分)

数据仓库与操作型数据库操作型数据存储的区别 操作数据库系统_字段_07

 

 

  1.3 查询表中去重后的列-----distinct

   SELECT DISTINCT w.country FROM Websites w;

数据仓库与操作型数据库操作型数据存储的区别 操作数据库系统_插入数据_08

 1.4 查询表中符合条件的数据行-----where条件查询,文本字段,数值字段,运算符,like模糊查询

  SELECT * FROM Websites WHERE country='CN';  (根据文本字段查询时,文本字段必须带单引号)

数据仓库与操作型数据库操作型数据存储的区别 操作数据库系统_插入数据_09

 

  SELECT * FROM Websites WHERE id=1; (根据数值字段查询时,请不要带单引号)

数据仓库与操作型数据库操作型数据存储的区别 操作数据库系统_插入数据_10

常用运算

运算符

描述

=

等于

<>,!=

不等于

<

小于

>

大于

<=

小于等于

>=

大于等于

between

在某个范围内

and

并且

or

或者

like

搜索某种模式

in 

指定针对某个列的多个可能值

 

 

 

 

 

 

 

 

 

 

 

 

SELECT * FROM Websites WHERE id>2 and id <6;

数据仓库与操作型数据库操作型数据存储的区别 操作数据库系统_字段_11

 

SELECT * FROM Websites WHERE url like '%www%';  查询包含www的所有内容

数据仓库与操作型数据库操作型数据存储的区别 操作数据库系统_插入数据_12

 

 SELECT * FROM Websites WHERE name  like 'F%';  模糊查询信息为F开头的数据 

数据仓库与操作型数据库操作型数据存储的区别 操作数据库系统_字段_13

 

SELECT * FROM Websites WHERE COUNTRY  like '%s_';  模糊查询在倒数第二位是S的所有数据

数据仓库与操作型数据库操作型数据存储的区别 操作数据库系统_字段_14

 

 小结  模糊匹配经常与通配符一起使用,通配符的表示方法如下

  • % 表示多个字值,_ 下划线表示一个字符;
  •  M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。
  •  %M% : 表示查询包含M的所有内容。
  •  %M_ : 表示查询以M在倒数第二位的所有内容。

 1.5 查询符合表中数据并排序-----order by

   SELECT * FROM Websites ORDER BY alexa;    查询根据alexa排名的该表数据,默认升序排列ASC

数据仓库与操作型数据库操作型数据存储的区别 操作数据库系统_插入数据_15

 SELECT * FROM Websites ORDER BY alexa desc;   根据alexa排名的降序desc,查询该表数据

数据仓库与操作型数据库操作型数据存储的区别 操作数据库系统_数据_16

 

 SELECT * FROM Websites ORDER BY country,alexa;

 ORDER BY 多列的时候,先按照第一个country排序,在按照第二个alexa排序

 先将country值这一列排序,同为CN的排前面,同属USA的排后面;

 然后在同属CN的这些多行数据中,再根据alexa值的大小排列

数据仓库与操作型数据库操作型数据存储的区别 操作数据库系统_数据_17