Oracle基本语法

前言:

1.使用的数据库不同,所使用的语法也略有不同

2.SQL对大小写不敏感,无论大小写,sql自动转换为大写

3.用户名、表名、表空间名、文件路径......等需要用单引号将其包含

4.一般引号里面的内容需要大写


准备工作:

(1).Win+R打开services.msc

 

 (2)启动一些服务:

(qwq我不知道哪些有用,哪些没用,所以我都把打开了,不知道有没有负面影响,大家参考一下别的博客吧)

登录:

1.打开SQL Plus命令行工具

第一种方式:

 第二种方式:

(1)win+R 打开cmd

(2)输入sqlplus

2.以不同用户登录 

注意:

1.使用用户口令这种形式登录的时候,是不显示密码的,口令输入的时候是不显示的,直接输就好

2.若是想以显示密码的形式输入,直接在用户名那一块输入:用户名/密码

3.超级管理员(sys)输入时需要注意指定 as sysdba

SYSTEM(普通管理员):

SYS(超级管理员):
不显示密码方式:

用户名:SYS

密码:sys密码 as sysdba

 显示密码方式:

用户名:sys/sys密码 as sysdba

SCOTT(普通用户):
若是出现被锁住的情况:
解决方法: 

(1)登录超级管理员账户,

(2)输入alter user 用户名 account unlock; 

 

(3)重新登录即可:

1.数据定义语言(DDL)

数据库操作 

查询所有用户:

select distinct(OWNER) from all_tables;

查看当前用户:

show user;

创建用户并指定其表空间:

create user 用户名 identified by 密码 default tablespace 表空间;

给用户授予dba的权限(超级管理员):

 grant dba to 用户;

删除用户(超级管理员):

(1)查看用户是否有活跃对话

select sid as session_id, serial# from v$session where username='用户名';

(2)如果查询结果显示有活动的会话,结束这些会话

kill session 'session_id, serial#' immediate;

 (3)删除用户

drop user 用户名 cascade;

  

 切换用户登录:

conn 用户名/密码

表操作

查询:
查询某个用户下所有表名:

(用户名注意大写)

select table_name from dba_tables where owner = '用户名';

查询某个用户下表个数:

(用户名注意大写)

select count(*) from all_tables where OWNER = '用户名';

查询某个用户的表结构:
desc 用户名.表名;

查询指定表的建表语句:

(表名、用户名注意大写)

select dbms_metadata.get_ddl('TABLE', '表名','用户名') from dual;

创建:
创建表空间:

 create tablespace 表空间名 datafile '文件路径\文件名.dbf' size 表空间大小;

 

创建表:

#创建表
create table 表名(

        字段1 字段1类型,

        字段2 字段2类型,

        字段3 字段3类型,

        .......

        字段n 字段n类型

) ;       

给表添加注释:
 comment on table 表名 is '注释';

 

给字段添加注释: 
comment on column 表名.字段名 is '注释';

 表备份:
create table 用户名.备份表名 as select * from 用户名.需要备份的表名;

 

修改:
重命名表:
alter table 用户名.旧表名 rename to 新表名;

添加字段:
alter table 用户名.表名 add 新字段名 新字段类型 default '默认值';

修改字段名:
 alter table 用户名.表名 rename column 旧字段名 to 新字段名;

修改数据类型:
 alter table T1.emp1 modify temp varchar(30);

删除:
删除表字段:
alter table 用户名.表名 drop column 字段名;

删除表:
drop table 表名;

删除表空间:

(1)查看是否有其它用户在使用该表空间:

select * from dba_users where default_tablespace='表空间名';

(2)若有,则删除这些用户或者将这些用户迁移到别的表空间

(3)删除表空间

drop tablespace 表空间名 including contents and datafiles;

删除指定表并重新创建该表:
truncate table 表名;


2.数据操作语言(DML)

添加数据(insert)

注意:

1.插入数据注意顺序

2.插入的数据大小要合法

