PyCharm 2025.3 Help

数据库

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

数据库(Database )位于 数据库 工具窗口中。

Database 中的数据库

创建数据库

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

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

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

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

  5. 点击 确定 以添加您的数据库。

创建数据库对话框

显示数据库

显示和隐藏数据库

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

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

    显示和隐藏架构与数据库

使用基于模式的筛选器

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

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

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

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

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

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

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

显示所有架构与数据库

  • 若要在 数据库 工具窗口(视图(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]

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日