🔸 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;