首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SqlAlchemy 2.0 中文文档(五十一)

请参阅 设置事务隔离级别,包括 DBAPI 自动提交 标识符大小写 在 Oracle 中,数据字典使用大写文本表示所有不区分大小写的标识符名称。...在 SQLAlchemy 方面使用大写名称表示区分大小写的标识符,SQLAlchemy 将引用该名称 - 这将导致与从 Oracle 收到的数据字典数据不匹配,因此除非标识符名称真正被创建为区分大小写(...这一变化影响了 SQLAlchemy 在生成的 SQL 标签名称以及约束名称的区域,特别是在使用描述在 配置约束命名约定 中的约束命名约定特性时。...另请参阅 设置事务隔离级别,包括 DBAPI 自动提交 标识符大小写 在 Oracle 中,数据字典使用大写文本表示所有不区分大小写的标识符名称。...在 SQLAlchemy 一侧使用大写名称表示区分大小写的标识符,并且 SQLAlchemy 会对名称加引号 - 这将导致与从 Oracle 接收到的数据字典数据不匹配,因此除非标识符名称真的已创建为区分大小写的

31810

SqlAlchemy 2.0 中文文档(三十八)

使用 Operators.bool_op() 的一个关键优势是,在使用列构造时,返回表达式的“布尔”性质将出现在 PEP 484 目的中。...在 SQLAlchemy 中,仅通过使用所有小写字符的名称来指定不区分大小写的名称。 quote_schema – 与‘quote’相同,但适用于模式标识符。...在 SQLAlchemy 中,这只是一个与Table对象关联的字符串名称,然后以适合于目标数据库的方式呈现为 SQL 语句,从而在目标数据库上引用表时使用其远程“模式”。...使用 Operators.bool_op() 的一个关键优势是,在使用列构造时,返回表达式的“布尔”性质将出现在 PEP 484 目的中。...SQLAlchemy 中仅通过使用所有小写字符的名称来指定不区分大小写的名称。 quote_schema - 与 ‘quote’ 相同,但适用于模式标识符。

20710
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SqlAlchemy 2.0 中文文档(七十四)

    #3740 ### 列级别的 COLLATE 关键字现在引用排序规则名称 修复了在collate()和ColumnOperators.collate()函数中的一个错误,用于在语句级别提供临时列排序规则...() 方法中,现在将被“名称标准化”,即,以小写形式表示以进行大小写不敏感的名称,而不是 Oracle 使用的原始大写格式: >>> insp.get_indexes("addresses") [{'unique...#3740 列级别的 COLLATE 关键字现在引用了排序规则名称 修复了collate()和ColumnOperators.collate()函数中的一个错误,用于在语句级别提供临时列排序规则,其中一个区分大小写的名称将不会被引用...() 方法内部的外键约束的名称现在将被“名称标准化”,即,以小写形式表示以便于不区分大小写的名称,而不是 Oracle 使用的原始大写格式: >>> insp.get_indexes("addresses...在 SQLAlchemy 中,该错误可能发生在很少(如果有的话)使用了 `auto_convert_lobs=False` 选项,并且与之前的 cx_Oracle 5.x 系列一起使用,以及在 LOB

    40710

    数据库表字段命名规范

    数据库表字段命名规范 摘要:当前研发工作中经常出现因数据库表、数据库表字段格式不规则而影响开发进度的问题,在后续开发使用原来数据库表时,也会因为数据库表的可读性不够高,表字段规则不统一,造成数据查询,数据使用效率低的问题...2.1数据表命名规范 (1)采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔 (2)全部小写命名,禁止出现大写 (3)禁止使用数据库关键字...三、数据库字段命名规范 3.1字段命名规范 (1)采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔 (2)全部小写命名,禁止出现大写...(7)在命名表的列时,不要重复表的名称 例如,在名employe的表中避免使用名为employee_lastname的字段 (8)不要在列的名称中包含数据类型 (9)字段命名使用完整名称,禁止缩写 3.2...,如:INSERT、UPDATE、DELETE、SELECT及其子句,IF……ELSE、CASE、DECLARE等 (2)所有函数及其参数中除用户变量以外的部分必须大写 (3)在定义变量时用到的数据类型必须小写

    34.9K1710

    数据库命名规范

    一、数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔,一个项目一个数据库,多个项目慎用同一个数据库 二、数据库表命名规范...2.1数据表命名规范 (1)采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔 (2)全部小写命名,禁止出现大写 (3)禁止使用数据库关键字...三、数据库字段命名规范 3.1字段命名规范 (1)采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔 (2)全部小写命名,禁止出现大写...(7)在命名表的列时,不要重复表的名称 例如,在名employe的表中避免使用名为employee_lastname的字段 (8)不要在列的名称中包含数据类型 (9)字段命名使用完整名称,禁止缩写 3.2...,如:INSERT、UPDATE、DELETE、SELECT及其子句,IF……ELSE、CASE、DECLARE等 (2)所有函数及其参数中除用户变量以外的部分必须大写 (3)在定义变量时用到的数据类型必须小写

    2.3K30

    SqlAlchemy 2.0 中文文档(四十)

    将 Sequence 关联为服务器端默认 注意 以下技术仅在 PostgreSQL 数据库中可用。它在 Oracle 中不起作用。...但是,在发出 CREATE TABLE 时,该序列不会出现为该列的服务器端默认。...在使用诸如ALTER TABLE之类的命令在数据库中更改现有数据库表时,此命令通常需要为新约束指定显式名称,以及能够指定要删除或修改的现有约束的名称。...在这个字典中的字符串模板在与此 MetaData 对象关联的约束或索引没有给出现有名称时使用(包括一个例外情况,即可以进一步装饰现有名称的情况)。...这个字典中的字符串模板在与这个MetaData对象相关联的约束或索引没有给出现有名称时使用(包括一个现有名称可以进一步修饰的例外情况)。

    26410

    SqlAlchemy 2.0 中文文档(七十三)

    ,在 Python 3 中以及使用现代测试工具如 Pytest 时,现在在标准错误流中更加明确。...当值无法评估时,现代属性 API 功能用于指示特定的错误消息,这两种情况是当列属性从未设置时,以及当对象在进行第一次评估时已过期并且现在已分离。...警告,在 Python 3 中以及使用像 Pytest 这样的现代测试工具时,现在在标准错误流中更加明确。...,在 Python 3 中以及使用现代测试工具如 Pytest 时,现在在标准错误流中更加明确。...当值无法评估时,现代属性 API 功能用于指示特定的错误消息,两种情况是当列属性从未设置过时,以及当对象在首次评估时已经过期且现在分离时。

    24310

    SqlAlchemy 2.0 中文文档(四十七)

    named (bool) – 在使用命名参数传递时,函数参数规范中列出的名称将用作字典中的键。请参阅命名参数风格。 once (bool) – 私有/内部 API 使用。已弃用。...出现此错误的两种情况如下: 在会话刷新操作中,如果两个对象相互依赖,它们不能仅通过 INSERT 或 DELETE 语句进行插入或删除;需要使用 UPDATE 来后关联或先取消关联其中一个外键约束值。...可用名称应使用以下约定: 使用大写命名。隔离级别方法将接受小写名称,但在传递给方言之前会将其标准化为大写。 单词之间应该用空格分隔,而不是下划线,例如 REPEATABLE READ。...可用的名称应遵循以下约定: 使用大写名称。隔离级别方法将接受小写名称,但在传递给方言之前将其规范化为大写。 应将分隔的单词用空格分隔,而不是下划线,例如REPEATABLE READ。...第三方方言可以在此处建立自己的字典以替换默认映射,这将确保映射中的特定字符永远不会出现在绑定参数名称中。 字典在类创建时进行评估,因此不能在运行时修改;在类首次声明时,必须存在于类上。

    30610

    SqlAlchemy 2.0 中文文档(五十八)

    oracle [oracle] [bug] 修复了 Oracle “名称标准化”在反射 "PUBLIC" 模式下无法正确工作的反射错误,例如在 Python 端不能将 PUBLIC 名称指定为小写用于...参考:#8917 oracle [oracle] [bug] 对 Oracle 修复#8708的持续修复,在 1.4.43 中发布,其中以下划线开头的绑定参数名称(Oracle 不允许的)仍然未在所有情况下正确转义...此更改还回溯到:1.4.43 参考:#8700 oracle [oracle] [bug] 修复了一个问题,其中包含需要在 Oracle 中用引号引起的字符的绑定参数名称,包括那些从同名数据库列自动生成的名称...请注意,case_sensitive参数与控制大小写敏感性、引用和“名称规范化”(即转换为将所有大写字母视为大小写不敏感的数据库)DDL 标识符名称的一般主题没有任何关系,这仍然是 SQLAlchemy...默认值为 50 可能导致与仅使用 cx_oracle/oracledb 在较慢的网络上获取数百行时相比出现显着的性能回退。

    16510

    MySQL 特殊字符

    因为 # 不是 SQL 标准规定的注释方式,所以并不是所有数据库都支持。 2.字符串符 在 SQL 标准中,字符串使用单引号(')表示,而不是双引号(")。...但对于主流的数据库,都支持双引号表示字符串,如 Oracle、MySQL 和 SQL Server 等。 如果字符串中包含单引号该如何表示呢?...反引号的主要作用是允许你在标识符中使用保留字、特殊字符或包含空格的名称,而不会引发语法错误。 以下是反引号在 MySQL 中的作用与示例: 避免与保留关键字冲突。...如果你希望使用一个与 MySQL 中的保留字同名的标识符,可以使用反引号将其括起来,以避免语法错误。...4.模式匹配 通配符 SQL 标准中规定模式匹配使用下划线(_)匹配任何单个字符,使用百分号(%)匹配任意数量的字符(包括零个字符)。 在 MySQL 中,SQL 模式默认不区分大小写。

    97860

    什么是plsql语句_过程化SQL有三种循环结构

    *** PL/SQL是Oracle 公司在标准SQL语言基础上进行扩展而形成的一种可以在数据库上进行设计变成的语言, 通过Oracle 的PL/SQL 引擎执行。...例如,实现如下的功能:产品很多种类,而在产品表中,产品的类型需要使用产品类型编码 替代,而不是名称,这样当输入记录的时候就需要把产品名称转换成产品编码,在PL/SQL...(4)、利用处理运行时的错误信息 标准的SQL在遇到错误时会提示异常。...例如,从windows 的数据库服务器下移植到Linux 的数据库服务器下。也可把PL/SQL从一个Oracle 版本移植到其他版本的Oracle 中。...》》标识符中允许字母、数字、下划线,并且以字母开头 》》标识符最多30个字符 》》不能使用保留字。

    1.4K20

    SqlAlchemy 2.0 中文文档(四十一)

    这些数据类型将确保在数据库上使用正确的类型。 “驼峰大小写”数据类型 初级类型具有“驼峰大小写”名称,如String、Numeric、Integer和DateTime。...“驼峰大小写”类型在尽可能大的程度上是与数据库无关的,这意味着它们可以在任何数据库后端上使用,在那里它们将以适当的方式行事,以产生所需的行为。 一个简单的“驼峰大小写”数据类型的例子是String。...如果使用了 PEP-435 枚举类,则默认情况下使用其名称(转换为小写)。 native_enum – 在可用时使用数据库的原生 ENUM 类型。默认为 True。...在使用 ORM 时检测 ARRAY 列中的更改 当与 SQLAlchemy ORM 一起使用时,ARRAY 类型不会检测对数组的原地突变。...在使用 ORM 时检测 JSON 列中的更改 当与 SQLAlchemy ORM 一起使用时,JSON 类型不会检测结构的原地变化。

    30810

    SqlAlchemy 2.0 中文文档(四十三)

    它用于特殊数据类型,这些数据类型要求列在发送回应用程序之前必须被包装在某些特殊的数据库函数中以强制转换值。它是 SQL 中TypeEngine.result_processor()方法的类比。...ORM 使用此标志表示在 INSERT 语句中将正值的None传递给列,而不是从 INSERT 语句中省略列,这会触发列级默认值。...乐观 更多关于失效的信息 支持断开情景下的新数据库错误代码 使用 FIFO vs....驱动名称是要使用的 DBAPI 的名称,全部使用小写字母连接到数据库。如果未指定,将导入“默认”DBAPI(如果可用)- 该默认值通常是该后端可用的最广为人知的驱动程序。...驱动程序名称是用于使用所有小写字母连接到数据库的 DBAPI 的名称。如果未指定,将导入“默认”DBAPI(如果可用)- 这个默认通常是该后端可用的最广为人知的驱动程序。

    34410

    SqlAlchemy 2.0 中文文档(四十九)

    但是,已经观察到无论存在何种大小写敏感性行为,外键声明中的表名称总是以全小写形式从数据库接收,这使得准确反映使用混合大小写标识符名称的相互关联表的架构成为不可能。...因此,强烈建议在 SQLAlchemy 中以及在 MySQL / MariaDB 数据库本身中将表名声明为全小写,特别是如果要使用数据库反射功能的话。...会出现类似的行为,即当数据库 URL 基于“mariadb”名称时,选项名称中将包含“mariadb”前缀。...会出现类似的行为,即当数据库 URL 基于“mariadb”名称时,选项名称中将包含“mariadb”前缀。...然而,已经观察到,无论存在何种大小写敏感性行为,外键声明中的表名 始终 以全部小写的形式从数据库接收到,这使得无法准确反映使用混合大小写标识符名称的相互关联表的模式。

    40710

    SQL笔记(1)——MySQL创建数据库

    此外,检查约束(CHECK Constraint)则可以在某些情况下对表中的非主键列进行限制,以防止数据出现意外或错误的情况。...MySQL约束在开发中的应用 MySQL约束是一种限制数据库表中某些列的值或它们之间关系的规则。它可以确保数据的完整性和一致性,避免无效或错误的数据在存储到数据库中。...MySQL约束在fastapi中的应用示例 在FastAPI中使用MySQL数据库时,可以通过SQLAlchemy来定义和管理约束,并将它们命名。...约束名是否要和数据库中的约束名对应上 如果在代码中定义了MySQL约束名,则应该在数据库中将其对应的约束名称与之匹配。这是因为MySQL约束名是在创建表时定义的一种元数据,并将存储在数据库系统表中。...因此,在开发中添加MySQL约束名时,请务必确保每个约束名称都与实际存储在数据库中的名称相匹配。此外,应避免使用太长或含义不明的名称,以便在未来快速定位约束问题。

    3.1K20

    SQL标识符

    这对名称的实际使用情况没有影响。 (注意,SQL的其他实现可能会以不同的方式处理标识符的大小写敏感性。 因此,建议避免使用基于案例的标识符。)请注意,系统间SQL中的游标名称和密码是区分大小写的。...完全由标点字符组成的标识符,或以两个下划线字符(__name)开头的标识符,或包含两个井号(nn##nn)的标识符作为SQL实体名称通常是无效的,应该在所有上下文中避免使用。...在DDL运行时将SQL标识符转换为对象标识符时,“From”字符串中的字符被转换为“to”字符串中的字符。...启用分隔标识符支持时,一对双引号字符“”将被解析为无效的分隔标识符,并生成SQLCODE-1错误。分隔标识符有效名称分隔的标识符必须是唯一的名称。...任何分隔的标识符都不能以星号(*)开头。以下术语不能用作分隔标识符:%vid。违反这些命名约定会导致SQLCODE-1错误。用作表、架构、列或索引名的分隔标识符必须能够转换为有效的类实体名称。

    2.4K10

    SqlAlchemy 2.0 中文文档(五十二)

    此外,在为 DDL 或 SQL 呈现模式名称时,这两个组件将被分别引用以用于区分大小写的名称和其他特殊字符。...建议在使用此标志时直接使用TIMESTAMP数据类型,因为一些数据库包括与时区功能的 TIMESTAMP 数据类型不同的单独的通用日期/时间持有类型,如 Oracle。...在使用主机名连接时,还必须在 URL 的查询参数中指定驱动程序名称。...建议在使用此标志时直接使用 TIMESTAMP 数据类型,因为某些数据库包含与支持时区的 TIMESTAMP 数据类型不同的单独的通用日期/时间持有类型,例如 Oracle。...主机名连接 pyodbc 也支持基于主机名的连接。这通常比使用 DSN 更容易,并且具有以下额外的优势:可以在 URL 中本地指定要连接的特定数据库名称,而不是将其作为数据源配置的固定部分。

    57310

    SqlAlchemy 2.0 中文文档(八十)

    方言现在专门将公开可用的类型定义为大写名称,并使用下划线标识符(即私有)来定义内部实现类型。用于在 SQL 和 DDL 中表达类型的系统已移至编译器系统。这样做的效果是大多数方言中的类型对象要少得多。...这些变化的亮点包括: 方言中类型的构造已彻底改写。方言现在将公开可用的类型定义为仅大写名称,并使用下划线标识符(即私有)进行内部实现类型。类型在 SQL 和 DDL 中的表达方式已移至编译器系统。...这些变更的亮点包括: 方言中类型的构造已完全重构。方言现在专门使用大写名称定义公开可用的类型,并使用下划线标识符(即私有)定义内部实现类型。...在 0.5 中,已移除了此自动转换,因此实际上可以使用表绑定列来覆盖多态查询时发生的转换;这使得Query能够在连接表或具体表继承设置中创建优化的选择,以及可移植的子查询等。...在 0.5 中,这种自动转换已被移除,因此实际上可以使用表绑定的列来覆盖多态查询时发生的转换;这使得Query能够在连接表或具体表继承设置中创建优化的选择,以及可移植的子查询等。

    20310

    Flask架站基础篇(七)--SQLAlchemy(1)

    零、什么是SQLAlchemy SQLAlchemy是 Python 中常用的ORM框架 一、安装 在命令行中打开虚拟环境,在虚拟环境中输入如下命令: pip install flask-sqlalchemy...= 'mysqldb' # 数据库驱动名称 USERNAME = 'root' # 数据库用户名 PASSWORD = 'root' # 数据库密码 HOST = '127.0.0.1' #...if __name__ == '__main__': app.run(debug=True) 三、模型与表映射 数据库模型必须集成db.Model 如果表名称没有指定,将使用类名称的小写形式...表属性名称必须以开头,以结尾 只要是映射到数据库的字段,必须=db.Column() from flask import Flask from flask_sqlalchemy import SQLAlchemy...db.Model class Article(db.Model): # 定义表名,如果不指定表名,将使用类名称的小写形式, # 表名属性必须以__开头__结尾 __tablename

    48720
    领券