Oracle数据库 | SQL语句解析

news/2024/5/15 0:23:50/文章来源:https://blog.csdn.net/weixin_62765017/article/details/127244883

在这里插入图片描述

个人主页:💗wei_shuo的个人主页

🏀 Hello World !🏀

文章目录

  • 一.Oracle启动及登录
    • 1.1 服务手启动即关闭
    • 1.2 SQL* PLUS命令
  • 二. 表的创建和维护
    • 2.1 创建表
    • 2.2 修改表
    • 2.3 重命名表
    • 2.4 截断表
    • 2.5 删除表
  • 三. 数据完整性与约束
    • 3.1 约束类型

一.Oracle启动及登录

1.1 服务手启动即关闭

服务名称:

OracleOraDB19Home1TNSListener

OracleServiceORACLE

手动启动服务方法:

net start 服务名称

手动关闭服务方法:

net stop 服务名称

1.2 SQL* PLUS命令

(1)登录:sqlplus/nolog
(2)连接数据库:conn 用户名/密码(as sysdba)
(3)修改用户密码(例:修改sys的密码为123):alter user sys identified by 123;管理员用户打开cmd:win + R -> cmdd//查看表空间
select tablespace_name from dba_tablespaces;//连接数据库
sqlplus system/root@mydb1
sqlplus system/密码@数据库名//查看当前正在使用的数据库
select name from v$database;//显示当前可用命令
help index//查看命令的用法
help 具体命令//创建用户(此时用户没有权限连接数据库)create user test identified by root;
//如果是容器数据库,用户名必须是c## ,即create user c##test identified by root;//用system用户连接数据库,给test用户授权grant connect to test;
//显示当前用户
show user;//查看所有系统变量值
show all//设置变量值自动提交
set autocommit no//清屏
clear screen//创建sql文件
//edit  文件路径/文件名

二. 表的创建和维护

2.1 创建表

  • 用create table创建表以存储数据
create table acctmanager(amid number(4),amname varchar(20),amedate date dafault sysdate,amweight number (4,2),region char(2)
);
  • 使用desc查看表的结构
describe acctmanager;
注意:describe 是SQL*PLUS命令二而不是SQL命令,可简写为desc tableanme
  • 通过子查询创建表
 create table manager as (select amid, aname from acctmanager);

2.2 修改表

  • 使用alter table 添加一列
 alter table acctmanager add(tel number(11));//查看表结构desc acctmanager;名称                                      是否为空? 类型----------------------------------------- -------- ----------------------------AMID                                               NUMBER(4)ANAME                                              VARCHAR2(20)AMEDATE                                            DATEAMWEIGHT                                           NUMBER(4,2)REGION                                             CHAR(2)TEL                                                NUMBER(11)
  • 使用alter table 修改一列
alter table acctmanager modify(tel number(10));//查看表结构desc acctmanager;名称                                      是否为空? 类型----------------------------------------- -------- ----------------------------AMID                                               NUMBER(4)ANAME                                              VARCHAR2(20)AMEDATE                                            DATEAMWEIGHT                                           NUMBER(4,2)REGION                                             CHAR(2)TEL                                                NUMBER(10)
  • 使用alter table删除一列

可以通过alter table…drop column语句完成

(1)与带有add 或modify 的子句的alter table命令不同, drop column子句只能引用一个列

(2)如果从表中删除一列,那么删除将是永久的,如果不小心从表中错误的删除了列,那么不能“取消”这种损坏,唯一的选择是将这一列重新添加到表中,然后重新输入以前包含的所有数据

(3)不能删除表中剩余的最后一列,如果一个表只剩下最后一列并尝试删除这一列,那么这个命令将会失败,并返回一个错误信息

(4)该字句将删除列及其内容,所以使用是要格外去小心

alter table acctmanager drop column tel;
//查看表结构desc acctmanager;名称                                      是否为空? 类型----------------------------------------- -------- ----------------------------AMID                                               NUMBER(4)ANAME                                              VARCHAR2(20)AMEDATE                                            DATEAMWEIGHT                                           NUMBER(4,2)REGION                                             CHAR(2)
  • 使用alter table…set unused /drop unused colunms命令
//将acctmanager表中区域经理ID(amid)字段设置为不可用列并使用功能select语句进行查看结果
alter table acctmanager set unused (amid);
select * from acctmanager;ANAME                                    AMEDATE          AMWEIGHT REGI
---------------------------------------- -------------- ---------- ----
张三                                     15-9月 -22             50 ji
//将acctmanager表中的区域经理ID(amid)不可用列删除掉
alter table acctmanager drop unused columns;

