Oracle数据库 | SQL语句解析

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: Oracle数据库 | SQL语句解析

一.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                                            DATE
 AMWEIGHT                                           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                                            DATE
 AMWEIGHT                                           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                                            DATE
 AMWEIGHT                                           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                                            DATE
 AMWEIGHT                                           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 约束类型

微信截图_20221014071806.png

目录
相关文章
|
5天前
|
SQL Oracle 数据库
使用访问指导(SQL Access Advisor)优化数据库业务负载
本文介绍了Oracle的SQL访问指导(SQL Access Advisor)的应用场景及其使用方法。访问指导通过分析给定的工作负载,提供索引、物化视图和分区等方面的优化建议,帮助DBA提升数据库性能。具体步骤包括创建访问指导任务、创建工作负载、连接工作负载至访问指导、设置任务参数、运行访问指导、查看和应用优化建议。访问指导不仅针对单条SQL语句,还能综合考虑多条SQL语句的优化效果,为DBA提供全面的决策支持。
28 11
|
19天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
17天前
|
SQL 监控 安全
SQL Servers审核提高数据库安全性
SQL Server审核是一种追踪和审查SQL Server上所有活动的机制,旨在检测潜在威胁和漏洞,监控服务器设置的更改。审核日志记录安全问题和数据泄露的详细信息,帮助管理员追踪数据库中的特定活动,确保数据安全和合规性。SQL Server审核分为服务器级和数据库级,涵盖登录、配置变更和数据操作等事件。审核工具如EventLog Analyzer提供实时监控和即时告警,帮助快速响应安全事件。
|
24天前
|
SQL 存储 BI
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
|
25天前
|
SQL 数据库
gbase 8a 数据库 SQL优化案例-关联顺序优化
gbase 8a 数据库 SQL优化案例-关联顺序优化
|
27天前
|
SQL Java 数据库连接
canal-starter 监听解析 storeValue 不一样,同样的sql 一个在mybatis执行 一个在数据库操作,导致解析不出正确对象
canal-starter 监听解析 storeValue 不一样,同样的sql 一个在mybatis执行 一个在数据库操作,导致解析不出正确对象
|
SQL Oracle 关系型数据库
本机不安装Oracle客户端,使用PL/SQL Developer连接远程数据库
本机不安装Oracle客户端,使用PL/SQL Developer连接远程数据库
248 0
|
2月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:详细步骤与最佳实践指南ali01n.xinmi1009fan.com
随着Web开发技术的不断进步,ASP.NET已成为一种非常流行的Web应用程序开发框架。在ASP.NET项目中,我们经常需要与数据库进行交互,特别是SQL数据库。本文将详细介绍如何在ASP.NET项目中连接SQL数据库,并提供最佳实践指南以确保开发过程的稳定性和效率。一、准备工作在开始之前,请确保您
275 3
|
6月前
|
SQL IDE Java
Java连接SQL Server数据库的详细操作流程
Java连接SQL Server数据库的详细操作流程
|
2月前
|
SQL 开发框架 .NET
ASP连接SQL数据库:从基础到实践
随着互联网技术的快速发展,数据库与应用程序之间的连接成为了软件开发中的一项关键技术。ASP(ActiveServerPages)是一种在服务器端执行的脚本环境,它能够生成动态的网页内容。而SQL数据库则是一种关系型数据库管理系统,广泛应用于各类网站和应用程序的数据存储和管理。本文将详细介绍如何使用A
88 3

推荐镜像

更多