给指定字段添加数据:

insert into 表名 (字段1,字段2......) values(值1, 值2......);

给表中批量添加数据:

insert all into 用户名.表名(字段1,字段2,字段3......) values(值1,值2,值3.......)
           into 用户名.表名(字段1,字段2,字段3......) values(值1,值2,值3.......)
select * from dual;

修改数据(update) 

修改数据:

 注意:如果没有条件,则会修改整张表

update 表名 set 字段1=值1,字段2=值2......[where 条件];

删除数据(delete)

删除数据:

注意:如果没有条件,则会删除整张表

update 表名 set 字段1=值1,字段2=值2......[where 条件];


3.数据查询语言(DQL)


如有错误,欢迎指正!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/721463.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

NocoBase调研

项目概述: nocobase是一个开源的无代码和低代码开发平台,允许用户快速部署私有、可控、易于扩展的系统。 NocoBase官网:NocoBase-开源、私有部署的轻量级无代码和低代码开发平台 核心特性: 强调NocoBase的数据模型驱动方法&am…

淘宝文件系统-哈希查找分析

一.框架理解 在淘宝文件系统中,通常会将文件索引存储在一块内存中,这块内存包含了若干个主块(Index Block)。每个主块中存储着多个文件的索引信息。每个文件的索引按照哈希表的形式进行存储,通过哈希值来定位到具体的文…

铠侠全面复产:NAND价格还会涨吗?

近期,日本经济新闻(Nikkei)报道指出,经历长达20个月的产能削减后,全球第四大三维NAND闪存制造商铠侠已全面恢复生产。这一转变不仅标志着铠侠再次全力投入到市场份额的争夺中,也可能预示着闪存市场价格即将…

不重新安装Anaconda找回不见的Anaconda Prompt

找回Anaconda Prompt只需三步 系统:win11 x641.cd Anaconda的安装目录2. Anaconda Prompt又回来了 系统:win11 x64 1.cd Anaconda的安装目录 winR 输入cmd 进入命令行,进入到Anaconda的安装目录 eg:我的Anaconda安装在&#xff…

多规格产品应该如何设置呢?

今天一用户从供应商手中拿到产品价目表,但是设置起来蒙圈了,接下来我们就一起设置一下吧~ 一、产品价格表 我们通过供应商手中拿到产品价目表是这个样子的: 我们可以看到此产品的销售客价根据不同地区导致的价格不同,…

Nvidia Isaac Sim 入门教程 2024(2)安装与配置

Isaac Sim 安装与环境配置 版权信息 Copyright 2023-2024 Herman YeAuromix. All rights reserved.This course and all of its associated content, including but not limited to text, images, videos, and any other materials, are protected by copyright law. The a…

Git快速上手

初识Git 是一个免费开源, 分布式的代码版本控制系统, 帮助开发团队维护代码 作用: 记录代码内容,切换代码版本,多人开发时高效合并代码内容 Git和GitHub Git是一个软件, Github是一个网站,两者的功能都是提供版本控制服务. 官网: GitHub: Let’s build from here GitHub …

【多模态大模型教程】在自定义数据上使用Qwen-VL多模态大模型的微调与部署指南

Qwen-VL 是阿里云研发的大规模视觉语言模型(Large Vision Language Model, LVLM)。Qwen-VL 可以以图像、文本、检测框作为输入,并以文本和检测框作为输出。 Qwen-VL-Chat 大语言模型(Qwen-7B) 视觉图片特征编码器(Openclip ViT-bigG) 位置…

工业物联网关为智能制造业提供哪些支撑?天拓四方

随着科技的飞速发展,智能制造业已成为工业领域的转型方向。在这一转变中,工业物联网关发挥着至关重要的作用。作为连接物理世界与数字世界的桥梁,工业物联网关不仅实现了设备与设备、设备与云平台之间的互联互通,更通过实时数据采…

Spring AOP 基于注解实现用户权限校验