2.3 重命名表

在一个组织工作中,不要更改其他用户访问的表的名称,除非事先通知某用户新的表的名称

//将acctmanager表改名为accma
rename acctmanager to accma;
//用select查询
select * from accma;ANAME                                    AMEDATE          AMWEIGHT REGI
---------------------------------------- -------------- ---------- ----
张三                                     15-9月 -22             50 ji

2.4 截断表

如果只需要删除表内数据,而保留表结构,可以使用truncate table语句截断表

格式语法: truncate table table_name;

truncate table accma;//查看表数据
select * from accma;
未选定行//查看表结构desc accma;名称                                      是否为空? 类型----------------------------------------- -------- ----------------------------ANAME                                              VARCHAR2(20)AMEDATE                                            DATEAMWEIGHT                                           NUMBER(4,2)REGION                                             CHAR(2)

2.5 删除表

当不需要表时,可以使用drop table 语句删除表,drop table 将表结构和表数据一起删除

语法格式: drop table table_name;

drop table accma;表已删除。//查看表结构
desc accma;
ERROR:
ORA-04043: 对象 accma 不存在

三. 数据完整性与约束

3.1 约束类型

约束说明
主键确定那些列唯一的标识了各个记录。主键不能是空值(null),并且其值必须是唯一的
外键在一种一对多的关系中,将约束添加到多个表。约束确保了如果在一个表的指定列输入一个值,那么该值必须已经存在于另一个表中的相关列中,或者输入的是一个空值(null)
唯一确保储存在一个指定列中的所有数据都是唯一的,它与主键约束不同之处是它允许空值(null)
检查确保在表中添加数值前满足一个指定的条件
为空确保一个指定的列不能包含一个空值(null),只能使用创建表的列一级方法来创建非空约束(not null)

在这里插入图片描述

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

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

相关文章

【C++学习】类与对象(中)

🐱作者:一只大喵咪1201 🐱专栏:《C学习》 🔥格言:你只管努力,剩下的交给时间! 类与对象(中)😸构造函数😹概念😹特性&…

常见数据结构-散列表(上)理论

一,散列表理解 散列表的英文叫“Hash Table”,我们平时也叫它“哈希表”或者“Hash 表”,散列表用的是数组支持按照下标随机访问数据的特性,所以散列表其实就是数组的一种扩展,基于数组演化而来。 散列表是通过散列函…

bp神经网络performance怎么看,BP神经网络用什么软件

1、除了MATLAB能做BP神经网络,还有其他什么软件能做 除了MATLAB能做BP神经网络,还有其他什么软件能做 理论上编程语言都可以,比如VB,C语言,过程也都是建模、量化、运算及结果输出(图、表)&…

JavaScript设计模式(一):面向对象编程 - 继承

JavaScript设计模式 - 面向对象编程灵活的语言-JavaScript用对象收编变量对象的另一种形式(函数对象)真假对象(闭包和类)一个检测类函数的祖先写的都是看到的-面向对象编程创建一个类(三种方式)类的属性和方法通过闭包来实现类的静态变量定义&#xff0c…

二十一、JAVA调用存储过程(Oracle专栏)

2022年9月28日16:33:11目录 🏆一、存储过程的创建及调用 ⭐️1.1、PLSQL编程 ⭐️1.2、程序结构 ⭐️1.3、变量 1.3.1、普通变量 1.3.2、引用型变量 1.3.3、记录型变量 ⭐️1.4、流程控制 1.4.1、条件分支 1.4.2、循环 🏆二、游标 ⭐️2.1、…

网状神经系统的典型特点,网状结构神经系统

脑干网状结构对肌紧张既有抑制作用也有加强作用。 选择A对。理由如下:网状结构中存在有抑制和加强肌紧张和肌运动区域,分别成为抑制区和易化区。抑制区位于网状结构的腹内侧部分。易化区位于网状结构的背外侧、脑桥被盖、中脑中央灰质及被盖。 &#x…

什么是RFID技

什么是RFID技术 RFID射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别无需人工干预,可工作于各种恶劣环境。RFID技术可识别高速运动物体并同时识别多个标签,操作快捷方便。 ​​​​​…

Bootstrap——flex布局(定义弹性盒子、排列方向、内容排列、项目对齐、自身对齐、自动对等、等宽变换、自动边距、包裹、排序、对齐内容)

