SQL之高级特性

--SQL 事务管理
事务开始语句;(BEGIN TRANSACTION)
    DML语句1;(INSERT/UPDATE/DELETE)
    DML语句2;
    DML语句3;...
事务结束语句;(COMMIT/ROLLBACK)
注意:
1.COMMIT:提交:将SQL语句的执行结果写入数据表中
2.ROLLBACK:回滚:撤销SQL语句的执行结果,CREATE/DROP不可以回滚
3.保留点:时间点的备份,可以对其发布回退,即ROLLBACK TO <回退点>

--SQL高级特性 对字段的约束
主键:PRIMARY KEY
作用:确保数据的唯一性
具体特征:每行都有(NOT NULL);行的唯一标识;不能修改;删除后不再分配

CREATE TABLE <表名> ( <列名> <数据类型> NOT NULL PRIMARY KEY);

ALTER TABLE <表名>
ADD CONSTAINT PRIMARY KEY (<列名>);

外键 FOREIGN KEY
作用 确保引用完整
具体特征:该表与其他表的关联,一定是其它表的主键

CREATE TABLE <表名> ( <列名> <数据类型> NOT NULL REFERRENCES KEY <关联表名> ( <关联列名> ) );

ALTER TABLE <表名>
ADD CONSTAINT FOREIGN KEY (<列名>) REFERRENCES <关联表名> ( <关联列名> ) );

--SQL高级特性 索引
建立索引 INDEX
CREATE INDEX <索引名> ON <表名> <列名>;
索引本质上是一种排序,在某列上建立索引,即对该列进行排序,可以定义多列,实现组合排序。
用于快速排序,快速定位
注意:
1.要求数据的唯一性较好
2.索引提高查询,排序速度,适用于过滤或者排序较多的字段
3.数据进行 增删改 的操作时,索引就会有变化,需要重新更新索引,效率降低,不介意使用
4.占用大量内存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL Server是一种关系型数据库管理系统,它提供了丰富的高级数据查询功能。以下是SQL Server高级数据查询的一些重要特性和技术: 1. 子查询:子查询是嵌套在主查询中的查询语句,可以用来获取更复杂的查询结果。子查询可以用在SELECT、FROM、WHERE等子句中,用于过滤、排序、聚合等操作。 2. 联接:联接是将两个或多个表中的数据按照某种关系进行合并的操作。SQL Server支持多种联接类型,如内联接、外联接、交叉联接等。联接可以通过共享列值将相关数据连接在一起。 3. 窗口函数:窗口函数是一种在查询结果集上执行计算的函数。它可以在不改变查询结果的情况下,对结果集中的行进行排序、分组、聚合等操作。常见的窗口函数包括ROW_NUMBER、RANK、DENSE_RANK、SUM、AVG等。 4. 分组和聚合:SQL Server提供了GROUP BY子句和聚合函数,用于对数据进行分组和计算汇总值。通过GROUP BY子句可以将数据按照指定的列进行分组,然后使用聚合函数如SUM、AVG、COUNT等计算每个组的汇总值。 5. 存储过程和函数:SQL Server支持存储过程和函数的创建和调用。存储过程是一组预定义的SQL语句,可以接受参数并返回结果。函数是一段可重用的SQL代码,可以接受参数并返回一个值。 6. 索引和优化:SQL Server提供了索引来提高查询性能。索引可以加速数据的检索和排序操作。此外,SQL Server还提供了查询优化器,它可以根据查询的复杂度和数据分布情况选择最优的执行计划。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值