Oracle / MySQL / MariaDB / SQL Server 常用连接与基础查询(Linux操作系统上)
🔸 Oracle 11gR2(无 CDB/PDB 架构
1.连接方式
# 本地
sqlplus / as sysdba# 远程
sqlplus 用户名/密码@IP:1521/服务名sqlplus system/Oracle123@192.168.10.50:1521/orcl
2.常用命令
-- 查看数据库名
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.连接方式
# 登录到 CDB Root
sqlplus / as sysdba# 远程直连某个 PDB
sqlplus 用户名/密码@IP:1521/PDB服务名sqlplus hr/Password123@192.168.10.60:1521/pdborcl
2.常用命令
-- 查看当前所在容器
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.连接方式
# 本地
mysql -u root -p
Enter password:
# 远程
mysql -h 192.168.1.100 -P 3306 -u root -p
2.常用命令
SHOW DATABASES; -- 查看所有数据库
USE mydb; -- 切换数据库
SHOW TABLES; -- 查看表
SELECT user, host FROM mysql.user; -- 查看用户
🔸 MariaDB
MariaDB 和 MySQL 基本完全兼容,连接和语法相同。
mysql -u root -p
SHOW DATABASES;
USE mydb;
SHOW TABLES;
SELECT user, host FROM mysql.user;
🔸 SQL Server
1.连接方式
# 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.常用命令
SELECT name FROM sys.databases; -- 查看数据库
USE mydb; -- 切换数据库
SELECT name FROM sysobjects WHERE xtype='U'; -- 查看表
SELECT name FROM sys.sysusers; -- 查看用户
无论哪种数据库,基本套路都是:
确认数据库版本
Oracle: SELECT * FROM v$version;MySQL/MariaDB: SELECT version();SQL Server: SELECT @@version;
查有哪些库
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
Oracle: ALTER SESSION SET CONTAINER=xxx;ALTER SESSION SET CURRENT_SCHEMA=xxx;MySQL/MariaDB: USE xxx;SQL Server: USE xxx;
查表
Oracle: SELECT table_name FROM all_tables WHERE owner='XXX';MySQL/MariaDB: SHOW TABLES;SQL Server: SELECT name FROM sysobjects WHERE xtype='U';
查用户
Oracle: SELECT username FROM dba_users;MySQL/MariaDB: SELECT user, host FROM mysql.user;SQL Server: SELECT name FROM sys.sysusers;