Bootstrap4与Bootstrap3最大的区别是Bootstrap 4使用弹性盒子来布局,而不是使用浮动来布局。弹性盒子也是CSS的一种新的布局模式,更适合响应式的设计。 布局的传统解决方案,基于盒状模型,依赖display属性 position属性 float属性。它对…

dif分页、排序、过滤功能

分页功能 接口中只有查询全部数据接口有时候数据量非常大,所以需要用到分页功能,在rest_framework中提供了三种分页的方法 一.PageNumberPagination 第一步:定义一个分页类继承PageNumberPagination from rest_framework.pagination import P…

Day02 -尚品汇-路由传递参数

围绕这个开展 1》在Header.vue里面 2》在Header.vue里面 第一种方式:(字符串形式写法) 传递params参数 3》在index.js里面 【此处用的是params参数 需要占位】 4》在Header.vue里面 【params写法】 1--4的效果图 我还想加一个传…

NTFS文件系统详解(二)MBR\EBR基本信息

NTFS文件系统详解(二)MBR\EBR基本信息一、MBR结构分析1. 第一个分区表项2. 第二个分区表项3. 第三个分区表项4. 第四个分区表项二、EBR结构分析1. 第一个分区表项2. 第二个分区表项2.1 第一个分区表项2.2 第二个分区表项2.3 第三个分区表项系列文章目录经…

springBoot实验填报系统

摘要 国内教育行业的快速发展,人们为了能够更加方便地管理学生实验填报,实验填报系统被人们开发出来从而更好地方便管理学生实验填报,一个完美的实验填报系统已经成为各个学校的追求目标。 本系统利用SpringBoot技术进行开发实验填报系统是未…

asp.net旅游网站系统VS开发sqlserver数据库web结构c#编程计算机网页项目

一、源码特点 ASP.NET 旅游网站系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语言开发 asp.net旅游网站系统VS开发sqlserver数…

git基本使用方式整理

文章目录A:配置个人信息B:创建目录C:初始化仓库D:往仓库添加和提交文件E:状态查看命令F:版本回退G:对git占存区的理解H:管理修改I:撤销修改J:删除文件K:关联远程仓库L:仓库克隆在Git安装完成之后,需要配置Git连接的用户信息&#…

python与Electron联合编程记录之八(Hello Flask!)

Hello Flask! 既然知道了Electron和Flask信息交换的原理,我们就可以开始进行Electron和Flask的联合编程了。   让我们紧接第三部分“Hello,Electron!”项目继续探索Flask的用法。 1、配置虚拟环境 由于Flask是python编写的,所以…

Python百日进阶-WEB开发】Day156 - 前端基础 之 BootStrap(一)

文章目录一、BootStrap的安装和使用1.1 BootStrap介绍1.2 BootStrap特点1.3 下载使用1.3.1 下载BootStrap:1.3.2 下载 jquery.js1.4 创建项目1.5 bootstrap和vue对比1.5.1 Bootstrap和vue不是一个层级的东西,Vue是框架,bootstrap是基于jQuery的组建库。1…

洛谷 T281315 掌控

PS:如果读过题了可以跳过题目描述直接到题解部分 提交链接:洛谷 T281315 掌控 题目 题目描述 公元 2044 年,人类进入了宇宙纪元。L 国有 nnn 个星球,分别编号为 111 到 nnn ,每一星球上有一个球长。有些球长十分强大…

Ryu的安装+使用

ryu的安装 安装RYU,需要安装一些python的套件: python-eventlet python-routes python-webob python-paramiko 安装RYU主要有两种方式: 1、pip安装 pip install ryu git clone https://github.com/osrg/ryu.git cd ryu sudo pip install -…

【路径规划】基于matlab卡尔曼滤波、三次插值极速赛道赛车路径规划【含Matlab源码 2158期】

一、卡尔曼滤波路径追踪优化简介 割草机器人通过比对当前t时刻位置、导航方程之间偏移角度θ和偏移距离d,确定t1时刻的运动方向属于递推型路径追踪。割草机器人工作过程中受到地面起伏等环境因素影响,在采用上述追踪方法时会和预测值产生偏差,造成机器人偏离导航方程,称之为系…

数据大放送之HMA

一、前言 今天给大家带来的是空间分辨率为8米的DEM数据,可能有小伙伴会疑惑,是不是需要付费? 不用、不用、不用,完全免费。 也就是我们的HMA数据,全称NSIDC DAAC High Mountain Asia,也叫高山亚洲数据集…