PyCharm 2025.1 Help

架构

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

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

数据库中的Schemas

创建架构

  1. 数据库 工具窗口(视图(V) | 工具窗口 | 数据库 )中,展开数据源树,直到数据库或架构的节点。

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

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

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

  5. 单击 确定 以添加您的架构。

创建架构对话框

选择默认模式

  • 您可以使用工具栏右上角的列表选择默认 schema 或数据库。 当您选择默认模式时,可以在语句中省略该模式或数据库的名称。

    点击 <schema> 列表,然后选择所需的架构。

    选择默认架构或数据库

在连接设置中设置默认架构

  1. 打开数据源属性。 您可以通过以下选项之一打开数据源属性:

    • 数据库 工具窗口(视图(V) | 工具窗口 | 数据库 )中,单击 数据源属性 图标 数据源属性图标

    • 按下 Ctrl+Alt+Shift+S

  2. 请选择您要修改的数据源。 在 常规 选项卡中的 数据库 字段中,输入您想用作默认值的架构名称。

    选择默认架构或数据库

显示模式

显示和隐藏模式

  • 数据库 工具窗口(视图(V) | 工具窗口 | 数据库 )中,右键单击数据源并导航到 工具 | 管理显示的架构…。 选择或清除 您 希望显示或隐藏的模式复选框。 按 Enter

  • 点击数据源名称旁边的 M 中的 N 链接。 在数据库和架构选择窗口中,选择或清除您希望显示或隐藏的架构复选框。 按 Enter

    显示和隐藏 schema 和数据库

使用基于模式的过滤器

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

  1. 数据库 工具窗口(视图(V) | 工具窗口 | 数据库 )中,单击数据源名称附近的 M 中的 N 链接。

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

    基于模式的架构过滤器
  3. 在新的过滤节点中,定义正则表达式。 有关语法,请点击 架构的正则表达式 输入字段附近。 有关语法的更多信息,请参阅 正则表达式构造的总结

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

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

    过滤节点可以添加在任何节点下,包括另一个过滤节点。

显示所有 schema 和 database

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

    • 已启用

      已启用显示所有Namespaces
    • 已禁用

      已禁用“Show All Namespaces”

比较两个模式

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

  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 将高亮显示的 schema 添加到搜索路径中,并将 schema 从搜索路径中移除。

    • Alt+UpAlt+Down 以重新排序搜索路径中的 schemas。

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

    控制 PostgreSQL 和 Redshift 的搜索路径

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

  1. 数据库 工具窗口(视图(V) | 工具窗口 | 数据库 )中,右键单击 PostgreSQL 或 Amazon Redshift 数据源,然后选择 属性 Ctrl+Alt+Shift+S

  2. 点击 选项 选项卡。

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

  4. 点击 确定

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

强制刷新架构信息

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

  • 数据库 工具窗口(视图(V) | 工具窗口 | 数据库 )中,右键单击数据源并选择 诊断 | 强制刷新

为架构生成图表

  • 数据库 工具窗口(视图(V) | 工具窗口 | 数据库 )中,右键单击架构并选择 图 | 显示图表

为数据库对象生成一个图表

正则表达式构造的总结

如需完整信息,请参阅 完整的 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

换行符('\u000A')

\r

回车字符('\u000D')

\f

换页字符 ('\u000C')

\a

警报(铃声)字符(' \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]

仅限 US-ASCII 的 POSIX 字符类

\p{Lower}

小写字母字符:[a-z]

\p{Upper}

一个大写字母:[A-Z]

\p{ASCII}

All 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{n}

X 恰好 n 次

X{n,}

X,至少出现 n 次

X{n,m}

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

不情愿量词

X??

X,最多一次

X*?

零次或多次

X+?

X,至少一次

X{n}?

X 恰好 n 次

X{n,}?

X,至少出现 n 次

X{n,m}?

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

所有格量词

X?+

X,最多一次

X*+

零次或多次

X++

X,至少一次

X{n}+

X 恰好 n 次

X{n,}+

X,至少出现 n 次

X{n,m}+

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

逻辑运算符

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年 4月 23日
OSZAR »