ORACLE数据库的SQL基本操作

      作为一个代码小白,最近一个月在开始学习python语言,这一学习路上经历了一场听完学习视频,看完老师敲的代码,自己上手写,一团乱麻。。。

最尴尬的时刻就是赶在年前公司重新面试打分,问到了数据库,发现SQL这块也挺重要,工作中经常用到,发现太久未系统整理数据库知识,趁此机会整理如下

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

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

ORACLE数据库的SQL基本操作

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

ORACLE数据库的SQL基本操作

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

1.增

原有一张表table名 websites

 ORACLE数据库的SQL基本操作

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‘);

执行完结果如下:

ORACLE数据库的SQL基本操作

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

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

使用如下SQL:

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

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

ORACLE数据库的SQL基本操作

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

无需指定要插入数据的列名,只需提供被插入的值即可:
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=‘菜鸟教程‘;

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

ORACLE数据库的SQL基本操作

 如若未用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表的别名,在很多张表的时候方便作区分)

ORACLE数据库的SQL基本操作

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

   SELECT DISTINCT w.country FROM Websites w;

ORACLE数据库的SQL基本操作

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

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

ORACLE数据库的SQL基本操作

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

ORACLE数据库的SQL基本操作

常用运算

运算符描述
=等于
<>,!=不等于
<小于
>大于
<=小于等于
>=大于等于
between在某个范围内
and并且
or或者
like搜索某种模式
in 指定针对某个列的多个可能值

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

ORACLE数据库的SQL基本操作

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

ORACLE数据库的SQL基本操作

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

ORACLE数据库的SQL基本操作

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

ORACLE数据库的SQL基本操作

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

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

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

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

ORACLE数据库的SQL基本操作

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

ORACLE数据库的SQL基本操作

 SELECT * FROM Websites ORDER BY country,alexa;

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

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

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

ORACLE数据库的SQL基本操作

1.6 查询多表-----左连接(最常用),右连接,内连接,全连接

在下章节详细记录

相关推荐