主要注解 interface:继承了 Annotation 接口的自定义注解,定义注释类型。 Target:表示这个注解可以应用的地方,此处做权限校验是用在方法上的,所以此处的值为 Target(ElementType.METHOD) …

【docker 如何自定义镜像】

查看容器列表 首先是查看容器:在命令台中键入 docker ps -a 命令,得到如下界面。 从容器创建一个新镜像 接着,dockers commit 容器名 要保存成的镜像名:版本名(若没有 :版本名 则直接默认为latest&#x…

【CVPR2021】LoFTR:基于Transformers的无探测器的局部特征匹配方法

LoFTR:基于Transformers的局部检测器 0. 摘要 我们提出了一种新的局部图像特征匹配方法。我们建议先在粗略级别建立像素级密集匹配,然后再在精细级别细化良好匹配,而不是按顺序进行图像特征检测、描述和匹配。与使用成本体积搜索对应关系的密…

动手学深度学习(Pytorch版)代码实践 -深度学习基础-11暂退法Dropout

11暂退法Dropout #Dropout 是一种正则化技术,主要用于防止过拟合, #通过在训练过程中随机丢弃神经元来提高模型的泛化能力。 import torch from torch import nn from d2l import torch as d2l import liliPytorch as lpdef dropout_layer(X, dropout):…

安全宣传咨询日活动向媒体投稿记住这个投稿好方法

在信息爆炸的时代,作为单位的信息宣传员,我肩负着将每一次重要活动,特别是像“安全宣传咨询日”这样的公益活动,有效传达给公众的重任。这份工作看似简单,实则充满了挑战,尤其是在我初涉此领域时,那段曲折而又难忘的投稿经历,至今记忆犹新。 初探投稿之海,遭遇重重困难 起初,我…

这些数据可被Modbus采集,你还不知道???

为什么要用Modbus采集模块 Modbus采集模块之所以被广泛使用,是因为它提供了标准化的通信协议,确保了不同设备间的兼容性。它支持多种通信方式,易于实现,并且能够适应不同的网络环境。Modbus模块能够收集和传输各种工业数据&#x…

【产品经理】订单处理6-审单方案

电商系统中订单管理员会对特殊类型的订单进行审核,普通订单则自动审核,本节讲述自动审单方案、手动审单以及加急审单。 一、自动审单 自动审单方案可按照方案形式制定,可一次性制定多套审单方案。 1. 审单通过条件有 执行店铺&#xff…

大模型的分类:探索多样化的人工智能模型

随着人工智能技术的飞速发展,大型预训练模型(以下简称“大模型”)已经在自然语言处理、计算机视觉、语音识别等多个领域取得了显著的成果。这些模型通过在海量数据上进行预训练,能够捕捉到丰富的特征信息,为各种下游任…

Linux操作系统学习:day03

内容来自:Linux介绍 视频推荐:[Linux基础入门教程-linux命令-vim-gcc/g -动态库/静态库 -makefile-gdb调试]( 目录 day0317、创建删除目录创建目录删除目录 18、文件的拷贝19、mv 命令20、查看文件内容的相关命令21、给文件创建软连接或硬链接 day03 …

MFC绘制哆啦A梦

OnPaint绘制代码 CPaintDC dc(this); // 用于绘画的设备上下文CRect rc;GetWindowRect(rc);int cxClient rc.Width();int cyClient rc.Height();// 辅助线HPEN hPen CreatePen(PS_DOT, 1, RGB(192, 192, 192));HPEN hOldPen (HPEN)SelectObject(dc, hPen);MoveToEx(dc, cxC…

使用Vue中的<TransitionGroup/>进入动画不生效不显示问题

Vue中有两个过渡动画组件分别是&#xff1a;<TransitionGroup/> <TransitionGroup/>进入动画不生效不显示问题 &#xff0c;在渲染列表上加上v-if&#xff0c;看代码&#xff0c;让他每次渲染都重新渲染 加上v-if即可 <template> <TransitionGroup nam…