PyCharm 2025.3 Help

模式

PyCharm 显示您 选择 显示的模式。 如果您有许多模式,这将很有用。 此外,通过这种方式,您可以定义要自省的模式。 在 自省 期间,PyCharm 会从数据库加载元数据,并在稍后使用这些数据。

模式(模式 )可以在 数据库 工具窗口中找到。

数据库中的模式

创建模式

  1. 数据库 工具窗口中,展开数据源树,直到数据库或模式的节点。

  2. 右键点击数据源、数据库或模式节点,然后选择 新建 | 架构

  3. 在打开的 创建 对话框中,在 名称 字段中输入模式名称。

  4. 预览(P) 窗格中,您可以查看并更改生成的 SQL 代码。

  5. 点击 确定 以添加您的模式。

创建模式对话框

设置默认模式

为查询文件设置默认模式

当您为 查询文件 选择默认模式时,您可以在语句中省略该模式或数据库的名称。

  • 要设置默认模式或数据库,请点击工具栏右上部分的 <schema> 下拉列表。 然后,选择所需的模式。

    选择默认模式或数据库

在数据源设置中设置默认模式

  1. 通过以下任一方式打开数据源属性:

    • 数据库 工具窗口的工具栏上,点击 数据源图标数据源

    • Shift+Enter

    打开数据源和驱动程序对话框
  2. 选择您要修改的数据源。 在 常规 选项卡的 数据库 字段中,输入要用作默认的模式名称。

    选择默认模式或数据库

显示模式

显示和隐藏模式

  • 数据库 工具窗口中,右键点击数据源并导航到 工具 | 管理显示的架构…。 选中或清除要显示或隐藏的模式的复选框。 按 Enter

  • 点击数据源名称附近的 共 M 个中的第 N 个 链接。 在数据库和模式选择窗口中,选中或清除要显示或隐藏的模式的复选框。 按 Enter

    显示和隐藏模式和数据库

使用基于模式的筛选器

要显示并自省所有名称与正则表达式模式匹配的模式,请执行以下操作:

  1. 数据库 工具窗口中,点击数据源名称附近的 共 M 个中的第 N 个 链接。

  2. 在数据库和模式选择器中,点击 所有架构 附近的 添加模式 按钮。

    基于模式的模式筛选器
  3. 在新的筛选节点中,定义正则表达式。 有关语法,请点击输入字段旁边的 架构的正则表达式。 有关语法的更多信息,请参阅 正则表达式构造摘要

    Enter 以在选择器中应用筛选器。

    基于模式的模式筛选器中的正则表达式
  4. Enter 以在 数据库 工具窗口中应用筛选器。

    带有筛选器的筛选节点可以添加到任何节点下,包括另一个筛选节点。

显示所有模式和数据库

  • 要在 数据库 工具窗口(视图(V) | 工具窗口 | 数据库 )中显示所有可用的模式,请点击 显示选项菜单 按钮并选择 所有命名空间 选项。

    • 已启用

      显示所有命名空间已启用
    • 已禁用

      显示所有命名空间已禁用

比较两个模式

有关对话框控件的更多信息,请参阅 迁移对话框的控件

  1. 选择两个模式。

  2. 右键点击所选内容并选择 将结构与以下项比较。 或者,按 Ctrl+D

    比较两个模式

为 PostgreSQL 和 Redshift 设置模式搜索路径

在 PostgreSQL 中, search_path 环境变量指定搜索模式的顺序。 例如,您将 search_path 的值设置为 z,a,public ,PostgreSQL 将在 z 模式中查找该值。 如果在 z 模式中未找到任何内容,PostgreSQL 会在 a 模式中查找该值。

在 PostgreSQL 和 Amazon Redshift 中,除非另行指定搜索路径,否则将使用默认搜索路径(在数据库中设置的路径)。

  1. 点击 <session> 列表,导航到数据库模式列表(使用箭头图标 箭头图标 或按右箭头键)。

  2. 选择要添加到搜索路径的模式。

    要构建搜索路径,您可以使用以下操作:

    • Space 将高亮的模式添加到搜索路径中,或将某个模式从搜索路径中移除。

    • Alt+UpAlt+Down 以在搜索路径内重新排序模式。

  3. 要应用更改,请点击 确定

    控制 PostgreSQL 和 Redshift 的搜索路径

在 IDE 重启之间保存 PostgreSQL 和 Redshift 的搜索路径

  1. 数据库 工具窗口中,右键点击 PostgreSQL 或 Amazon Redshift 数据源并选择 属性 Shift+Enter

  2. 点击 选项 选项卡。

  3. 切换架构 列表中,选择 自动

  4. 点击 确定

    在 IDE 重启之间保存搜索路径

强制刷新模式信息

强制刷新 操作会清除缓存中的数据源信息,并从头重新加载。

  • 数据库 工具窗口中,右键点击数据源并选择 诊断 | 强制刷新

为模式生成图表

  • 数据库 工具窗口中,右键点击模式并选择 图 | 显示图表

为数据库对象生成图表

正则表达式构造摘要

有关完整信息,请参阅 完整的 Java 正则表达式语法说明在 Java 中使用正则表达式

构造

匹配

字符

x

字符 x

\\

反斜杠字符

\0n

