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

数据库PostrageSQL-高级特性

高级特性 3.1. 简介 在之前的章节里我们已经涉及了使用SQL在PostgreSQL中存储和访问数据的基础知识。...现在我们将要讨论SQL中一些更高级的特性,这些特性有助于简化管理和防止数据丢失或损坏。 最后,我们还将介绍一些PostgreSQL扩展。...正确使用外键无疑会提高数据库应用的质量,因此强烈建议用户学会如何使用它们。 3.4. 事务 事务是所有数据库系统的基础概念。...步骤之间的中间状态对于其他并发事务是不可见的,并且如果有某些错误发生导致事务不能完成,则其中任何一个步骤都不会对数据库造成影响。 例如,考虑一个保存着多个客户账户余额和支行总存款额的银行数据库。...继承 继承是面向对象数据库中的概念。它展示了数据库设计的新的可能性。让我们创建两个表:表cities和表capitals。

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

数据库 SQL 高级用法(二)

今天是日更的 43/365 天 大家好,我是阿常,今天我和大家分享——数据库SQL高级用法的第二个章节。...请注意,在不同数据库中, BETWEEN 操作符会产生不同的结果。...在某些数据库中,BETWEEN 选取介于两个值之间但不包括两个值的字段; 在某些数据库中,BETWEEN 选取介于两个值之间且包括两个值的字段; 在某些数据库中,BETWEEN 选取介于两个值之间且包括第一个值但不包括第二个值的字段...现在来检查一下你的数据库是如何处理 BETWEEN 操作符的吧。 三、SQL 别名 通过使用 SQL,可以为 表名称 或 列名称 指定别名。 创建别名是为了让 表名称 或 列名称 的可读性更强。...请注意,下面这几种情况使用别名很有用: 1)在查询中涉及超过了一张表 2)在查询中使用到了函数 3)列名称很长或者可读性较差 4)需要把两个列或者多个列结合在一起 至此,数据库SQL高级用法的第二章节就讲完啦

69510

MySQL数据库高级使用

: 1、数据库 - 1 2、数据库 - 2 ---- 将查询结果插入到其它表中 1、思考 目前只有一个goods表,我们想要增加一个商品分类信息,比如:移动设备这个分类信息,只通过goods表无法完成商品分类的添加...,像这样使用代码的方式操作数据库就称为数据库编程。...# 3、user:用户名 # 4、password:密码 # 5、database:操作的数据库 # 6、charset:操作数据库的使用编码格式 conn =...# 3、user:用户名 # 4、password:密码 # 5、database:操作的数据库 # 6、charset:操作数据库的使用编码格式 conn =...隔离性: 强调数据库中事务之间相互不可见 持久性: 强调数据库能永久保存数据,一旦提交就不可撤销 MySQL数据库默认采用自动提交(autocommit)模式, 也就是说修改数据(insert、update

1.7K10

python数据库-MySQL数据库高级查询操作(51)

但是在成绩表中查找的时候,需要从省标中查到张三的学号(stu_id)和从学科表中查到语文学科(sub_id)的编号,这个时候这三张表就发生了关系,这也就是关系型数据库的精髓,而根据这种表与表之间的关系也会衍生出很多的查询的高级操作...--------+   一般情况我们看到这张表我们第一时间用语句进行操作: select * from Score where stu_score>90;   可想而知,这是有多么简单,假设你并不知道数据库中张三的成绩是...作为一个数据库管理员,我们就要用别的方式迅速找出所需要的数据。...,即使数据库出现故障 要求:表的类型必须是innodb或bdb类型,才可以对此表使用事务 查看表的创建语句 show create table Stu_score; 修改表的类型:alter table...回滚rollback;   在begin;后面写我们要操作的SQL语句组合也就是我们所谓的要执行的事物,但是这个时候写好的SQL语句就算我们回车之后,也不会执行,知道commit;执行之后才会被执行到数据库

3K20

MySQL数据库高级篇之储存过程

