1. PostgresSQL 支持标准的 SQL 类型 int,smallint, real,double precision, char(N), varchar(N),date, time,timestamp 和 interval 2. \c [数据库名] 多个数据库之间的切换
\a 在非对齐和对齐的输出模式之间切换 \C [字串] 设置表标题, 如果参数空则取消标题 \cd [目录名] 改变当前的工作目录 \copy ... 执行 SQL COPY, 数据流指向客户端主机 \copyright 显示 PostgreSQL 用法和发布信息 \d [名字] 描述表, 索引, 序列, 或者视图 列出表/索引/序列/视图/系统表 \d{t|i|s|v|S} [模式] (加 "+" 获取更多信息) 列出表/索引/序列/视图/系统表 \da [模式] 列出聚集函数 \dd [模式] 显示目标的注释 \dD [模式] 列出域 \df [模式] 列出函数 (加 "+" 获取更多的信息) \do [名字] 列出操作符 \dl 列出大对象, 和 \lo_list 一样 \dp [模式] 列出表访问权限 \dT [模式] 列出数据类型 (加 "+" 获取更多的信息) \du [模式] 列出用户 \e [文件名] 用一个外部编辑器编辑当前查询缓冲区或者文件 \echo [字串] 向标准输出写出文本 \encoding [哪种编码] 设置客户端编码(EUC_JP,GBK) \f [字串] 设置域分隔符 \g 文件名 向服务器发送 SQL 命令 (并且把结果写到文件或者 |管道) \h [名字] SQL 命令的语法帮助, 用 * 可以看所有命令的帮助 \H 在 HTML 输出模式之间切换 (当前是 关闭) \i 文件名 执行来自文件的命令 \l 列出所有数据库 \lo_export, \lo_import, \lo_list, \lo_unlink 大对象操作 \o 文件名 向文件或者 |管道 发送所有查询结果 \p 显示当前查询缓冲区的内容 \pset 名字 [值] 设置表的输出选项 (NAME := {foramt|border|expaned| (名字 := {foramt|border|expanded|fieldsep|null|recordsep| tuples_only|title|tableattr|pager}) \q 退出 psql \r 重置 (清理) 查询缓冲区 \s [文件名] 打印历史或者将其保存到文件 \set [名字 [值]] 设置内部变量, 如果没有参数就列出所有 \t 只显示行 (当前是 关闭) \T [字串] 设置 HTML <表>标记属性, 如果没有参数就取消设置 \timing 查询计时开关切换 (目前是 关闭) \unset 名字 取消(删除)内部变量 \w [文件名] 将当前查询缓冲区写出到文件 \x 在扩展输出之间切换 (目前是 关闭) \z [模式] 列出表访问权限 (和 \dp 一样) \! [命令] 在 shell 里执行命令或者开始一个交互的 shell
\echo [string] 输出字符串
\qecho [字串] 向查询输出流写出文本 (见 \o)
3. 将数据库 导出到 文件标识符
命令:
\copy 表名 to 文件名|标准输出 [delimiter as ‘分隔符’] [null as ‘null表示的字符串’ ] [csv quote as ‘引号的类型’]
解释:
可以将表中的数据输出到 文件或标准输出。
delimiter as ‘分隔符’ :说明输出设备的文本中表的每个字段用什么字符分割,默认是tab;
null as ‘null表示的字符串’:说明输出设备的文本中表的NULL值的表示方法,默认为“\N”;
csv quote as ‘引号类型’ :说明导出的csv文件中的引号类型是什么,
对于Postgres7.4以前的版本,不支持csv的导入与导出,这时不要使用这个可选项。
例子:
aa=#\copy testtable to data.csv delimiter as ‘,’ csv quote as ‘”‘
这条命令将testtable表中的内容作为SQL语句,导出data.csv文件中。
delimiter as ‘,’ :说明data.txt文本中表的每个字段用“逗号”分割;
csv quote as ‘”‘ :说明csv中的引号类型是“双引号”。
像前面说的:这个例子不适用在Postgres7.4以前的版本。
注意文件保存路径默认在:
C:\Documents and Settings\zhuyaopeng\目录下 而且只保存数据,不保存表结构
4. 从 文件标识符 导入数据到数据库
命令:
\copy 表名 form 文件名|标准输入 [delimiter as ‘分隔符’] [null as ‘null表示的字符串’ ] [csv quote as ‘引号的类型’] 例子: aa=#\copy testtable from data.csv delimiter as ‘,’ csv quote as ‘”‘
这条命令将data.csv文件中的文本,作为sql语句导入到testtable表,
delimiter as ‘,’ :说明data.txt文本中表的每个字段用“逗号”分割;
csv quote as ‘”‘ :说明csv中的引号类型是“双引号”。
5.如何只选择一个查询结果的头几行?或是随机的一行?
如果你只是要提取几行数据,并且你在执行查询中知道确切的行数,你可以使用LIMIT功能。如果有一个索引与 ORDER BY中的条件匹配,PostgreSQL 可能就只处理要求的头几条记录,(否则将对整个查询进行处理直到生成需要的行)。如果在执行查询功能时不知道确切的记录数,可使用游标(cursor)和FETCH功能。
可使用以下方法提取一行随机记录的:
SELECT cols FROM tab ORDER BY random() LIMIT 1 ;
6.如何查看表、索引、数据库以及用户的定义?如何查看psql里用到的查询指令并显示它们?
在psql中使用 \dt 命令来显示数据表的定义,要了解psql中的完整命令列表可使用\? ,另外,你也可以阅读 psql 的源代码文件pgsql/src/bin/psql/describe.c,它包括为生成psql反斜杠命令的输出的所有 SQL 命令。你还可以带 -E 选项启动 psql,这样它将打印出执行你在psql中所给出的命令的内部实际使用的SQL查询。PostgreSQL也提供了一个兼容SQL的INFORMATION SCHEMA接口, 你可以从这里获取关于数据库的信息。
在系统中有一些以pg_ 打头的系统表也描述了表的定义。
使用 psql -l 指令可以列出所有的数据库。
也可以浏览一下 pgsql/src/tutorial/syscat.source文件,它列举了很多可从数据库系统表中获取信息的SELECT语法。
7.如何更改一个字段的数据类型?
在8.0版本里更改一个字段的数据类型很容易,可使用 ALTER TABLE ALTER COLUMN TYPE 。
在以前的版本中,可以这样做:
BEGIN; ALTER TABLE tab ADD COLUMN new_col new_data_type; UPDATE tab SET new_col = CAST(old_col AS new_data_type); ALTER TABLE tab DROP COLUMN old_col; COMMIT;
你然后可以使用VACUUM FULL tab 指令来使系统收回无效数据所占用的空间。
8.一行记录,一个表,一个库的最大尺寸是多少?
下面是一些限制:
一个数据库最大尺寸? 无限制(已存在有 32TB 的数据库) 一个表的最大尺寸? 32 TB 一行记录的最大尺寸? 1.6 TB 一个字段的最大尺寸? 1 GB 一个表里最大行数? 无限制 一个表里最大列数? 250-1600 (与列类型有关) 一个表里的最大索引数量? 无限制
当然,实际上没有真正的无限制,还是要受可用磁盘空间、可用内存/交换区的制约。事实上,当这些数值变得异常地大时,系统性能也会受很大影响。
表的最大尺寸 32 TB 不需要操作系统对大文件的支持。大表用多个 1 GB 的文件存储,因此文件系统尺寸的限制是不重要的。
如果缺省的块大小增长到 32K ,最大的表尺寸和最大列数还可以增加到四倍。
9.存储一个典型的文本文件里的数据需要多少磁盘空间?
一个 Postgres 数据库(存储一个文本文件)所占用的空间最多可能需要相当于这个文本文件自身大小5倍的磁盘空间。
例如,假设有一个 100,000 行的文件,每行有一个整数和一个文本描述。假设文本串的平均长度为20字节。文本文件占用 2.8 MB。存放这些数据的 PostgreSQL 数据库文件大约是 6.4 MB:
32 字节: 每行的头(估计值) 24 字节: 一个整数型字段和一个文本型字段 + 4 字节: 页面内指向元组的指针 ---------------------------------------- 60 字节每行
PostgreSQL 数据页的大小是 8192 字节 (8 KB),则:
8192 字节每页 ------------------- = 136 行/数据页(向下取整) 60 字节每行
100000 数据行 -------------------- = 735 数据页(向上取整) 128 行每页
735 数据页 * 8192 字节/页 = 6,021,120 字节(6 MB)
索引不需要这么多的额外消耗,但也确实包括被索引的数据,因此它们也可能很大。
空值NULL存放在位图中,因此占用很少的空间。
10.为什么我的查询很慢?为什么这些查询没有利用索引?
并非每个查询都会自动使用索引。只有在表的大小超过一个最小值,并且查询只会选中表中较小比例的记录时才会采用索引。这是因为索引扫描引起的随即磁盘存取可能比直接地读取表(顺序扫描)更慢。
为了判断是否使用索引,PostgreSQL必须获得有关表的统计值。这些统计值可以使用 VACUUM ANALYZE,或 ANALYZE 获得。使用统计值,优化器知道表中有多少行,就能够更好地判断是否利用索引。统计值对确定优化的连接顺序和连接方法也很有用。在表的内容发生变化时,应定期进行统计值的更新收集。
索引通常不用于 ORDER BY 或执行连接。对一个大表的一次顺序扫描,再做一个显式的排序通常比索引扫描要快。
但是,在 LIMIT 和 ORDER BY 结合使用时经常会使用索引,因为这只会返回表的一小部分。 实际上,虽然 MAX() 和 MIN() 并不使用索引,通过对 ORDER BY 和 LLIMIT 使用索引取得最大值和最小值也是可以的:
SELECT col FROM tab ORDER BY col [ DESC ] LIMIT 1;
如果你确信PostgreSQL的优化器使用顺序扫描是不正确的,你可以使用SET enable_seqscan TO 'off'指令,然后再次运行查询,你就可以看出使用一个索引扫描是否确实要快一些。
当使用通配符操作,例如 LIKE 或 ~ 时,索引只能在特定的情况下使用:
字符串的开始部分必须是普通字符串,也就是说: LIKE 模式不能以 % 打头。 ~ (正则表达式)模式必须以 ^ 打头。 字符串不能以匹配多个字符的模式类打头,例如 [a-e]。 大小写无关的查找,如 ILIKE 和 ~* 等不使用索引,但可以用 4.8 节描述的函数索引。 在做 initdb 时必须采用缺省的本地设置 C locale,因为系统不可能知道在非C locale情况时下一个最大字符是什么。在这种情况下,你可以创建一个特殊的text_pattern_ops索引来用于LIKE的索引。 在8.0之前的版本中,除非要查询的数据类型和索引的数据类型相匹配,否则索引经常是未被用到,特别是对int2,int8和数值型的索引。
11.我怎样做正则表达式搜索和大小写无关的正则表达式查找?怎样利用索引进行大小写无关查找?
操作符 ~ 处理正则表达式匹配,而 ~* 处理大小写无关的正则表达式匹配。大写些无关的 LIKE 变种成为 ILIKE。
大小写无关的等式比较通常写做:
SELECT * FROM tab WHERE lower(col) = 'abc';
这样将不会使用标准的索引。但是可以创建一个可被利用的函数索引:
CREATE INDEX tabindex ON tab (lower(col));
12.在一个查询里,我怎样检测一个字段是否为 NULL ?我如何才能准确排序而不论某字段是否含 NULL 值?
用 IS NULL 和 IS NOT NULL 测试这个字段,具体方法如下:
SELECT * FROM tab WHERE col IS NULL;
为了能对含 NULL字段排序,可在 ORDER BY 条件中使用 IS NULL和 IS NOT NULL 修饰符,条件为真 true 将比条件为假false 排在前面,下面的例子就会将含 NULL 的记录排在结果的上面部分:
SELECT * FROM tab ORDER BY (col IS NOT NULL)
13.各种字符类型之间有什么不同?
类型 内部名称 说明 VARCHAR(n) varchar 指定了最大长度,变长字符串,不足定义长度的部分不补齐 CHAR(n) bpchar 定长字符串,实际数据不足定义长度时,以空格补齐 TEXT text 没有特别的上限限制(仅受行的最大长度限制) BYTEA bytea 变长字节序列(使用NULL也是允许的) "char" char 一个字符
在系统表和在一些错误信息里你将看到内部名称。
上面所列的前四种类型是"varlena"(变长)类型(也就是说,开头的四个字节是长度,后面才是数据)。于是实际占用的空间比声明的大小要多一些。然而这些类型都可以被压缩存储,也可以用 TOAST 脱机存储,因此磁盘空间也可能比预想的要少。
VARCHAR(n) 在存储限制了最大长度的变长字符串是最好的。 TEXT 适用于存储最大可达 1G左右但未定义限制长度的字符串。
CHAR(n) 最适合于存储长度相同的字符串。 CHAR(n)会根据所给定的字段长度以空格补足(不足的字段内容), 而 VARCHAR(n) 只存储所给定的数据内容。 BYTEA 用于存储二进制数据,尤其是包含 NULL 字节的值。这些类型具有相似的性能特性。
14.我如何获得一个插入的序列号的值?
一种方法是在插入之前先用函数 nextval() 从序列对象里检索出下一个 SERIAL 值,然后再显式插入。使用 4.11.1 里的例表,可用伪码这样描述:
new_id = execute("SELECT nextval('person_id_seq')"); execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");
这样还能在其他查询中使用存放在 new_id 里的新值(例如,作为 person 表的外键)。 注意自动创建的 SEQUENCE 对象的名称将会是
__seq, 这里 table 和 serialcolumn 分别是你的表的名称和你的 SERIAL 字段的名称。
类似的,在 SERIAL 对象缺省插入后你可以用函数 currval() 检索刚赋值的 SERIAL 值,例如:
execute("INSERT INTO person (name) VALUES ('Blaise Pascal')"); new_id = execute("SELECT currval('person_id_seq')");
15.使用 currval() 会导致和其他用户的冲突情况(race condition)吗?
不会。currval() 返回的是你本次会话进程所赋的值而不是所有用户的当前值。
16.为什么不在事务异常中止后重用序列号呢?为什么在序列号字段的取值中存在间断呢?
为了提高并发性,序列号在需要的时候赋予正在运行的事务,并且在事务结束之前不进行锁定,这就会导致异常中止的事务后,序列号会出现间隔。
17.什么是 OID ?什么是 CTID ?
PostgreSQL 里创建的每一行记录都会获得一个唯一的OID,除非在创建表时使用WITHOUT OIDS选项。 OID创建时会自动生成一个4字节的整数,所有 OID 在整个 PostgreSQL 中均是唯一的。 然而,它在超过40亿时将溢出, OID此后会出现重复。PostgreSQL 在它的内部系统表里使用 OID 在表之间建立联系。
在用户的数据表中,最好是使用SERIAl来代替OID 因为SERIAL只是保证在单个表中数据是唯一的,这样它溢出的可能性就非常小了, SERIAL8可用来保存8字节的序列号字段。
CTID 用于标识带着数据块(地址)和(块内)偏移的特定的物理行。 CTID 在记录被更改或重载后发生改变。索引入口使用它们指向物理行。
18.为什么我收到错误信息“ERROR: Memory exhausted in AllocSetAlloc()”?
这很可能是系统的虚拟内存用光了,或者内核对某些资源有较低的限制值。在启动 postmaster 之前试试下面的命令:
ulimit -d 262144 limit datasize 256m
取决于你用的 shell,上面命令只有一条能成功,但是它将把你的进程数据段限制设得比较高,因而也许能让查询完成。这条命令应用于当前进程,以及所有在这条命令运行后创建的子进程。如果你是在运行SQL客户端时因为后台返回了太多的数据而出现问题,请在运行客户端之前执行上述命令。
19.怎样进行 outer join (外连接)?
PostgreSQL 采用标准的 SQL 语法支持外连接。这里是两个例子:
SELECT * FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
或是
SELECT * FROM t1 LEFT OUTER JOIN t2 USING (col);
这两个等价的查询在 t1.col 和 t2.col 上做连接,并且返回 t1 中所有未连接的行(那些在 t2 中没有匹配的行)。 右[外]连接(RIGHT OUTER JOIN)将返回 t2 中未连接的行。 完全外连接(FULL OUTER JOIN)将返回 t1 和 t2 中未连接的行。 关键字 OUTER 在左[外]连接、右[外]连接和完全[外]连接中是可选的,普通连接被称为内连接(INNER JOIN)。
20.如何使用涉及多个数据库的查询?
没有办法查询当前数据库之外的数据库。 因为 PostgreSQL 要加载与数据库相关的系统目录(系统表),因此跨数据库的查询如何执行是不定的。
附加增值模块contrib/dblink允许采用函数调用实现跨库查询。当然用户也可以同时连接到不同的数据库执行查询然后在客户端合并结果。
21.如何让函数返回多行或多列?
在函数中返回数据记录集的功能是很容易使用的,详情参见:http://techdocs.postgresql.org/guides/SetReturningFunctions
22.为什么我在使用PL/PgSQL函数存取临时表时会收到错误信息“relation with OID ##### does not exist”?
PL/PgSQL会缓存函数的内容,由此带来的一个不好的副作用是若一个 PL/PgSQL 函数访问了一个临时表,然后该表被删除并重建了,则再次调用该函数将失败,因为缓存的函数内容仍然指向旧的临时表。解决的方法是在 PL/PgSQL 中用EXECUTE 对临时表进行访问。这样会保证查询在执行前总会被重新解析。
转载处:http://blog.csdn.net/windone0109/article/details/9091767
你可能感兴趣的:(postgresql,指令)
面试必问之JVM原理
teayear
面试 jvm 职场和发展
1:什么是JVMJVM是JavaVirtualMachine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以
jvm架构原理剖析篇
teayear
jvm 架构
简单题(5道)考查内容:JVM运行时数据区域题干:Java虚拟机栈的主要作用是?A.存储对象实例B.存储方法调用和局部变量C.存储静态字段D.存储字节码指令正确答案:B解析:虚拟机栈用于存储方法调用帧(包括局部变量表和操作数栈),对象实例存储在堆中,静态字段存储在方法区,字节码指令存储在方法区。考查内容:类加载机制题干:以下哪个不是类加载的阶段?A.加载B.验证C.编译D.初始化正确答案:C解析:
你以为的 () 只是函数调用?栈的战争:函数调用背后,编译器、链接器、CPU与黑客的四方博弈 解剖CPU、内存与安全交织的底层真相 了解函数调用的暗流:从C括号到CPU指令、栈帧攻防的生死时速
small_wh1te_coder
c++ c 算法 c语言 c++ c 算法 面试
作者:smallcodewhite更新:2025.6.4号下午6点13分小引子:在软件这行当里混久了,你会发现一个现象:很多人能用各种高级语言、框架写出复杂的业务,但一遇到诡异的崩溃、性能瓶颈,或者需要和底层硬件打交道时,就抓瞎了。究其原因,是对计算机体系最基础的运行模型理解得不够透。上一篇我们聊了点数据在内存里的存放问题,有兄弟说不够劲,没触及灵魂。说得好。今天,咱们就来干一件有挑战性的事:把C
匿名科创无人机学习心得
heng6868
嵌入式项目 物联网 网络 iot
*1.*飞控stm32串口5连接imu,串口五发送的指令会发送到imu中,如果是自定义的用户格式帧(比如:AAFFF103010101A067)会先到imu,imu的串口1接stm飞控。串口2接数传,从串口1接收到的数据会通过串口二发送给数传,数传传给另一个数传,在通过USB线传输给上位机。但是如果不是属于用户自定义的格式帧,imu会进行处理,比如飞控串口5一上电就会输出电池信息(如:AAFF0D
20个高级DeepSeek指令,帮助你提升200%工作效率,建议收藏!
资源客
DeepSeek指令
前两天我帮一个做产品的朋友优化了几个提示词,结果花2小时就完成了原本需要一整天的竞品分析报告。他当时就愣了,说:"我之前怎么没想到可以这样用?"其实DeepSeek最大的价值不是给你标准答案,而是成为你的思维伙伴。关键就在于你怎么"提问"。今天我把这段时间总结的20个高效提示词分享出来,都是我在实际工作中反复验证过的。如果你能熟练运用其中的5-6个,保证你的工作效率至少提升2倍。深度思考场景:让A
Vue-Vue 中 v-html 内容不换行?别忘了 white-space: pre-wrap
目录引言问题复现原因解析HTML中不会自动识别\n如何让换行符生效?正确解决方案拓展知识点:white-space的几种常见取值安全性提示:小心XSS攻击总结引言在开发Vue项目的过程中,我们经常会遇到需要将服务端返回的HTML字符串渲染到页面上的需求,最常用的方式就是通过v-html指令。但你是否遇到过这样的情况:文本中明明有\n换行符,页面上却完全没有换行,所有文字都被渲染成一行?本文将详细剖
深度解析:轻量级CLR/JIT即时编译系统设计与实现(一)
liulilittle
Markdown Extension C# c# clr jvm jit x86 汇编 编译器
深度解析:轻量级CLR/JIT即时编译系统设计与实现引用:liulilittle/SimpleClr️系统架构全景图核心组件指令调度器JIT编译器寄存器分配器X86机器码生成器分支回填器内存保护器内存管理器IL指令集可执行代码区委托调用器执行结果一、系统架构深度解析️1.1核心组件交互关系后端执行JIT引擎前端IL指令流编译请求机器码输出可执行内存执行结果接口实现委托调用builtins_x86.
无人机一机多控技术要点难点
云卓SKYDROID
无人机 人工智能 高科技 云卓科技 科普
一、运行方式1.核心架构:集中式控制(最常见):遥控器作为主控端,通过无线通信模块与多架无人机建立连接。遥控器运行核心控制逻辑,负责:接收操作员的输入指令(如整体移动、队形变换)。根据预设的编队逻辑或算法,将整体指令解算为每架无人机的个体指令(目标位置、速度、航向等)。通过通信链路同时或分时向所有或指定的无人机发送个体指令。接收所有无人机的状态信息(位置、速度、姿态、电池、传感器数据等),进行监控
2025年的前后端一体化CMS框架优选方案
skywalk8163
多媒体 web cms
以下是结合技术生态、开发效率和商业落地验证,整理的2025年前后端一体化CMS框架优选方案:一、主流成熟框架组合1.React+Node.js(Express/Next.js)前端:React生态成熟,配合Redux状态管理,适合复杂后台界面开发78。后端:Express轻量灵活,Next.js支持SSR优化SEO,无缝对接MongoDB/PostgreSQL810。案例:
利用已有的 PostgreSQL 和 ZooKeeper 服务,启动dolphinscheduler-standalone-server3.1.9 镜像
云游
大数据平台 zookeeper docker postgresql 工作流任务调度
ApacheDolphinScheduler是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。ApacheDolphinScheduler旨在解决复杂的大数据任务依赖关系,并为应用程序提供数据和各种OPS编排中的关系。解决数据研发ETL依赖错综复杂,无法监控任务健康状态的问题。DolphinSchedule
PostgreSQL连接池监控与优化:pg_stat_activity详解及连接阻塞排查指南
1.引言PostgreSQL是一款功能强大的开源关系型数据库,广泛应用于各类企业级应用。在高并发场景下,数据库连接池的管理和监控至关重要。如果连接池使用不当,可能会导致连接泄漏、阻塞甚至数据库崩溃。本文将详细介绍如何使用pg_stat_activity监控PostgreSQL连接状态,并针对连接卡住、阻塞等问题提供解决方案。2.使用pg_stat_activity监控连接状态pg_stat_act
PostgreSQL 的 WAL 与 Oracle 的 Redo Log 的全方面对比
喝醉酒的小白
DBA PG postgresql oracle 数据库
目录标题一、共同点(相同点)二、不同点三、在复制与高可用中的角色四、具体技术细节差异五、性能影响与优化点六、使用示例PostgreSQLWAL使用示例OracleRedo使用示例⚫总结对比表PostgreSQL的WAL(Write-AheadLogging)和Oracle的RedoLog是两个数据库系统在保证数据持久性与事务一致性方面的关键机制。尽管它们的核心思想类似,都是“先写日志,再写数据”,
postgresql|数据库|只读用户的创建和删除(备忘)
CREATEUSERread_onlyWITHPASSWORD'密码'--连接到xxx数据库\cxxx--授予对xxx数据库的只读权限GRANTCONNECTONDATABASExxxTOread_only;GRANTUSAGEONSCHEMApublicTOread_only;GRANTSELECTONALLTABLESINSCHEMApublicTOread_only;GRANTEXECUTE
Oracle DB和PostgreSQL,OpenGauss主外键一致性的区别
__风__
数据库 oracle postgresql
针对于unique索引在主外键上的表现,o和PG的行为确实不一致,测试样例:PG:测试1:test=#CREATETABLEgdb_editingtemplates(objectidINTEGERNOTNULL,globalidVARCHAR(38)DEFAULT'{00000000-0000-0000-0000-000000000000}'NOTNULL,typeSMALLINTNOTNULL,
modbus 学习笔记
手lu代码哥
stm32学习 modbus 嵌入式 stm32
modbus学习笔记学习资料链接modbus协议讲解及stm32实现视频讲解链接SSCOM串口助手下载链接RS485通信及MODBUS通信协议MCU作主机基于MODBUS协议读取温湿度传感器数据并显示OLED知识点记录一个寄存器两个字节0x0000~0x65535通信地址(ID号取值范围):1~247指定地址0的指令是广播指令,所有收到指令的从机设备都会运行,不过不回应指令当我们接受当前帧的数据包
git操作命令学习
骑单车的王小二
常用工具 git
目录基本操作指令参考、感谢将本地源码或一个git仓库源码提交到另一个git仓库使用git本地修改项目并同步修改到GitHub远程仓git删除远程分支本地关联/取消关联远程分支拉取远程指定分支、推送到远程指定分支删除commit垃圾记录更新远程分支基本操作指令项目拷贝:获取项目仓库地址URL(常见ssh://,http(s)://,git://),$gitcloneURL拷贝指定分支:gitclon
大数据分析技术的学习路径,不是绝对的,仅供参考
水云桐程序员
学习 大数据 数据分析 学习方法
阶段一:基础筑基(1-3个月)1.编程语言:Python:掌握基础语法、数据结构、流程控制、函数、面向对象编程、常用库(NumPy,Pandas)。SQL:精通SELECT语句(过滤、排序、分组、聚合、连接)、DDL/DML基础。理解关系型数据库概念(表、主键、外键、索引)。MySQL或PostgreSQL是很好的起点。Java/Scala:深入理解Hadoop/Spark等框架会更有优势。初学者
【华为od刷题(C++)】HJ17 坐标移动(continue语句、break语句)
m0_64866459
华为od c++ 开发语言
我的代码:#include//用于输入输出#include//用于处理字符串#include//用于存储动态数组usingnamespacestd;intmain(){strings;//用于存储输入的字符串cin>>s;//输入字符串intlen=s.size();//获取字符串的长度vectorstr;//用来存储从输入字符串中提取出的子字符串(每个指令部分)intx=0,y=0;//设置初始
Java基础:循环结构(while,do-while,for)及“鸡兔同笼”问题、计算阶乘
Y小树
Java学习 java 开发语言
目录while结构(次数不固定的循环优先选用)do-while结构(必须先执行后判断的循环优先使用)fori结构(次数固定的循环优先选用)1.鸡兔同笼问题2.计算阶乘循环结构是为了解决生活中重复发生的场景。循环结构由三个要素组成,分别为循环变量、循环体和循环终止条件。循环结构:也称为重复结构,程序中反复执行的一组指令或程序段循环体:被反复执行的程序段循环变量:用来控制循环是否继续进行的变量常见的循
程序环境和预处理
晚云与城
c语言
程序的翻译环境1.翻译环境:将源代码转为可执行的机器指令。程序的执行环境1.执行环境:用于实际执行代码。详解:C语言程序的编译+链接1.要了解的名词:源文件(c),目标文件(obj)编译器,链接器,链接库,可执行程序。2.源文件(可多个)——>编译器(每个源文件对应一个)——>目标文件——>链接器(将目标文件捆在一起)——>可执行程序。链接库——>链接器——>可执行程序。(会引入标准C函数库中任何
yolo11官方ONNXRuntime部署推理的脚本测试,包括检测模型和分割模型的部署推理
Revao
YOLO python
一、检测模型1.脚本路径:D:/ultralytics-main/examples/YOLOv8-ONNXRuntime/main.py2.使用案例下载好onnx模型保存至D:/ultralytics-main/models目录下,没有该目录则新建打开终端,进入虚拟环境以yolov8n.onnx模型为例,输入以下指令即可pythonD:/ultralytics-main/examples/YOLO
AI 加持下的智能家居行业:变革、挑战与机遇
低代码老李
人工智能 智能家居
在当今科技迅猛发展的浪潮中,人工智能(AI)已深深融入智能家居领域,成为推动其蓬勃发展的关键力量,为人们的生活带来了诸多便利和创新体验,同时也面临着一系列亟待解决的问题。一、AI驱动的智能家居功能升级(1)智能语音交互与控制智能语音助手作为智能家居的核心交互方式,借助自然语言处理(NLP)技术,让用户仅通过简单的语音指令,就能轻松操控家中各类智能设备,如精准控制灯光的开关与亮度调节、窗帘的开合、电
提示技术系列(六)——链式提示
AIGC包拥它
提示技术 人工智能 prompt python langchain
什么是提示技术?提示技术是实现提示工程目标的具体技术手段,是提示工程中的“工具库”。什么又是提示工程?提示工程是指通过设计、优化和迭代输入到大语言模型(LLM)的提示(Prompt),系统性提升模型输出质量(如相关性、准确性、可控性)的实践领域。它是一个覆盖全流程的方法论,包括:明确目标任务(如生成教学内容、问答、翻译);设计提示结构(如指令、上下文、示例);选择模型与参数(如温度、top_p);
【杂谈】- AlphaGenome:解锁基因组奥秘的强大AI引擎
视觉与物联智能
杂谈 人工智能 AI 深度学习 神经网络 AGI AIGC
AlphaGenome:解锁基因组奥秘的强大AI引擎文章目录AlphaGenome:解锁基因组奥秘的强大AI引擎1、解读遗传指令的挑战2、理解AlphaGenome3、突破背后的科学4、性能基准5、实际应用和研究影响6、当前的局限性和未来方向7、普及基因组AI8、展望未来9、总结人类DNA中蕴含着约30亿个遗传密码,构成了生命的神秘蓝图。然而,我们对于这本庞大“指令手册”中细胞运作方式的认知,却仅
【Spring Boot】HikariCP 连接池 YAML 配置详解
文章目录一、HikariCPYAML配置详解基础配置高级配置数据库特定配置MySQL优化配置PostgreSQL优化配置生产环境推荐配置配置说明与优化建议常见问题解决二、拓展1、什么是MySQL8小时问题问题本质解决方案1.调整MySQL配置(不推荐)2.优化连接池配置(推荐)HikariCP配置方案:Druid配置方案:3.最佳实践组合问题验证方法其他注意事项一、HikariCPYAML配置详解
STC51单片机音乐播放项目:从编码到实现
黄浴
本文还有配套的精品资源,点击获取简介:本教程介绍了如何使用STC51系列单片机演奏音乐,该单片机广泛应用于嵌入式系统设计中。教程详细阐述了音乐的数字信号生成原理,包括音乐编码、程序设计、定时器配置、PWM配置、中断服务、Proteus仿真以及硬件连接的步骤。通过这些步骤,将“生日快乐”等音乐编码转换为单片机指令,并通过调整定时器和PWM参数播放音乐旋律,实现音乐播放功能。1.音乐演奏基本原理音乐与
Python, C++开发社会工作人员学习手册APP
Geeker-2025
python c++
#社会工作人员学习手册APP设计方案##系统架构设计```移动端(Flutter/ReactNative)|RESTAPI/gRPC|Go核心服务(Gin/Echo)←───PythonAI服务(FastAPI)|(学习路径规划/智能问答)|Rust高性能模块(数据处理/安全)|PostgreSQL(知识库+用户数据)|Redis(缓存+实时协作)|MinIO(学习资源存储)```##技术分工与优
Python, Go 开发全国经济开发区政策查询与实操APP
以下是基于Python和Go开发的全国经济开发区政策查询与实操APP设计方案,结合最新政策动态与技术优势,助力企业精准把握政策红利:---###系统架构设计```移动端/Web端(Flutter/React)|RESTAPI/gRPC|Go核心服务(Gin/Echo)←───Python智能引擎(FastAPI)|(政策匹配/实操分析)PostgreSQL(政策库+企业画像)|Redis(实时缓存
网安系列【3】之深入理解内容安全策略(CSP)
缘友一世
网络安全 网络安全 web安全
文章目录一CSP(内容安全策略)二CSP基础:如何实现内容安全策略2.1主要实现方式2.2基本指令解析三简单到复杂:CSP策略示例3.1示例1:最基本的CSP策略3.2示例2:允许特定CDN资源3.3示例3:更复杂的策略四CSP进阶概念4.1非ce与哈希值4.2报告机制五CSP案例5.1案例1:防止XSS攻击5.2案例2:第三方集成5.3案例3:渐进式采用CSP六CSP的局限性七总结一CSP(内容
NVMe高速传输之摆脱XDMA设计11:性能监测单元设计
tiantianuser
NVME IP fpga开发 verilog 高速存储 NVMe PCIe
性能监测单元负责监测NVMeoverPCIe逻辑加速引擎的运行状态和统计信息,包括复位后运行时间信息、NVMe指令数量统计信息、数据操作数量统计信息、IOPS性能统计信息、指令延迟统计信息等。这些信息存储在性能监测单元中的性能监测寄存器组中,性能监测寄存器组定义如表1所示。表1性能监测寄存器组定义想进一步了解相关视频,请搜索B站用户:专注与守望链接:https://space.bilibili.c
ASM系列四 利用Method 组件动态注入方法逻辑
lijingyao8206
字节码技术 jvm AOP 动态代理 ASM
这篇继续结合例子来深入了解下Method组件动态变更方法字节码的实现。通过前面一篇,知道ClassVisitor 的visitMethod()方法可以返回一个MethodVisitor的实例。那么我们也基本可以知道,同ClassVisitor改变类成员一样,MethodVIsistor如果需要改变方法成员,注入逻辑,也可以
java编程思想 --内部类
百合不是茶
java 内部类 匿名内部类
内部类;了解外部类 并能与之通信 内部类写出来的代码更加整洁与优雅
1,内部类的创建 内部类是创建在类中的
package com.wj.InsideClass;
/*
* 内部类的创建
*/
public class CreateInsideClass {
public CreateInsideClass(
web.xml报错
crabdave
web.xml
web.xml报错
The content of element type "web-app" must match "(icon?,display-
name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,s
泛型类的自定义
麦田的设计者
java android 泛型
为什么要定义泛型类,当类中要操作的引用数据类型不确定的时候。
采用泛型类,完成扩展。
例如有一个学生类
Student{
Student(){
System.out.println("I'm a student.....");
}
}
有一个老师类
CSS清除浮动的4中方法
IT独行者
JavaScript UI css
清除浮动这个问题,做前端的应该再熟悉不过了,咱是个新人,所以还是记个笔记,做个积累,努力学习向大神靠近。CSS清除浮动的方法网上一搜,大概有N多种,用过几种,说下个人感受。
1、结尾处加空div标签 clear:both 1 2 3 4
.div
1
{
background
:
#000080
;
border
:
1px
s
Cygwin使用windows的jdk 配置方法
_wy_
jdk windows cygwin
1.[vim /etc/profile]
JAVA_HOME="/cgydrive/d/Java/jdk1.6.0_43" (windows下jdk路径为D:\Java\jdk1.6.0_43)
PATH="$JAVA_HOME/bin:${PATH}"
CLAS
linux下安装maven
无量
maven linux 安装
Linux下安装maven(转) 1.首先到Maven官网
下载安装文件,目前最新版本为3.0.3,下载文件为
apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令;
2.进入下载文件夹,找到下载的文件,运行如下命令解压
tar -xvf apache-maven-2.2.1-bin.tar.gz
解压后的文件夹
tomcat的https 配置,syslog-ng配置
aichenglong
tomcat http跳转到https syslong-ng配置 syslog配置
1) tomcat配置https,以及http自动跳转到https的配置
1)TOMCAT_HOME目录下生成密钥(keytool是jdk中的命令)
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit
关于领号活动总结
alafqq
活动
关于某彩票活动的总结
具体需求,每个用户进活动页面,领取一个号码,1000中的一个;
活动要求
1,随机性,一定要有随机性;
2,最少中奖概率,如果注数为3200注,则最多中4注
3,效率问题,(不能每个人来都产生一个随机数,这样效率不高);
4,支持断电(仍然从下一个开始),重启服务;(存数据库有点大材小用,因此不能存放在数据库)
解决方案
1,事先产生随机数1000个,并打
java数据结构 冒泡排序的遍历与排序
百合不是茶
java
java的冒泡排序是一种简单的排序规则
冒泡排序的原理:
比较两个相邻的数,首先将最大的排在第一个,第二次比较第二个 ,此后一样;
针对所有的元素重复以上的步骤,除了最后一个
例题;将int array[]
JS检查输入框输入的是否是数字的一种校验方法
bijian1013
js
如下是JS检查输入框输入的是否是数字的一种校验方法:
<form method=post target="_blank">
数字:<input type="text" name=num onkeypress="checkNum(this.form)"><br>
</form>
Test注解的两个属性:expected和timeout
bijian1013
java JUnit expected timeout
JUnit4:Test文档中的解释:
The Test annotation supports two optional parameters.
The first, expected, declares that a test method should throw an exception.
If it doesn't throw an exception or if it
[Gson二]继承关系的POJO的反序列化
bit1129
POJO
父类
package inheritance.test2;
import java.util.Map;
public class Model {
private String field1;
private String field2;
private Map<String, String> infoMap
【Spark八十四】Spark零碎知识点记录
bit1129
spark
1. ShuffleMapTask的shuffle数据在什么地方记录到MapOutputTracker中的
ShuffleMapTask的runTask方法负责写数据到shuffle map文件中。当任务执行完成成功,DAGScheduler会收到通知,在DAGScheduler的handleTaskCompletion方法中完成记录到MapOutputTracker中
WAS各种脚本作用大全
ronin47
WAS 脚本
http://www.ibm.com/developerworks/cn/websphere/library/samples/SampleScripts.html
无意中,在WAS官网上发现的各种脚本作用,感觉很有作用,先与各位分享一下
获取下载
这些示例 jacl 和 Jython 脚本可用于在 WebSphere Application Server 的不同版本中自
java-12.求 1+2+3+..n不能使用乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字以及条件判断语句
bylijinnan
switch
借鉴网上的思路,用java实现:
public class NoIfWhile {
/**
* @param args
*
* find x=1+2+3+....n
*/
public static void main(String[] args) {
int n=10;
int re=find(n);
System.o
Netty源码学习-ObjectEncoder和ObjectDecoder
bylijinnan
java netty
Netty中传递对象的思路很直观:
Netty中数据的传递是基于ChannelBuffer(也就是byte[]);
那把对象序列化为字节流,就可以在Netty中传递对象了
相应的从ChannelBuffer恢复对象,就是反序列化的过程
Netty已经封装好ObjectEncoder和ObjectDecoder
先看ObjectEncoder
ObjectEncoder是往外发送
spring 定时任务中cronExpression表达式含义
chicony
cronExpression
一个cron表达式有6个必选的元素和一个可选的元素,各个元素之间是以空格分隔的,从左至右,这些元素的含义如下表所示:
代表含义 是否必须 允许的取值范围 &nb
Nutz配置Jndi
ctrain
JNDI
1、使用JNDI获取指定资源:
var ioc = {
dao : {
type :"org.nutz.dao.impl.NutDao",
args : [ {jndi :"jdbc/dataSource"} ]
}
}
以上方法,仅需要在容器中配置好数据源,注入到NutDao即可.
解决 /bin/sh^M: bad interpreter: No such file or directory
daizj
shell
在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。
分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。
解决:
1)在windows下转换:
利用一些编辑器如UltraEdit或EditPlus等工具
[转]for 循环为何可恨?
dcj3sjt126com
程序员 读书
Java的闭包(Closure)特征最近成为了一个热门话题。 一些精英正在起草一份议案,要在Java将来的版本中加入闭包特征。 然而,提议中的闭包语法以及语言上的这种扩充受到了众多Java程序员的猛烈抨击。
不久前,出版过数十本编程书籍的大作家Elliotte Rusty Harold发表了对Java中闭包的价值的质疑。 尤其是他问道“for 循环为何可恨?”[http://ju
Android实用小技巧
dcj3sjt126com
android
1、去掉所有Activity界面的标题栏
修改AndroidManifest.xml 在application 标签中添加android:theme="@android:style/Theme.NoTitleBar"
2、去掉所有Activity界面的TitleBar 和StatusBar
修改AndroidManifes
Oracle 复习笔记之序列
eksliang
Oracle 序列 sequence Oracle sequence
转载请出自出处:http://eksliang.iteye.com/blog/2098859
1.序列的作用
序列是用于生成唯一、连续序号的对象
一般用序列来充当数据库表的主键值
2.创建序列语法如下:
create sequence s_emp
start with 1 --开始值
increment by 1 --増长值
maxval
有“品”的程序员
gongmeitao
工作
完美程序员的10种品质
完美程序员的每种品质都有一个范围,这个范围取决于具体的问题和背景。没有能解决所有问题的
完美程序员(至少在我们这个星球上),并且对于特定问题,完美程序员应该具有以下品质:
1. 才智非凡- 能够理解问题、能够用清晰可读的代码翻译并表达想法、善于分析并且逻辑思维能力强
(范围:用简单方式解决复杂问题)
使用KeleyiSQLHelper类进行分页查询
hvt
sql .net C# asp.net hovertree
本文适用于sql server单主键表或者视图进行分页查询,支持多字段排序。KeleyiSQLHelper类的最新代码请到http://hovertree.codeplex.com/SourceControl/latest下载整个解决方案源代码查看。或者直接在线查看类的代码:http://hovertree.codeplex.com/SourceControl/latest#HoverTree.D
SVG 教程 (三)圆形,椭圆,直线
天梯梦
svg
SVG <circle> SVG 圆形 - <circle>
<circle> 标签可用来创建一个圆:
下面是SVG代码:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" c
链表栈
luyulong
java 数据结构
public class Node {
private Object object;
private Node next;
public Node() {
this.next = null;
this.object = null;
}
public Object getObject() {
return object;
}
public
基础数据结构和算法十:2-3 search tree
sunwinner
Algorithm 2-3 search tree
Binary search tree works well for a wide variety of applications, but they have poor worst-case performance. Now we introduce a type of binary search tree where costs are guaranteed to be loga
spring配置定时任务
stunizhengjia
spring timer
最近因工作的需要,用到了spring的定时任务的功能,觉得spring还是很智能化的,只需要配置一下配置文件就可以了,在此记录一下,以便以后用到:
//------------------------定时任务调用的方法------------------------------
/**
* 存储过程定时器
*/
publi
ITeye 8月技术图书有奖试读获奖名单公布
ITeye管理员
活动
ITeye携手博文视点举办的8月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
8月试读活动回顾:
http://webmaster.iteye.com/blog/2102830
本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《跨终端Web》
gleams:http