八进制值为 0n 的字符 (0 <= n <= 7)

\0nn

八进制值为 0nn 的字符 (0 <= n <= 7)

\0mnn

八进制值为 0mnn 的字符 (0 <= m <= 3, 0 <= n <= 7)

\xhh

十六进制值为 0xhh 的字符

\uhhhh

十六进制值为 0xhhhh 的字符

\t

制表符 ('\u0009')

\n

换行 (line feed) 字符 ('\u000A')

\r

回车字符 ('\u000D')

\f

换页字符 ('\u000C')

\a

警报 (bell) 字符 ('\u0007')

\e

转义字符 ('\u001B')

\cx

与 x 对应的控制字符

字符类

[abc]

a、b 或 c(简单类)

[^abc]

除 a、b 或 c 之外的任意字符(取反)

[a-zA-Z]

a 到 z 或 A 到 Z(包括端点,范围)

[a-d[m-p]]

a 到 d,或 m 到 p:[a-dm-p](并集)

[a-z&&[def]]

d、e 或 f(交集)

[a-z&&[^bc]]

a 到 z,除 b 和 c 外:[ad-z](差集)

[a-z&&[^m-p]]

a 到 z,但不包括 m 到 p:[a-lq-z](差集)

预定义字符类

.

任意字符(可能匹配也可能不匹配行终止符)

\d

数字:[0-9]

\D

非数字:[^0-9]

\s

空白字符:[ \t\n\x0B\f\r]

\S

非空白字符:[^\s]

\w

单词字符:[a-zA-Z_0-9]

\W

非单词字符:[^\w]

POSIX 字符类(仅限 US-ASCII)

\p{Lower}

小写字母:[a-z]

\p{Upper}

大写字母:[A-Z]

\p{ASCII}

所有 ASCII:[\x00-\x7F]

\p{Alpha}

字母字符:[\p{Lower}\p{Upper}]

\p{Digit}

十进制数字:[0-9]

\p{Alnum}

字母数字字符:[\p{Alpha}\p{Digit}]

\p{Punct}

标点符号:以下之一 !"#$%&'()*+,-./:;=>?@[\]^_`{|}~

\p{Graph}

可见字符:[\p{Alnum}\p{Punct}]

\p{Print}

可打印字符:[\p{Graph}\x20]

\p{Blank}

空格或制表符:[ \t]

\p{Cntrl}

控制字符:[\x00-\x1F\x7F]

\p{XDigit}

十六进制数字:[0-9a-fA-F]

\p{Space}

空白字符:[ \t\n\x0B\f\r]

java.lang.Character 类(简单 Java 字符类型)

\p{javaLowerCase}

等效于 java.lang.Character.isLowerCase()

\p{javaUpperCase}

等效于 java.lang.Character.isUpperCase()

\p{javaWhitespace}

等效于 java.lang.Character.isWhitespace()

\p{javaMirrored}

等效于 java.lang.Character.isMirrored()

用于 Unicode 块和类别的类

\p{InGreek}

希腊块中的字符(简单块)

\p{Lu}

大写字母(简单类别)

\p{Sc}

货币符号

\P{InGreek}

除希腊块中的字符外的任意字符(取反)

[\p{L}&&[^\p{Lu}]]

除大写字母外的任意字母(差集)

边界匹配器

^

一行的开头

$

一行的结尾

\b

单词边界

\B

非单词边界

\A

输入的开头

\G

上一个匹配的结尾

\Z

输入的结尾,但不包括最后的行终止符(如果有)

\z

输入的结尾

贪婪量词

X?

X,出现一次或不出现

X*

X,出现零次或多次

X+

X,出现一次或多次

X{n}

X,恰好 n 次

X{n,}

X,至少 n 次

X{n,m}

X,至少 n 次但不超过 m 次

勉强量词

X??

X,出现一次或不出现

X*?

X,出现零次或多次

X+?

X,出现一次或多次

X{n}?

X,恰好 n 次

X{n,}?

X,至少 n 次

X{n,m}?

X,至少 n 次但不超过 m 次

占有量词

X?+

X,出现一次或不出现

X*+

X,出现零次或多次

X++

X,出现一次或多次

X{n}+

X,恰好 n 次

X{n,}+

X,至少 n 次

X{n,m}+

X,至少 n 次但不超过 m 次

逻辑运算符

XY

X,后接 Y

X|Y

X 或 Y

(X)

X,作为捕获组

反向引用

\n

第 n 个捕获组所匹配的内容

引用

\

不匹配任何内容,但会引用后续字符

\Q

不匹配任何内容,但会引用直到 \E 的所有字符

\E

不匹配任何内容,但会结束由 \Q 开始的引用

特殊构造(非捕获)

(?:X)

X,作为非捕获组

(?idmsux-idmsux)

不匹配任何内容,但会打开 - 关闭匹配标志

(?idmsux-idmsux:X)

X,作为非捕获组,并将给定的匹配标志打开 - 关闭

(?=X)

X,通过零宽度肯定先行断言

(?!X)

X,通过零宽度否定先行断言

(?<=X)

X,通过零宽度肯定后发断言

(?<!X)

X,通过零宽度否定后发断言

(?>X)

X,作为独立的非捕获组

最后修改日期: 2025年 12月 2日