MySQL 5.0终于开始已经支持存储过程,它是数据库中最重要的功能, 目的:将常用或复杂的工作预先用 SQL 语句写好并用一个指定名称存储起来,这个过程经编译和优化后存储在数据库服务器中,因此称为存储过程...优势 封装性 存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的 SQL 语句,并且数据库专业人员可以随时对存储过程进行修改,而不会影响到调用它的应用程序源代码。...提高数据库的安全性和数据的完整性 使用存储过程可以完成所有数据库操作,并且可以通过编程的方式控制数据库信息访问的权限。...x,y FROM test.t1 LIMIT 1; 调用储存过程 CALL 储存过程名(带入的参数) 查看储存过程 -- 查看储存过程状态 SHOW PROCEDURE STATUS; -- 查看某一数据库的存储过程状态...SHOW PROCEDURE STATUS WHERE DB = '数据库名'; -- 查看储存过程的创建代码 SHOW CREATE PROCEDURE 储存过程名; 修改储存过程 ALTER PROCEDURE

1.6K10

Greenplum数据库使用总结(干货满满)--高级使用

9 Greenplum高级使用 9.1 常用查询语句 9.1.1 查看表的数据分布情况 stagging=# select gp_segment_id,count(1) from tablename...:Greenplum加载数据常见错误及解决方法 9.1.3 查看表的大小 select pg_size_pretty(pg_relation_size('tablename')); 9.1.4 查看数据库的占用大小...rqpdatname : 当前数据库的名字 rqpusename : 当前用户的名字 rqpsession : 当前session的ID rqpcommand : 当前的命令 rqppriority :...9.1.13 修改某个数据库为制度状态 alter database mp_mvt set default_transaction_read_only= on ; 9.1.14 查看集群中那些节点挂了...cost: 数据库自定义的消耗单位,通过统计信息来估计SQL消耗。(查询分析是根据analyze的固执生成的,生成之后按照这个查询计划执行,执行过程中analyze是不会变的。

3.5K20

SQL Server数据库高级进阶之锁实战演练

一、SQL Server锁的本质 锁的定义:锁主要用于多用户环境下,保证数据库完整性和一致性的技术。 锁的解释:当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。...SQL Server数据库高级进阶之锁实战演练 三、认识SQL Server数据库锁 1)、共享锁 (S) 共享锁 (S) (Shared (S) Locks) 用于不更改或不更新数据的操作(只读操作...六、如何预防死锁 首先要理解,在多并发的环境中死锁是不可避免的,只能通过合理的数据库设计、良好的索引、适当的查询语句以及隔离等级等措施尽量减少死锁。...即为数据增加一个 版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表添加一个”version" 字段来实现读取出数据时,将此版本号同读出,之后更新时,对此版本号加1。...此时,将提交数据的版本号与数据库表对应记录的当前版本号进行比对,如果提交的数据版本号大于数据库当前版本号,则予以更新,否则认为是过期数据。

56280

MySQL数据库:第十六章:sql高级函数

DATE_FORMAT(birthday, '00-%m-%d')) AS age from employee 五、加密函数 AES_ENCRYPT(str,key)  返回用密钥key对字符串str利用高级加密标准算法加密后的结果...,调用AES_ENCRYPT的结果是一个二进制字符串,以BLOB类型存储 AES_DECRYPT(str,key)  返回用密钥key对字符串str利用高级加密标准算法解密后的结果 DECODE(str...MD5('123456'); SELECT SHA('123456'); 六、控制流函数 MySQL有4个函数是用来进行条件操作的,这些函数可以实现SQL的条件逻辑,允许开发者将一些应用程序业务逻辑转换到数据库后台...SIGNED INTEGER),CURDATE()+0; SELECT 'f'=BINARY 'F','f'=CAST('F' AS BINARY); 九、系统信息函数 DATABASE()   返回当前数据库

61730

SQL Server数据库高级进阶之锁实战演练

