跳转到内容

SQL 方言参考/管理

来自维基教科书,面向开放世界的开放书籍

虽然这个主题不直接关于 SQL 语言,但它足够接近,可以收集有关经常进行的管理任务的信息。

数据库转储

[编辑 | 编辑源代码]

数据库转储涉及创建包含所有数据(行)和来自所需数据库/表的这些数据的模式的文件。通常情况下,它以一系列 SQL 语句的形式完成,将 CREATE DATABASE / CREATE TABLE 语句组合起来以重新创建模式,并将 INSERT 语句组合起来以重新填充行——因此,通常情况下,生成的文件可以通过简单地执行查询来使用命令行 SQL 客户端直接导入。但是,有时需要其他输出格式,并且一些数据库(至少是 MSSQL)缺乏从命令行转储客户端序列化数据库为 SQL 语句的能力。

此页面包含比较表,这些表可能很大且复杂

虽然在完整状态下查看它们完全没问题,但建议安装一个比较表扩展,该扩展将允许您选择要比较的特定兴趣列。

SQL 版本 功能 标准
SQL:2011
DB2 Firebird Ingres Linter MSSQL MySQL MonetDB Oracle
Vers. 11.x
PostgreSQL SQLite Virtuoso
? 基本调用 ? ? ? copydb dbname options ? bcp database out file options mysqldump options database msqldump -d database ? pg_dump options database sqlite3 dbfile .dump ?
? 对目标服务器进行身份验证 ? ? ? -uusername -P ? -U username -P password -S host -uusername -ppassword -hhost -Pport -uusername ? -Uusername -Wpassword N/A ?
? 将转储保存到文件 ? ? ? ? ? 在基本调用中 -rfile / --result-file=file 重定向 msqldump 输出 ? -ffile / --file=file .output file
.once file
?
? 仅转储模式 ? ? ? ? ? N/A -d / --no-data msqldump -d "database" -D ? -s / --schema-only .schema ?
? 在开始处添加 DROP 模式 ? ? ? -add_drop ? N/A N/A ? -c N/A ?
? 防止转储访问权限 ? ? ? ? ? N/A N/A N/A ? -x / --no-privileges / --no-acl N/A ?
? 仅转储数据 ? ? ? ? ? 默认 -n -t / --no-create-db --no-create-info -t tablename ? -s / --data-only N/A ?
? 以制表符分隔的形式转储数据 ? ? ? ? ? 默认 --tab=path / -Tpath ? ? ? .mode tabs ?
? 以 INSERT 语句的形式转储数据 ? ? ? ? ? N/A 默认 默认 ? -d .mode insert ?
? 将所有内容转储为 XML 文件 ? ? ? ? ? N/A --xml / -X N/A ? N/A N/A ?
? 数据的排序 ? ? ? ? ? -h "ORDER (column, ...)" --order-by-primary ? ? ? ? ?

数据库恢复

[编辑 | 编辑源代码]

命令行 SQL 查询

[编辑 | 编辑源代码]

此页面包含比较表,这些表可能很大且复杂

虽然在完整状态下查看它们完全没问题,但建议安装一个比较表扩展,该扩展将允许您选择要比较的特定兴趣列。

SQL 版本 功能 标准
SQL:2011
DB2 Firebird Ingres Linter MSSQL MySQL MonetDB Oracle
Vers. 11.x
PostgreSQL SQLite Virtuoso
? 基本调用 ? ? ? sql options database ? sqlcmd options mysql options [database] mclient -d database ? psql options [database] sqlite3 filename options ?
? 对目标服务器进行身份验证 ? ? ? -uusername -Ppassword -Ggroup -Rrole ? -S host -d database -U username -P password -uusername -ppassword -hhost -Pport ? ? -Uusername -Wpassword -hhost -pport N/A ?
? 从命令行执行查询并退出 ? ? ? N/A ? -Q query -e query -sstatement ? -c query query ?
? 从命令行执行查询并继续使用交互式提示符 ? ? ? N/A ? -q query N/A -i ? N/A N/A ?
? 输入文件[1] ? ? ? N/A ? -i file N/A file ? -f file -init file ?
? 输出到文件而不是 stdout[2] ? ? ? N/A ? -o file N/A ? ? -o file N/A ?
? 也将输出复制到文件 ? ? ? N/A ? N/A --tee=file ? ? -L file N/A ?

参考文献

[编辑 | 编辑源代码]
  1. 也可以使用 shell < 重定向完成
  2. 也可以使用 shell > 重定向完成
华夏公益教科书