docker run -idt docker_dbclient:1.0 /bin/bash
2、进入mysql容器中
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d05746c0a57f docker_dbclient:1.0 "/bin/bash" 17 hours ago Up 17 hours gallant_turing
[root@localhost ~]# docker exec -it d05746c0a57f bash
[root@d05746c0a57f /]# mysql -h 1.1.1.1 -u root -p
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d05746c0a57f docker_dbclient:1.0 "/bin/bash" 17 hours ago Up 17 hours gallant_turing
[root@localhost ~]# docker exec -it d05746c0a57f bash
[root@d05746c0a57f /]# mysql -h 1.1.1.1 -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 199680
Server version: 5.7.28 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| d |
| d1i |
| m1. |
| mysql |
| performance_schema |
| sys |
| test1111 |
+--------------------+
10 rows in set (0.00 sec)
MySQL [(none)]> exit
Bye
[root@d05746c0a57f /]#
登录本机数据库
sqlplus / as sysdba sqlplus username/password
登录远程数据库
sqlplus username/password@orcl sqlplus username/password@hosrIP:port/sid
sqlplus abc/abc#[email protected]:1521/testdb
[root@localhost home]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d05746c0a57f docker_dbclient:1.0 "/bin/bash" 21 hours ago Up 21 hours gallant_turing
[root@localhost home]# docker exec -it d05746c0a57f bash
[root@d05746c0a57f /]# sqlplus test/[email protected]:1521/orcl
SQL*Plus: Release 21.0.0.0.0 - Production on Fri May 6 06:29:33 2022
Version 21.6.0.0.0
Copyright (c) 1982, 2022, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL>
首先,你连接的服务器需要安装postgres,因为我们要使用psql命令来连接数据库。如果没安装的话,会出现一下提示:
-bash: psql: command not found
装好之后输入:psql --version
[root@d05746c0a57f /]# psql --version
psql (PostgreSQL) 9.2.24
显示版本,说明安装成功啦。
psql -h hostname -U username -d dbname -p port
上面命令的参数含义如下:-U 指定用户
-d 指定数据库
-h 指定服务器
-p 指定端口
[root@d05746c0a57f /]# .\psql.exe --help
bash: .psql.exe: command not found
[root@d05746c0a57f /]# psql --version
psql (PostgreSQL) 9.2.24
[root@d05746c0a57f /]# psql -h 192.168.1.77 -U postgres -d test -p 5432
Password for user postgres:
psql (9.2.24, server 13.3 (Debian 13.3-1.pgdg100+1))
WARNING: psql version 9.2, server version 13.0.
Some psql features might not work.
Type "help" for help.
test=#
psql --help
,即可查看如何链接数据库postgresql。
[root@d05746c0a57f /]# psql --help
psql是PostgreSQL 的交互式客户端工具。
使用方法:
psql [选项]... [数据库名称 [用户名称]]
通用选项:
-c, --command=命令 执行单一命令(SQL或内部指令)然后结束
-d, --dbname=DBNAME 指定要连接的数据库 (默认:"jianglei02")
-f, --file=文件名 从文件中执行命令然后退出
-l, --list 列出所有可用的数据库,然后退出
-v, --set=, --variable=NAME=VALUE
设置psql变量NAME为VALUE
(例如,-v ON_ERROR_STOP=1)
-V, --version 输出版本信息, 然后退出
-X, --no-psqlrc 不读取启动文档(~/.psqlrc)
-1 ("one"), --single-transaction
作为一个单一事务来执行命令文件(如果是非交互型的)
-?, --help[=options] 显示此帮助,然后退出
--help=commands 列出反斜线命令,然后退出
--help=variables 列出特殊变量,然后退出
输入和输出选项:
-a, --echo-all 显示所有来自于脚本的输入
-b, --echo-errors 回显失败的命令
-e, --echo-queries 显示发送给服务器的命令
-E, --echo-hidden 显示内部命令产生的查询
-L, --log-file=文件名 将会话日志写入文件
-n, --no-readline 禁用增强命令行编辑功能(readline)
-o, --output=FILENAME 将查询结果写入文件(或 |管道)
-q, --quiet 以沉默模式运行(不显示消息,只有查询结果)
-s, --single-step 单步模式 (确认每个查询)
-S, --single-line 单行模式 (一行就是一条 SQL 命令)
输出格式选项 :
-A, --no-align 使用非对齐表格输出模式
--csv CSV(逗号分隔值)表输出模式
-F, --field-separator=STRING
为字段设置分隔符,用于不整齐的输出(默认:"|")
-H, --html HTML 表格输出模式
-P, --pset=变量[=参数] 设置将变量打印到参数的选项(查阅 \pset 命令)
-R, --record-separator=STRING
为不整齐的输出设置字录的分隔符(默认:换行符号)
-t, --tuples-only 只打印记录i
-T, --table-attr=文本 设定 HTML 表格标记属性(例如,宽度,边界)
-x, --expanded 打开扩展表格输出
-z, --field-separator-zero
为不整齐的输出设置字段分隔符为字节0
-0, --record-separator-zero
为不整齐的输出设置记录分隔符为字节0
联接选项:
-h, --host=主机名 数据库服务器主机或socket目录(默认:"本地接口")
-p, --port=端口 数据库服务器的端口(默认:"5432")
-U, --username=用户名 指定数据库用户名(默认:"jianglei02")
-w, --no-password 永远不提示输入口令
-W, --password 强制口令提示 (自动)
更多信息,请在psql中输入"\?"(用于内部指令)或者 "\help"(用于SQL命令),
或者参考PostgreSQL文档中的psql章节.
臭虫报告至.
PostgreSQL 主页:
在psql链接postgresql成功之后,输入\?
即可查看所有可以操作数据库对象的psql命令。
test=> \?
一般性
\copyright 显示PostgreSQL的使用和发行许可条款
\crosstabview [COLUMNS] 执行查询并且以交叉表显示结果
\errverbose 以最冗长的形式显示最近的错误消息
\g [(OPTIONS)] [FILE] 执行查询(并将结果发送到文件或|管道);
不带参数的\g等价于分号
\gdesc 描述查询结果,而不执行它
\gexec 执行策略,然后执行其结果中的每个值
\gset [PREFIX] 执行查询并把结果存到psql变量中
\gx [(OPTIONS)] [FILE] 就像\g,但强制扩展输出模式
\q 退出 psql
\watch [SEC] 每隔SEC秒执行一次查询
帮助
\? [commands] 显示反斜线命令的帮助
\? options 显示 psql 命令行选项的帮助
\? variables 显示特殊变量的帮助
\h [NAME] SQL命令语法上的说明,用*显示全部命令的语法说明
查询缓存区
\e [FILE] [LINE] 使用外部编辑器编辑查询缓存区(或文件)
\ef [FUNCNAME [LINE]] 使用外部编辑器编辑函数定义
\ev [VIEWNAME [LINE]] 用外部编辑器编辑视图定义
\p 显示查询缓存区的内容
\r 重置(清除)查询缓存区
\w 文件 将查询缓存区的内容写入文件
输入/输出
\copy ... 执行 SQL COPY,将数据流发送到客户端主机
\echo [-n] [STRING] 将字符串写到标准输出(-n表示没有换行符)
\i 文件 从文件中执行命令
\ir FILE 与 \i类似, 但是相对于当前脚本的位置
\o [文件] 将全部查询结果写入文件或 |管道
\qecho [-n] [STRING] 将字符串写入\o输出流(-n表示无换行)
\warn [-n] [STRING] 将字符串写入标准错误(-n 表示无换行)
条件
\if EXPR 开始条件块
\elif EXPR 当前条件块内的备选方案
\else 当前条件块内的最终备选方案
\endif 条件块的结尾
资讯性
(选项: S = 显示系统对象, + = 其余的详细信息)
\d[S+] 列出表,视图和序列
\d[S+] 名称 描述表,视图,序列,或索引
\da[S] [模式] 列出聚合函数
\dA[+] [模式] 列出访问方法
\dAc[+] [AMPTRN [TYPEPTRN]] 列出运算符
\dAf[+] [AMPTRN [TYPEPTRN]] 列出运算符集合
\dAo[+] [AMPTRN [OPFPTRN]] 列出运算符集合
\dAp[+] [AMPTRN [OPFPTRN]] 列出运算符集合所支持的功能
\db[+] [模式] 列出表空间
\dc[S+] [模式] 列表转换
\dC[+] [模式] 列出类型强制转换
\dd[S] [模式] 显示没有在别处显示的对象描述
\dD[S+] [模式] 列出共同值域
\ddp [模式] 列出默认权限
\dE[S+] [模式] 列出引用表
\des[+] [模式] 列出外部服务器
\det[+] [模式] 列出引用表
\deu[+] [模式] 列出用户映射
\dew[+] [模式] 列出外部数据封装器
\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]
列出 [only agg/normal/procedure/trigger/window] 函数
\dF[+] [模式] 列出文本搜索配置
\dFd[+] [模式] 列出文本搜索字典
\dFp[+] [模式] 列出文本搜索解析器
\dFt[+] [模式] 列出文本搜索模版
\dg[S+] [模式] 列出角色
\di[S+] [模式] 列出索引
\dl 列出大对象, 功能与\lo_list相同
\dL[S+] [模式] 列出所有过程语言
\dm[S+] [模式] 列出所有物化视图
\dn[S+] [模式] 列出所有模式
\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]
列出运算符
\dO[S+] [模式] 列出所有校对规则
\dp [模式] 列出表,视图和序列的访问权限
\dP[itn+] [PATTERN] 列出[仅表/索引]分区关系[n=nested]
\drds [ROLEPTRN [DBPTRN]] list per-database role settings
\dRp[+] [模式] 列出复制发布
\dRs[+] [模式] 列出复制订阅
\ds[S+] [模式] 列出序列
\dt[S+] [模式] 列出表
\dT[S+] [模式] 列出数据类型
\du[S+] [模式] 列出角色
\dv[S+] [模式] 列出视图
\dx[+] [模式] 列出扩展
\dX [PATTERN] 列出扩展统计信息
\dy[+] [PATTERN] l列出所有事件触发器
\l[+] [模式] 列出所有数据库
\sf[+] FUNCNAME 显示一个函数的定义
\sv[+] VIEWNAME 显示一个视图的定义
\z [模式] 和\dp的功能相同
格式化
\a 在非对齐模式和对齐模式之间切换
\C [字符串] 设置表的标题,或如果没有的标题就取消
\f [字符串] 显示或设定非对齐模式查询输出的字段分隔符
\H 切换HTML输出模式 (目前是 关闭)
\pset [NAME [VALUE]] 设置表输出选项
(border|columns|csv_fieldsep|expanded|fieldsep|
fieldsep_zero|footer|format|linestyle|null|
numericlocale|pager|pager_min_lines|recordsep|
recordsep_zero|tableattr|title|tuples_only|
unicode_border_linestyle|unicode_column_linestyle|
unicode_header_linestyle
\t [开|关] 只显示记录 (目前是关闭)
\T [字符串] 设置HTML <表格>标签属性, 或者如果没有的话取消设置
\x [on|off|auto] 切换扩展输出模式(目前是 关闭)
连接
\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}
连接到新数据库(当前是"znbase8")
\conninfo 显示当前连接的相关信息
\encoding [编码名称] 显示或设定客户端编码
\password [USERNAME] 安全地为用户更改口令
操作系统
\cd [目录] 更改目前的工作目录
\setenv NAME [VALUE] 设置或清空环境变量
\timing [开|关] 切换命令计时开关 (目前是关闭)
\! [命令] 在 shell中执行命令或启动一个交互式shell
变量
\prompt [文本] 名称 提示用户设定内部变量
\set [名称 [值数]] 设定内部变量,若无参数则列出全部变量
\unset 名称 清空(删除)内部变量
大对象
\lo_export LOBOID 文件
\lo_import 文件 [注释]
\lo_list
\lo_unlink LOBOID 大对象运算
在psql链接postgresql成功之后,输入\h
即可查看所有操作数据库对象的SQL命令
;输入\h sql_command
可以查看具体SQL sql_command
的使用方法。
db1=> \h
可用的说明:
ABORT CREATE USER
ALTER AGGREGATE CREATE USER MAPPING
ALTER COLLATION CREATE VIEW
ALTER CONVERSION DEALLOCATE
ALTER DATABASE DECLARE
ALTER DEFAULT PRIVILEGES DELETE
ALTER DOMAIN DISCARD
ALTER EVENT TRIGGER DO
ALTER EXTENSION DROP ACCESS METHOD
ALTER FOREIGN DATA WRAPPER DROP AGGREGATE
ALTER FOREIGN TABLE DROP CAST
ALTER FUNCTION DROP COLLATION
ALTER GROUP DROP CONVERSION
ALTER INDEX DROP DATABASE
ALTER LANGUAGE DROP DOMAIN
ALTER LARGE OBJECT DROP EVENT TRIGGER
ALTER MATERIALIZED VIEW DROP EXTENSION
ALTER OPERATOR DROP FOREIGN DATA WRAPPER
ALTER OPERATOR CLASS DROP FOREIGN TABLE
ALTER OPERATOR FAMILY DROP FUNCTION
ALTER POLICY DROP GROUP
ALTER PROCEDURE DROP INDEX
ALTER PUBLICATION DROP LANGUAGE
ALTER ROLE DROP MATERIALIZED VIEW
ALTER ROUTINE DROP OPERATOR
ALTER RULE DROP OPERATOR CLASS
ALTER SCHEMA DROP OPERATOR FAMILY
ALTER SEQUENCE DROP OWNED
ALTER SERVER DROP POLICY
ALTER STATISTICS DROP PROCEDURE
ALTER SUBSCRIPTION DROP PUBLICATION
ALTER SYSTEM DROP ROLE
ALTER TABLE DROP ROUTINE
ALTER TABLESPACE DROP RULE
ALTER TEXT SEARCH CONFIGURATION DROP SCHEMA
ALTER TEXT SEARCH DICTIONARY DROP SEQUENCE
ALTER TEXT SEARCH PARSER DROP SERVER
ALTER TEXT SEARCH TEMPLATE DROP STATISTICS
ALTER TRIGGER DROP SUBSCRIPTION
ALTER TYPE DROP TABLE
ALTER USER DROP TABLESPACE
ALTER USER MAPPING DROP TEXT SEARCH CONFIGURATION
ALTER VIEW DROP TEXT SEARCH DICTIONARY
ANALYZE DROP TEXT SEARCH PARSER
BEGIN DROP TEXT SEARCH TEMPLATE
CALL DROP TRANSFORM
CHECKPOINT DROP TRIGGER
CLOSE DROP TYPE
CLUSTER DROP USER
COMMENT DROP USER MAPPING
COMMIT DROP VIEW
COMMIT PREPARED END
COPY EXECUTE
CREATE ACCESS METHOD EXPLAIN
CREATE AGGREGATE FETCH
CREATE CAST GRANT
CREATE COLLATION IMPORT FOREIGN SCHEMA
CREATE CONVERSION INSERT
CREATE DATABASE LISTEN
CREATE DOMAIN LOAD
CREATE EVENT TRIGGER LOCK
CREATE EXTENSION MOVE
CREATE FOREIGN DATA WRAPPER NOTIFY
CREATE FOREIGN TABLE PREPARE
CREATE FUNCTION PREPARE TRANSACTION
CREATE GROUP REASSIGN OWNED
CREATE INDEX REFRESH MATERIALIZED VIEW
CREATE LANGUAGE REINDEX
CREATE MATERIALIZED VIEW RELEASE SAVEPOINT
CREATE OPERATOR RESET
CREATE OPERATOR CLASS REVOKE
CREATE OPERATOR FAMILY ROLLBACK
CREATE POLICY ROLLBACK PREPARED
CREATE PROCEDURE ROLLBACK TO SAVEPOINT
CREATE PUBLICATION SAVEPOINT
CREATE ROLE SECURITY LABEL
CREATE RULE SELECT
CREATE SCHEMA SELECT INTO
CREATE SEQUENCE SET
CREATE SERVER SET CONSTRAINTS
CREATE STATISTICS SET ROLE
CREATE SUBSCRIPTION SET SESSION AUTHORIZATION
CREATE TABLE SET TRANSACTION
CREATE TABLE AS SHOW
CREATE TABLESPACE START TRANSACTION
CREATE TEXT SEARCH CONFIGURATION TABLE
CREATE TEXT SEARCH DICTIONARY TRUNCATE
CREATE TEXT SEARCH PARSER UNLISTEN
CREATE TEXT SEARCH TEMPLATE UPDATE
CREATE TRANSFORM VACUUM
CREATE TRIGGER VALUES
CREATE TYPE WITH
db1=>
db1=> \h create type
命令: CREATE TYPE
描述: 建立新的数据类型
语法:
CREATE TYPE 名称 AS
( [ 属性_名称 数据_类型 [ COLLATE 校对规则 ] [, ... ] ] )
CREATE TYPE 名称 AS ENUM
( [ '标签' [, ... ] ] )
CREATE TYPE 名称 AS RANGE (
SUBTYPE = 子类型
[ , SUBTYPE_OPCLASS = subtype_operator_class(子类型_操作符_类) ]
[ , COLLATION = 校对规则 ]
[ , CANONICAL = 标准_函数 ]
[ , SUBTYPE_DIFF = subtype_diff_function(子类型_区分_函数) ]
[ , MULTIRANGE_TYPE_NAME = multirange_type_name ]
)
CREATE TYPE 名称 (
INPUT = 输入_函数,
OUTPUT = 输出_函数
[ , RECEIVE = 接收_函数 ]
[ , SEND = 发送_函数 ]
[ , TYPMOD_IN = 类型修改器数组输入函数名称 ]
[ , TYPMOD_OUT = 类型修改器输出函数名称 ]
[ , ANALYZE = 分析_函数 ]
[ , SUBSCRIPT = subscript_function ]
[ , INTERNALLENGTH = { 内部长度 | VARIABLE } ]
[ , PASSEDBYVALUE ]
[ , ALIGNMENT = 顺序排列(alignment) ]
[ , STORAGE = 存储 ]
[ , LIKE = LIKE类型(like_type) ]
[ , CATEGORY = 类型 ]
[ , PREFERRED = 优先 ]
[ , DEFAULT = 默认 ]
[ , ELEMENT = 成员项 ]
[ , DELIMITER = 分隔符 ]
[ , COLLATABLE = 要校对的 ]
)
CREATE TYPE 名称
URL: https://www.postgresql.org/docs/14/sql-createtype.html
db1=>
[root@d05746c0a57f /]# mssql-cli -S ip -U username -P password
说明:
运行mssql-cli
mssql-cli的使用跟mysql很像,不过参数有所区别。
-S或--server 指定服务器地址,如果是默认的1433端口,那么不写也行;如果是其他端口的话,在后面加逗号和端口就行。
-U或--username 指定用户名
-P或--password 指定密码
[root@d05746c0a57f /]# mssql-cli -S 1.1.1.153 -U SA -P password
master> use test
Time: 0.252s
Commands completed successfully.
test> SELECT * FROM "phone_table" TABLES;
Time: 0.504s
+------+-------------+------------+----------------+
| id | phone | name | ip |
|------+-------------+------------+----------------|
| 1 | 17689898989 | hhhhhhhhhhhh | 192.168.1.34 |
| 2 | 17645454545 | aaaaaaaaa | 192.168.1.35 |
| 3 | NULL | NULL | NULL |
| 4 | NULL | NULL | NULL |
+------+-------------+------------+----------------+
(4 rows affected)
test>