一、SQL Server锁的本质 锁的定义:锁主要用于多用户环境下,保证数据库完整性和一致性的技术。 锁的解释:当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。...SQL Server数据库高级进阶之锁实战演练 三、认识SQL Server数据库锁 1)、共享锁 (S)  共享锁 (S) (Shared (S) Locks) 用于不更改或不更新数据的操作(只读操作...六、如何预防死锁  首先要理解,在多并发的环境中死锁是不可避免的,只能通过合理的数据库设计、良好的索引、适当的查询语句以及隔离等级等措施尽量减少死锁。  ...即为数据增加一个 版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表添加一个”version" 字段来实现读取出数据时,将此版本号同读出,之后更新时,对此版本号加1。...此时,将提交数据的版本号与数据库表对应记录的当前版本号进行比对,如果提交的数据版本号大于数据库当前版本号,则予以更新,否则认为是过期数据。

98940

高级语言,高级在哪?

高级语言、低级语言,都是对计算机而言。人类语言不存在这种说法。 在上篇文章(一分钟认识你的电脑)中,柚子向大家介绍了内存。 内存的最小单位是bit,二进制表示,并且大量、有序的排在一起。...汇编语言直接对硬件进行操作,特别适合编写硬件操作部分的代码,相比高级语言,有更高的执行效率。 再后来,程序员们就发明了更符合人类语言习惯,并且脱离了直接对硬件操作的语言,就是所谓的高级语言。...Basic、Pascal、C/C++、java、python、C#等,都是高级语言。我们今后的课程,先从C语言开始。 高级语言逻辑性更强、易学习、易掌握。...高级语言通过编译器(翻译功能)将程序编译成机器码。 现在比较主流的编译器是微软公司出品的Visual Studio系列,柚子从大学开始一直用这个系列,现在用的是Visual Studio2013。

1.8K100

SQL Server数据库高级进阶之事务实战演练

每执行一条DML操作,就直接提交到数据库保存。...每个RMDB关系型数据库的事务默认隔离级别是不一样的。...• 持久性(Durability) 持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响。...write-ahead transaction log的意思是,事务中对数据库的改变在写入到数据库之前,首先写入到事务日志中。而事务日志是按照顺序排号的(LSN)。...当数据库崩溃或者服务器断点时,重启动SQL SERVER,SQL SERVER首先会检查日志顺序号,将本应对数据库做更改而未做的部分持久化到数据库,从而保证了持久性.。

39030

SQL Server数据库高级进阶之事务实战演练

每执行一条DML操作,就直接提交到数据库保存。...每个RMDB关系型数据库的事务默认隔离级别是不一样的。...•  持久性(Durability) 持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响。...write-ahead transaction log的意思是,事务中对数据库的改变在写入到数据库之前,首先写入到事务日志中。而事务日志是按照顺序排号的(LSN)。...当数据库崩溃或者服务器断点时,重启动SQL SERVER,SQL SERVER首先会检查日志顺序号,将本应对数据库做更改而未做的部分持久化到数据库,从而保证了持久性.。

57420

用好cBioportal数据库(一个高级点的例子)

生信论文的套路 ONCOMINE从全景、亚型两个维度做表达差异分析; 临床标本从蛋白水平确认(或HPA数据库),很重要; Kaplan-Meier Plotter从临床意义的角度阐明其重要性; cBio-portal...数据库做基因组学的分析(机制一); STRING互作和GO/KEGG分析探讨可能的信号通路(机制二); TISIDB/TIMER分析肿瘤免疫特征(机制三)。...在芒果学习的生信论文中,第28篇生信文章是cBioPortal数据库使用最多,也是用的最好的。...在生信研究中,甲基化用UALCAN数据库,基因突变可以用cBioPortal数据库。本文提供很好的示范。 ? 探索机制时,用UALCAN数据库分析启动子区域的甲基化变化情况。...补充数据中,作者用cBioPortal数据库对ACE2的基因组学进行深入分析,从突变,融合,扩增和删除等角度分析组学变化,图文并茂。 ? ?

1.5K10
领券