20250922_(Linux操作系统上)Oracle、MySQL、MariaDB、SQL Server常用连接命令与基础查询

🔸 Oracle 11gR2(无 CDB/PDB 架构

1.连接方式

sql 复制代码
# 本地
sqlplus / as sysdba

# 远程
sqlplus 用户名/密码@IP:1521/服务名

sqlplus system/Oracle123@192.168.10.50:1521/orcl

2.常用命令

sql 复制代码
-- 查看数据库名
SELECT name FROM v$database;

-- 查看用户
SELECT username FROM dba_users;

-- 查看 schema 拥有哪些表
SELECT table_name FROM all_tables WHERE owner='SCOTT';

-- 切换 schema(相当于"use schema")
ALTER SESSION SET CURRENT_SCHEMA=SCOTT;

🔸 Oracle 19c(CDB/PDB 架构)

Oracle 19c 引入 多租户架构

  • CDB (Container Database) 容器数据库

  • PDB (Pluggable Database) 可插拔数据库(真正存业务数据)

1.连接方式

sql 复制代码
# 登录到 CDB Root
sqlplus / as sysdba

# 远程直连某个 PDB
sqlplus 用户名/密码@IP:1521/PDB服务名

sqlplus hr/Password123@192.168.10.60:1521/pdborcl

2.常用命令

sql 复制代码
-- 查看当前所在容器
SHOW con_name;

-- 查看有哪些 PDB(SQL*Plus 专属)
SHOW PDBS;

-- 通用 SQL:查看 PDB
SELECT con_id, name, open_mode FROM v$pdbs;

-- 切换到某个 PDB
ALTER SESSION SET CONTAINER = PDBORCL;

-- 查看用户
SELECT username, common FROM dba_users;

-- 查看表
SELECT owner, table_name FROM dba_tables WHERE owner='HR';

🔸 MySQL

1.连接方式

sql 复制代码
# 本地
mysql -u root -p
Enter password:
# 远程
mysql -h 192.168.1.100 -P 3306 -u root -p

2.常用命令

sql 复制代码
SHOW DATABASES;                     -- 查看所有数据库
USE mydb;                           -- 切换数据库
SHOW TABLES;                        -- 查看表
SELECT user, host FROM mysql.user;  -- 查看用户

🔸 MariaDB

MariaDB 和 MySQL 基本完全兼容,连接和语法相同。

sql 复制代码
mysql -u root -p
SHOW DATABASES;
USE mydb;
SHOW TABLES;
SELECT user, host FROM mysql.user;

🔸 SQL Server

1.连接方式

sql 复制代码
# Linux 本地
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P '密码'
sqlcmd -S localhost -U sa -P "SqlPass123!"

# 远程
sqlcmd -S 192.168.1.100,1433 -U sa -P '密码'
sqlcmd -S 192.168.10.90,1433 -U sa -P "SqlPass123!"

2.常用命令

sql 复制代码
SELECT name FROM sys.databases;              -- 查看数据库
USE mydb;                                    -- 切换数据库
SELECT name FROM sysobjects WHERE xtype='U'; -- 查看表
SELECT name FROM sys.sysusers;               -- 查看用户

无论哪种数据库,基本套路都是:

确认数据库版本

sql 复制代码
Oracle: SELECT * FROM v$version;

MySQL/MariaDB: SELECT version();

SQL Server: SELECT @@version; 

查有哪些库

sql 复制代码
Oracle 11g: SELECT username FROM dba_users;

Oracle 19c: SHOW PDBS; / SELECT name FROM v$pdbs;

MySQL/MariaDB: SHOW DATABASES;

SQL Server: SELECT name FROM sys.databases;

切换库 / schema

sql 复制代码
Oracle: ALTER SESSION SET CONTAINER=xxx;
        ALTER SESSION SET CURRENT_SCHEMA=xxx;

MySQL/MariaDB: USE xxx;

SQL Server: USE xxx;

查表

sql 复制代码
Oracle: SELECT table_name FROM all_tables WHERE owner='XXX';

MySQL/MariaDB: SHOW TABLES;

SQL Server: SELECT name FROM sysobjects WHERE xtype='U';

查用户

sql 复制代码
Oracle: SELECT username FROM dba_users;

MySQL/MariaDB: SELECT user, host FROM mysql.user;

SQL Server: SELECT name FROM sys.sysusers;
相关推荐
唐青枫3 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
小满8783 天前
5.Mysql事务隔离级别与锁机制
mysql
元Y亨H4 天前
技术笔记:MySQL 字符集排序规则与大小写敏感性问题解决方案
mysql
这个DBA有点耶5 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵5 天前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
SamDeepThinking5 天前
一条UPDATE语句在MySQL 8.0中到底加了几把锁?
后端·mysql·程序员
李白客7 天前
KES新版MySQL兼容能力再升级意味着什么?
mysql·国产数据库
ClouGence7 天前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
Jim6009 天前
【吃透 MySQL InnoDB连载】第 1 章・解密线上数据库高频故障
mysql