首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    数据库系统概念学习笔记

    /* 插入数据 */ insert into course values('CS-437', 'Database Systems', 'Comp.Sci...from /* 创建角色 */ create role instructor; 字符串 %:匹配任意字符串 _:匹配一个字符 ||:串联 trim():去掉后面的空格 upper()、lower...intersect except (select course_id from section where year = 2009) union (select course_id from section...where semester = 'Spring') 去并集,会自动去重(union all 不去重) 空值 涉及空值的比较,返回 unknown 判断空值用 is null,不能用 = null...求候选码: 只在右边的一定不属于候选码, 只在左边的一定包含于候选码, 不在函数依赖集中出现的一定包含于候选码, 其它属性与2,3的属性的组合中(必须包含2,3的属性),闭包等于全集 U 的为候选码

    51710

    PostgreSQL数据的存储基础知识

    这些例程可以接受并显示系统对象的符号名,而不是类型oid使用的原始数字值。别名类型使查找对象的OID值变得简单。...cmin:插入该元组的命令在插入事务中的命令标识(从0开始累加) cmax:删除该元组的命令在插入事务中的命令标识(从0开始累加) cmin和cmax用于判断同一个事务内的其他命令导致的行版本变更是否可见...由于 OID 是系统表的隐藏列,因此查看系统表中数据库对象的OID时,必须在SELECT语句中显式指定。...postgres 数据库相关的数据存储在 PGDATA/base/13635 目录里面。...pd_lower,pd_upper:pd_lower指向行指针(line pointer)的尾部,pd_upper指向最后那个元组。 pd_special: 索引页面中使用,它指向特殊空间的开头。

    2.4K60

    如何管理SQL数据库

    请注意,value应该是指定column的值和要查询的行: SELECT * FROM table WHERE column = value; 使用比较运算符 WHERE子句中的比较运算符定义应如何将指定列与值进行比较...请注意,AVG函数仅适用于包含数值的列; 当在包含字符串值的列上使用时,它可能会返回错误或0: SELECT AVG(column) FROM table; 查找列中的值的总和 SUM函数用于查找列中保存的所有数值的总和...: SELECT SUM(column) FROM table; 与AVG函数一样,如果在包含字符串值的列上运行SUM函数,它可能会返回错误或只是0,这取决于您的RDBMS。..._2.common_column; 将多个SELECT语句与UNION子句组合使用 UNION运算符用于两个(或更多个)SELECT语句的结果成单个结果集是很有用的: SELECT column_1 FROM...table UNION SELECT column_2 FROM table; 此外,UNION子句可以将查询不同表的两个(或更多)SELECT语句组合到同一个结果集中: SELECT column

    5.5K95

    sql学习

    ,如果需要有条件的从表中选取数据,可将where子句添加到select语句中 语法:SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 可在where子句中使用的运算符: 操作符 描述...SQL LIKE操作符 LIKE用于在WHERE子句中搜素列中的指定模式 语法: SELECT column_name(s) FROM table_name WHERE column_name...charlist] 不在字符列中的任何单一字符 SQL IN操作符 IN操作符允许我们在WHERE子句中规定多个值。....column_name SQL UNION和UNION ALL操作符 UNION用于合并两个或多个SELECT语句的结果集。...DEFAULT 用于向列中插入默认值,如果没有规定其他的值,就添加默认值。 SQL CREATE INDEX语句 用于在表中创建索引,在不读取整个表的情况下,使用索引可以更快的查找数据。

    4.7K30

    推荐学Java——数据表高级操作

    LOWER():转小写字母 select lower(列名) from 表名; // 也可以带表名 select lower(列名) as l_Name from 表名; UPPER():转大写字母 LENGTH...select语句中嵌套select语句,那么被嵌套的select语句称为子查询。 子查询出现位置 select ...(select) from ......SQL语句: select e.ename,e.sal from emp e where e.sal > (select min(sal) from emp); from 子句中的子查询 from子句中的子查询结果可以当做一张临时表来使用...e.job ='Java全栈工程师'; 就这个需求而言,SQL查询可以用之前学的 or 或者 in(值1,值2) 都可以实现结果,但在多表链接查询时 union 效率更高。...union注意事项: 在进行结果集合并的时候,要求结果集的列数相同 limit用法(必须掌握) 将查询结果集的一部分取出来,通常多用于分页查询中。

    1K10

    《Postgresql 内幕探索》读书笔记 - 第一章:集簇、表空间、元组

    数据库对象和对象符号标识 base 目录一个文件对应一个数据库,个人实验的映射如下:1:template1 14485:template0 14486:postgres 数据库和堆表的OIDs分别存储在...,postgres=CTc/postgres} (3 rows) 数据库的OIDs 堆表的OIDs select relname,oid from pg_class; postgres=# select...t_user" OWNER TO "postgres"; 设置字段随机值: select substr( 'abcdefghijklmnopqrstuvwxyz', 1, ( random( ) *...SELECT lpad( ( random( ) * 1 ) :: INT :: text, 1, '0' ); 使用explain插入数据: EXPLAIN ANALYZE INSERT INTO...写入方式 从上面的步骤可以看到,写入方式比较好理解,就是在行指针后面插入新的数据,以及在末端元组加入新数据,之后更新指针引用以及更新头部信息即可。

    83310

    《Postgresql 内幕探索》读书笔记 - 第一章:集簇、表空间、元组

    t_user" OWNER TO "postgres";设置字段随机值:select substr( 'abcdefghijklmnopqrstuvwxyz', 1, ( random( ) * 26...SELECT lpad( ( random( ) * 1 ) :: INT :: text, 1, '0' );使用explain插入数据:EXPLAIN ANALYZE INSERT INTO t_user...- pd_checksum:校验和,在 9.3 版本之前存储时间线标识。- pd_lower,pd_upper:分别代表行指针的末尾和最新堆元组的起始位置。...* 在某些情况下,行指针是 "使用中"z状态,但在页面上没有任何相关的存储。 * 根据惯例,在每一个没有存储空间的行指针中,lp_len == 0。...图片从上面的步骤可以看到,写入方式比较好理解,就是在行指针后面插入新的数据,以及在末端元组加入新数据,之后更新指针引用以及更新头部信息即可。

    60640

    PostgreSQL中NULL的意义

    PostgreSQL中NULL的意义 PG中,NULL可以表示空numeric值;不能进行数学操作符计算,NULL参与的结果都是NULL。 1、NULL是什么 首先需要理解NULL值是什么。...因不同语言处理方式不同,所以NULL值经常引起一些混淆。在详细介绍之前,还需要了解三值逻辑和二值逻辑概念。二值是布尔值的概念,要么真,要么假。但三值逻辑可以真,也可以为假,还可以是中间值(未知)。...某些语言中,NULL充当二值逻辑,而其他语言中则可能充当三值逻辑(尤其是数据库中)。 1)C/C++中 在C/C++语言中,NULL定义为0。可以使用等值运算符“==”或者“!...== NULL) printf("NULL is 0 \n");} 上述程序的输出将是“NULL is 0”,所以很明显NULL在C语言中被定义为“0” 2)Java 与C/C++...对于 Bob,我们插入了 0,对于 Davis,我们插入了 NULL。通过这样做,我们可以轻松区分谁有 0 分,谁还没有结果。

    2.2K20

    PG 14新特性汇总

    需要注意,如果从其他表扫数据插入本表,例如CREATE TABLE …AS…或者INSERT INTO…SELECT…,插入的数据使用的压缩算法仍然使用原始数据的压缩方法。...添加对亚美尼亚语、巴斯克语、加泰罗尼亚语、印地语、塞尔维亚语和意第绪语词干的支持 允许tsearch数据文件有无限的行长度(Tom Lane),之前的限制是4K字节。...允许BRIN索引在每个范围内记录多个最小值/最大值 ,如果每个页面范围中都有一组值的时候非常有用。允许更加有效地处理异常值。...,使用带有结果缓存的参数化嵌套循环的好处会增加 7) FDW API 和 postgres_fdw 已扩展为允许批量插入外部表:如果FDW支持批量,并且请求了批量,那么累积行并以批量形式插入,否则每次插入一行...QUERY: SELECT lower(unaccent(t)) CONTEXT: SQL function "mangle" during inlining 在我们的示例中,我们可以通过在函数调用中使用

    890100

    MySql数据库优化细节

    另外一个提高效率的方法是在可能的情况下,应该尽量把字段设置为NOT NULL,这样在将来执行查询的时候,数据库不用去比较NULL值。...使用 UNION来创建查询的时候,我们只需要用 UNION作为关键字把多个 SELECT语句连接起来就可以了,要注意的是所有 SELECT语句中的字段数目要想同。...不用以下操作 显示或隐式的类型转换 比如 SELECT id FROM table WHERE id='1' 再如在WHERE子句中numeric 型和int型的列相比较就属于隐式转换 使用非同类型的列进行等值查询...在WHERE子句中的"="左边表达式进行函数、算术运算或其他表达式运算 使用前缀为%的LIKE 使用负向查询,如NOT, !...EXISTS代替IN,EXISTS在一些场景查询会比IN快 用UNION ALL代替UNION 使用EXISTS来判断记录是否存在,而不使用SELECT COUNT(1)来判断记录是否存在

    1.4K20
    领券