ORACLE数据库的SQL基本操作

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

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

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

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

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

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

1.增

原有一张表table名 websites

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

执行完结果如下:

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

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

使用如下SQL:

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

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

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

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

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

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

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

SELECT DISTINCT w.country FROM Websites w;

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

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

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

常用运算

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

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

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

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

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

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

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

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

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

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

SELECT * FROM Websites ORDER BY country,alexa;

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

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

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

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

在下章节详细记录

原文地址:https://www.cnblogs.com/jia-1792019/p/11898958.html

时间: 2024-10-25 20:44:43

ORACLE数据库的SQL基本操作的相关文章

oracle数据库结构及基本操作

本篇博客主讲oracle数据库的基本操作,作为目前世界上使用范围最广的数据库管理系统,充分体现出其功能的强大和可靠.首先,oracle数据库结构是我们必须了解的,有助于掌握oracle数据库操作. 系统简介 ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一. 如图所示:SGA---为数据库提供服务PGA---为用户提供服务整个系统主要分为两大部分:(一)实例-管理端

Oracle数据库常用Sql语句大全

一,数据控制语句 (DML) 部分 1.INSERT  (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, --) VALUES ( 值1, 值2, --); INSERT INTO 表名(字段名1, 字段名2, --)  SELECT (字段名1, 字段名2, --) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: 'GOOD DAY' 如果字段值里包含单引号' 需要进行字符串转换, 我们把它替换成两个单引号''. 字符串类型的字段值超过

Oracle数据库PL/SQL那点事情---修改过电脑的用户名

在安装Oracle数据库的PL/SQL工具时候,电脑名称是重装系统后自动生成的用户名名称,作为程序员,有很强的强迫症,就想利用自己的英文名称作为自己电脑的名称,所以就修改了电脑的名称:结果PL/SQL数据库可视化工具就不能打开了:下面是修改电脑用户名后需要修改Oracle数据库相关数据的步骤: 修改过后出现这样的问题: Windows不能在本地计算机启动OracleDBConsoleorcl 解决的步骤: 1.开始->运行cmd 2.执行 emctl start dbconsole C:\Doc

《Oracle数据库的SQL分页模板》

在系统开发过程中,需要对数据进行查询,大部分情况下从数据库中查询的数据量比较大,在系统页面无法全部显示,而且查询全部的数据会影响系统的反应速度,需要对所查询的数据进行分页的查询操作,以此减轻系统的压力. 在Oracle数据库中,如何完成分页SQL的编写,影响着系统开发的速度,特提供两个SQL的分页模板: (1).采用oracle的内置函数ROWNUM.(ROWNUM是结果的伪列,仅仅当聚集结果时产生,但早于排序或聚合) select <columns I actually want>,rown

Oracle数据库入门——sql语句和函数详解

一.oracle常用数据类型 一.  数据定义语言(ddl) 数据定义语言ddl(data definition language)用于改变数据库结构,包括创建.更改和删除数据库对象. 用于操纵表结构的数据定义语言命令有: create table alter table truncate table drop table eg. --创建tb_stu表数据结构 create table tb_stu( id number, name varchar2(20) );   --修改tb_stu表数

Oracle 数据库常用sql语句及知识

<Oracle 数据库> 一.常用sql语句: 1.连接系统管理员账号:conn system/system(安装时口令); 2.创建新账号:create user Leo(账号名) identified by Leo(密码): 3.给新账号授权:grant connect,resource to Leo; 4.从某个账户收权:revoke resource from Leo; 5.连接新账号:conn Leo/Leo; 6.显示当前客户:show user; 7.查看表结构:desc s_e

Oracle数据库常用SQL

Oracle数据库创建实例的过程类似于Sql server创建数据库,Oracle一个实例可以对应多个表空间,一个表空间对应一个用户,根据不同的用户名.密码登录不同的表空间. 因此,创建表空间后,紧接着要创建用户并为其指定表空间.并授权给该用户,一般是connect.resource.dba权限 grant connect,resource,dba to yun 查询数据库名称: select name from v$database; 怎样查得数据库的sid.系统环境变量 select nam

Oracle数据库的sql语句性能优化

在应用系统开发初期,由于开发数据库数据比较少,对于查询sql语句,复杂试图的编写等体会不出sql语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要问题之一.系统优化中一个很重要的方面就是sql语句的优化.对于海量数据,劣质sql语句和优质sql语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就行,而是要写出高质量的sql语句,提高系统的可用性. Oracle的sql调优第一个复杂的主题,甚至需要长

Oracle数据库PL/SQL存储过程游标触发器

创建一个添加FOOD的存储过程 create or replace procedure add_food_pro (name in varchar,price in number,description in varchar) as  begin insert into food (f_name,f_price,description)values(name,price,description); commit; end; --下面的代码是调用存储过程 begin add_food_pro('糖