关键字有:(排版有些问题、实际上是一行3个关键字,粘贴过来原来的表格格式丢失了) ADD ALL ALTER ANALYZE AND AS ASC ASENSITIVE BEFORE BETWEEN BIGINT...RLIKE SCHEMA SCHEMAS SECOND_MICROSECOND SELECT SENSITIVE SEPARATOR SET SHOW SMALLINT SPATIAL SPECIFIC SQL...SQLEXCEPTION SQLSTATE SQLWARNING SQL_BIG_RESULT SQL_CALC_FOUND_ROWS SQL_SMALL_RESULT SSL STARTING STRAIGHT_JOIN...VARBINARY VARCHAR VARCHARACTER VARYING WHEN WHERE WHILE WITH WRITE X509 XOR YEAR_MONTH ZEROFILL 如果表名和关键字一样的话...(如表名也叫range),则冲突的表名要用反引号, 例如 alter `range` xxxxxxx;
标识符标识符是SQL实体的名称,例如表、视图、列(字段)、模式、表别名、列别名、索引、存储过程、触发器或其他SQL实体。...注意:SQL游标名称不遵循标识符命名约定。InterSystems SQL包含不能用作简单标识符的保留字。...任何不遵循这些命名约定的标识符都必须在SQL语句中表示为带分隔符的标识符。字母默认情况下,InterSystems SQL标识符不区分大小写。...名称空间的名字命名空间名称(也称为数据库名称)遵循标识符命名约定,并对标点字符和最大长度有额外的限制。命名空间名称可以作为带分隔符的标识符,并且可以与SQL保留字相同。...任何分隔的标识符都不能以星号(*)开头。以下术语不能用作分隔标识符:%vid。违反这些命名约定会导致SQLCODE-1错误。用作表、架构、列或索引名的分隔标识符必须能够转换为有效的类实体名称。
由于以下原因,这两个名字之间的对应关系可能不相同:持久化类和SQL表遵循不同的命名约定。 适用不同的有效字符和长度要求。 模式和表名不区分大小写; 包名和类名区分大小写。...因为这些名称有不同的命名约定,所以它们可能不相同。可以通过将其设置为系统范围的默认模式来创建与SQL保留字同名的模式,但是不建议这样做。...名为User的默认模式根据类命名唯一性约定,生成相应的类包名称User0。...由于表及其对应类的命名约定不同,用户应该注意非字母数字字符的名称转换:初始字符: % (percent): %作为表名的第一个字符是保留的,应该避免(参见标识符)。...在这个投影表中,将出现一个额外的RowID字段。 默认情况下,这个字段被命名为“ID”,并分配给第1列。
MySQL数据库开发的 36 条军规 标签:数据库 核心军规(5个) 尽量不在数据库做运算。 控制单表数量:行不超过500W条,超出分表;列不超过50个,超过拆表。...拒绝3B:大SQL (BIG SQL),大事务 (BIG Transaction),大批量 (BIG Batch)。...类军规(16个) SQL语句尽可能简单(一条SQL只能在一个cpu运算,大语句拆小语句,减少锁时间,一条大SQL可以堵死整个库) 简单的事务(事务时间尽可能短,坏的代码案例:上传图片事务) 避免使用trigger...提高查询效率 请使用同类型比较(避免转换导致索引丢失) 使用 LOAD DATA 导入命令比 insert 速度快20倍左右(适合导入大量测试数据) 打散大批量更新(例如:在凌晨空闲时期更新执行) 约定类军规...,库表名一律小写,索引前缀用 idx_ 库名 用缩写(2-7字符),不使用系统关键字保留字命名 参考文章 https://blog.csdn.net/y_bccl27/article/details/129343773
这意味着禁止基于特权的表/视图安全性。 可以在不指定用户的情况下创建表。 在本例中,动态SQL将“_SYSTEM”指定为user,嵌入式SQL将“”(空字符串)指定为user。...任何用户都可以对表或视图执行操作,即使该用户没有这样做的特权。 视图命名约定 视图名称与表名具有相同的命名约定,并且共享相同的名称集。因此,不能对同一架构中的表和视图使用相同的名称。...这与执行相应的ALTER VIEW语句相同。 已授予原始视图的任何特权仍然保留。 这个关键字短语没有提供ALTER VIEW不可用的功能。 它是为兼容Oracle SQL代码而提供的。...可以将多个选择列中的数据连接到单个视图列中。...不能包含INTO关键字。可以创建使用INTO子句指定SELECT的视图,但该视图的执行失败,并出现SQLCODE-25错误。 CREATE VIEW可以包含UNION语句,以从两个表的联合中选择列。
Oracle基础之保留字和关键字 在Oracle之中,有分为保留字和关键字,所谓关键字就是Oracle中有实际意义的,而保留字(比如DESC、ORDER等等)是Oracle中不能随便使用的,比如不能随便用来做表的列名...'Y' 我测试的是Oracle11.2版本,有100条记录 Oracle中的关键字就多了,Oracle11.2版本有1730条记录,Oracle关键字查询SQL: SELECT * FROM...v$reserved_words m WHERE m.RESERVED='N'; 虽然Oracle官方是不推荐保留字和关键字来使用的,比如被用于做表的列名,不过还是会被使用,我就曾遇到过 比如表A有列...(KEY(key值),DESC(描述)),这个就是一个很不规范的命名,其中KEY是Oracle的关键字,不推荐使用,但是还是不会报错的,而DESC就是一个保留字了,使用的话是会报错的 比如我insert...A(KEY,"DESC") values('TEST_KEY','这是一个key值'); 而在MySQL中也是有保留字和关键字的说法,不过解决方法是加上 符号,比如 ```sql insert into
Oracle基础之保留字和关键字 在Oracle之中,有分为保留字和关键字,所谓关键字就是Oracle中有实际意义的,而保留字(比如DESC、ORDER等等)是Oracle中不能随便使用的,比如不能随便用来做表的列名...Oracle中可以通过查询v$reserved_words表得知 查询Oracle保留字SQL: SELECT * FROM v$reserved_words m WHERE m.RESERVED=...Oracle中的关键字就多了,Oracle11.2版本有1730条记录,Oracle关键字查询SQL: SELECT * FROM v$reserved_words m WHERE m.RESERVED...虽然Oracle官方是不推荐保留字和关键字来使用的,比如被用于做表的列名,不过还是会被使用,我就曾遇到过 比如表A有列(KEY(key值),DESC(描述)),这个就是一个很不规范的命名,其中KEY是Oracle...,'这是一个key值'); 执行之后,是会报错的,解决方法是针对保留字DESC加上双引号 insert into A(KEY,"DESC") values('TEST_KEY','这是一个key值');
命名规则支持遵从 .NET 设计准则的命名约定。...CA1708:标识符应以大小写之外的差别进行区分 不能仅通过大小写区分命名空间、类型、成员和参数的标识符,因为针对公共语言运行时的语言不需要区分大小写。...CA1711:标识符应采用正确的后缀 按照约定,只有扩展某些基类型或实现某些接口的类型的名称或者从这些类型派生的类型的名称,应该以特定的保留后缀结尾。 其他类型名称不应使用这些保留的后缀。...外部可见的类型或方法上的泛型类型参数的名称不以大写的“T”开头。 CA1716:标识符不应与关键字冲突 某个命名空间名称或类型名称与编程语言中的保留关键字相同。...命名空间和类型的标识符不应与针对公共语言运行时的语言所定义的关键字冲突。
表内容或查询结果的自定义过滤器,包括基于单元格值的过滤。 查询结果按列排序。 应用过滤和排序导出数据。 基于选定行生成SQL语句。 所选列的基本统计信息。 6....由与脚本关联的数据库确定的SQL语法突出显示。 支持不同数据库的不同保留关键字集和系统功能。 脚本的导入和导出。 8. 简单友好的图形化界面 可以在不了解SQL的情况下构造复杂的SQL查询。...数据库对象DDL的显示及按对象结构生成标准sql92ddl。 能够编辑/重命名/删除连接和大多数数据库对象。 全局和本地过滤器,能够按名称筛选数据库对象。 10....支持的文件格式包括:CSV、HTML、XML、JSON、XLS、XLSX。也可以直接从CSV文件将数据导入数据库表,在向导中设置列映射和数据类型。可将数据传输配置另存为任务并随时运行。 11....点击“Finish”关闭窗口,左侧连接树中出现“postgres”,在其上点击右键选择“重命名”。然后输入“HAWQ240”,点击“OK”,关闭对话框。 至此建立好了HAWQ连接。
一个语句写十遍,居然大部分时候都是不一样的。上网找了一些SQL的开发标准文档,结合项目中的使用,写一些关于自己SQL的开发标准文档。 解编码标准就是一套写代码的指南、规则、约定的集合。...Columns 规则:使用Pascal命名法,涉及到其他表的列的话,就使用列名 例子: Customers表:ID,Name Orders表:ID,CustomerID 脚本命名 规则: 存储过程的脚本名称以...作为前缀 例子: sp_GetNewOrders.sql,def_Orders.sql,conv_Orders.sql,rbk_Orders.sql 一般规则 命名中不要用空格,避免使用SQL的关键字,...如果使用关键字,讲关键字放在’[]‘中(如:[Year]),建议做好所有的列名都是用’[]‘ 关于命名规则,如果有补充请留言。...没有任何规约对数据库开发的命名是绝对的,只要适合项目,适合开发者,并被大部分开发者所接受,就是好的标准,
1、前提 首先需要对Oracle和PostgreSQL的SQL都比较熟悉。对其理解的越详细就越具有优势,本文帮助读者迅速理解这两类SQL的区别是什么。...Postgsql中可以将FROM子句丢弃。可以在postgres中创建一个视图作为这个表从而消除上述问题。这样就可以在不干扰Postgres的解析器情况下兼容Oracle的SQL。...Oracle的虚拟列ROWID:表行的物理地址,以base64编码。应用中可以使用该列临时缓存行地址,使第二次访问时更加便捷。Postgres的ctid起同样的作用。...当需要在存储的PLpgSQL代码中进行单行检查时,需要在所有SELECT中的任何关键字INTO之后添加关键字STRICT。...5、数据类型 Postgres严格尊周SQL表中,而Oracle由于历史原因,会有自己特有的方式,尤其是数据类型方面。
Oracle转换Postgres 1、前提 首先需要对Oracle和PostgreSQL的SQL都比较熟悉。对其理解的越详细就越具有优势,本文帮助读者迅速理解这两类SQL的区别是什么。...Postgsql中可以将FROM子句丢弃。可以在postgres中创建一个视图作为这个表从而消除上述问题。这样就可以在不干扰Postgres的解析器情况下兼容Oracle的SQL。...Oracle的虚拟列ROWID:表行的物理地址,以base64编码。应用中可以使用该列临时缓存行地址,使第二次访问时更加便捷。Postgres的ctid起同样的作用。...当需要在存储的PLpgSQL代码中进行单行检查时,需要在所有SELECT中的任何关键字INTO之后添加关键字STRICT。...5、数据类型 Postgres严格尊周SQL表中,而Oracle由于历史原因,会有自己特有的方式,尤其是数据类型方面。
作为结构化查询语言 SQL 的语法相对于其他编程语言非常简单,常用的关键字也就几个,完成同样的统计功能,SQL 代码量较少,我们很容易将 SQL 代码映射到二维表中的数据,SQL 不同操作的代码其实就是对应着二维表的不断变换...由于SQL语句学习简单,表达能力强,上手容易的有点,所以在数据处理中SQL语句就成为了最通用的和最优先考虑处理方式。在大数据中 SQL 应用主要分两种:一种是周期性的统计任务,另一种是分析任务。...所以一套良好SQL编码规范是十分重要的。 希望这篇文章能作为你正在寻找的指导! 这里只针对数仓HIve来说,但是大部分是通用的,特殊情况我也会注明。...1、关键字使用大写 SQL关键字使用大写,表和列使用小写(oracle除外,oracle默认表、列就是大写)。在SQL函数都使用大写这样可以进行更好的区分,尽管这里有一些争议,但是我建议这样使用。...)、蛇形命名法是最常见的几种命名规则 但是,当涉及到SQL时,蛇形命名法是最广泛使用的约定。
(游标名称不遵循SQL标识符约定)。游标名称区分大小写。它们受其他命名限制的约束,如下所述。 query - 定义游标结果集的标准SELECT语句。...可以在一个命名空间中声明游标,并在另一个命名空间中打开、获取或关闭此游标。在执行OPEN命令时编译嵌入式SQL。...游标名称的第二个和后续字符必须是字母或数字。与SQL标识符不同,游标名称中不允许使用标点符号。 可以使用分隔符字符(双引号)将SQL保留字指定为游标名称。...分隔游标名称不是SQL分隔标识符;分隔游标名称仍然区分大小写,不能包含标点符号。在大多数情况下,SQL保留字不应用作游标名称。...SQL中,如果对受影响的表和列具有适当的权限,则游标始终可以用于更新或删除操作。 DECLARE语句可以在查询后指定FOR UPDATE或FOR READ ONLY关键字子句。
: And — 等价于 SQL 中的 and 关键字,比如 findByUsernameAndPassword(String user, Striang pwd); Or — 等价于 SQL 中的...or 关键字,比如 findByUsernameOrAddress(String user, String addr); Between — 等价于 SQL 中的 between 关键字,比如 findBySalaryBetween...— 等价于 SQL 中的 “like”,比如 findByUsernameLike(String user); NotLike — 等价于 SQL 中的 “not like”,比如 findByUsernameNotLike...— 等价于 SQL 中的 “!...1)方法名会比较长: 约定大于配置 2)对于一些复杂的查询,是很难实现 比如: // where name like ?
(游标名称不遵循SQL标识符约定)。游标名称区分大小写。它们受其他命名限制的约束,如下所述。 query – 定义游标结果集的标准SELECT语句。...可以在一个命名空间中声明游标,并在另一个命名空间中打开、获取或关闭此游标。在执行OPEN命令时编译嵌入式SQL。...游标名称的第二个和后续字符必须是字母或数字。与SQL标识符不同,游标名称中不允许使用标点符号。 可以使用分隔符字符(双引号)将SQL保留字指定为游标名称。...分隔游标名称不是SQL分隔标识符;分隔游标名称仍然区分大小写,不能包含标点符号。在大多数情况下,SQL保留字不应用作游标名称。...SQL中,如果对受影响的表和列具有适当的权限,则游标始终可以用于更新或删除操作。 DECLARE语句可以在查询后指定FOR UPDATE或FOR READ ONLY关键字子句。
: 问题#1:不兼容的值/数据类型,MySQL(日期时间)-> Postgres(时间戳) 许多列中的值从“ 0000-00-00 00:00:00 ”更改为“ 1970-01-01 00:00:00...这些值已显式更新,以便 Postgres 接受该值。对于 MySQL DBA 来说,这是旧版 MySQL DBMS 中的一个已知问题。较新的版本不允许这种行为。...问题#3:MySQL 表名太长 【这个可能遇到的概率比较小】 由于 MySQL 的名称可能比 Postgres 合法可接受的名称更长,因此 pgLoader 必须将它们重命名为更短的名称。...问题#4:MySQL 索引名称太长 【这个可能遇到的概率比较小】 与问题 #3 类似,pgloader 在将索引重新构建到 PostgreSQL 中时自动重命名索引,即在 PostgreSQL 中非法的重复命名索引...假设名称长度在 Postgres 中是合法的,则可以使用选项保留索引名称来解决此问题,保留原始索引名称。
,因此在实际命名中如果按照规范约定的命名方式存在超长的现象,需要开发人员灵活控制。...可以参考企业现有业务数据库的数据字典命名。 2.5 常用单位规范 约定数据仓库中字段的默认单位,比如车速默认单位是KM/h。...命名使用英文单词,避免使用拼音,特别不应该使用拼音简写。命名不允许使用中文或者特殊字符。 命名中若使用特殊约定或缩写,则必须要注释说明。...对于比较简单的SQL语句,也可根据实际情况写在一行或几行中,但多行的要注意缩进,并且要注意美观性。...对于多层嵌套,一定要注意各层嵌套的缩进层次,才能保证代码良好的可读性,否则代码将非常难读。 关键字、保留字之间必须留有空格。
目录 命令 将您的数据库升级到最新 将您的数据库移动到特定的迁移 为迁移生成 SQL 生成迁移 将迁移合并到 master 指南 过滤器 索引 删除列/表 列 表 外键 重命名表 添加列 向列添加 NOT...NULL 添加具有默认值的列 改变列类型 重命名列 Django 迁移是我们处理 Sentry 中数据库更改的方式。...重命名表 重命名表很危险,会导致停机。发生这种情况的原因是在部署期间将运行旧/新代码的混合。因此,一旦我们在 Postgres 中重命名该表,如果旧代码尝试访问它,它就会立即开始出错。...这需要 Postgres 锁定表并重写它。相反,更好的选择是: 在 Postgres 中添加没有默认值的列,但在 Django 中添加默认值。这使我们能够确保所有新行都具有默认值。...因此,一旦我们在 Postgres 中重命名该列,如果旧代码尝试访问它,它就会立即开始出错。有两种方法可以处理重命名列: 不要重命名 Postgres 中的列。
SQL函数 JSON_OBJECT 将数据作为JSON对象返回的转换函数。 大纲 JSON_OBJECT(key:value [,key:value][,...]...在NULL上缺失将从JSON对象中省略NULL数据;当value为NULL且不保留占位符逗号时,它将删除key:value对。此关键字短语对空字符串值没有影响。...可以指定任何单引号字符串作为键名;JSON_OBJECT不强制任何命名约定或对键名进行唯一性检查。可以为值指定列名或其他表达式。...JSON_OBJECT不支持将星号(*)语法作为指定表中所有字段的方式。 返回的JSON对象列被标记为表达式(默认情况下);可以为JSON_OBJECT指定列别名。...ABSENT ON NULL 如果指定可选的ACESING ON NULL关键字短语,则JSON对象中不包括NULL(或NULL文字)列值。JSON对象中不包括占位符。
领取专属 10元无门槛券
手把手带您无忧上云