SQL入门知识大纲

作者: 骘涅 | 来源:发表于2018-05-30 18:03 被阅读3次

    SQL

    •范式

         第一范式◾目标是确保每列的原子性。每列都是不可再分的最小数据单元 ◦

         第二范式◾目标是要求每个表值描述一件事情 ◦

          第三范式◾除了主键以外的其他列都不传递依赖于主键列

    •语句◦

         插入◾INSERT INTO 表名(列1,列2····)VALUES(值1,值2····) ◦

         删除◾DELETE FROM 表名 WHERE ◦

         修改◾UPDATE 表名 SET 列1=值1,列2=值2··· WHERE ◦

          查找◾SELECT 列1,列2···FROM 表名 WHERE ··· group by··· having····order by

                 ◾SELECT 列1,列2 FROM 表1 INNER JOIN 表2 ON···· ◦

    约束

         ◾加约束◾alter table 表名 //add constraint 约束名 约束类型 约束说明

         ◾删约束◾alter table 表名//drop constraint 约束名 ◦

         ◾system databases 新建的数据库,systemobjects 新建的数据表,sysindexs 索引

         ◾新数据库 if exists (select * from system databases where name='') //drop database/table 名 //create database 名 //on { //name = //size= //maxsize= //filegrowth= //filename= } //log on { // 同上

         ◾新表 列名 数据类型 是否为空 ◦

    循环

    ◾IF ELSE

         ◾IF(条件)//BEGIN//语句//END//ELSE//BEGIN//语句//END

    ◾WHILE

         ◾WHILE(条件)//BEGIN//语句//BREAK//END

    ◾CASE

         ◾CASE//WHILE 条件1 THEN 结果1//WHILE 条件2 THEN 结果2·············//END

     •列操作◦

         max(列),min(列),avg(列),sum(列),count(列)

    •完整性◦

         域完整性◾检查约束(CHECK_KEY),默认约束(DEFAULT),非空约束 ◦

         实体完整性◾主键约束(PRIMARY_KEY),唯一约束(UNIQUE),标识列 ◦

         引用完整性◾外键约束(FOREIGN) ◦

         自定义完整性◾触发器,存储过程,规则

    •数据类型转换◦

         convert(数据类型,变量) ◦

         cast(变量名 as 数据类型)

    •变量◦

         定义变量(局部)

              ◾Declare @变量名 数据类型 ◦赋值

              ◾Set/Select @变量名 = 值 ◦

         全局变量

              ◾@@ERROR 最后一个T-SQL错误的错误号

              ◾@@IDENTITY 最后一次插入的标识值

              ◾@@LANGUAGE 当前使用的语言的名称

              ◾@@MAX_CONNECTIONS 可以创建的同时连接的最大数目

              ◾@@ROWCOUNT 受上一个SQL语句影响的行数

              ◾@@SERVERNAME 本地服务器的名称

              ◾@@TRANSCOUNT 当前连接打开的事物数

              ◾@@VERSION SQL Server的版本信息

    •事务(TRANSACTION)◦

         作为单个逻辑工作单元执行的一系列操作。

         多个操作作为一个整体向系统提交,要么都执行,要么都不执行。

         事务是一个不可分割的工作逻辑单元 ◦

         ACID属性

              ◾原子性(Atomicity)事务是一个完整的操作,要么一起执行,要么一起不执行

              ◾一致性(Consistency)事务完成时,数据必须处于一致状态

              ◾隔离性(Isolation)并发事务之间彼此隔离,独立,不应以任何方式影响和依赖

              ◾永久性(Durability)事务完成后,它对数据库的修改被永久保持 ◦

         开始事务 BEGIN Transaction

         提交事务 Commit Transaction

         回滚(撤销)事务 Rollback Transaction ◦

         将隐性事务模式设置为打开 SET IMPLICIT_TRANSACTIONS ON

    •视图◦

         一个查询的名字,提高数据安全性,是一张虚拟表,不存放数据。

         将多个物理数据库抽象为一个逻辑数据库 ◦

         新建视图 Create View 名字 //AS(SELECT查询语句)

    •索引◦

         唯一索引(Unique不运行两行具有相同的索引值) ◦

         主键索引(是唯一索引的特殊类型) ◦

         聚集索引(clustered 一张表只允许有一个聚集索引。表中各行的物理顺序于键值的逻辑索引顺序相同)

         非聚集索引(nonclustered指定表的逻辑顺序) ◦

         创建索引

              ◾Create [Unique/clustered/nonclustered] Index 名字 on 表名(列)[with Fill factor = x]x表示填充因子:制定一个0-100的值,表示索引页填充的百分比 ◦

              注意事项◾查询时,避免*,只返回需要列;索引尽量小,字节数小的列上建立索引;包含索引列的表达式作为条件时应写在第一个;避免在order by子句中使用表达式;根据业务数据发送频率,定期重新生成或重新组织索引

    •存储过程◦

         预先存储好的SQL程序(操作语句,变量,逻辑控制语句);保存在数据库中;通过名称和参数执行,也可返回结果;存储过程嵌套最大32层 ◦

         系统存储过程

              ◾sp_databases 列出服务器上的所有数据库

              ◾sp_renamedb 更改数据库的名称

              ◾sp_tables 返回当前环境下可查询的对象的列表

              ◾sp_columns 返回某个列的信息

              ◾sp_hele 查看某个表的所有信息

              ◾sp_helpconstraint 查看某个表的约束

              ◾sp_helptext 显示默认值,未加密的存储过程,用户定义的存储过程,触发器或试图的实际文本

              ◾sp_helpindex 查看某个表的索引

              ◾sp_password 添加或修改登陆账户的密码 ◦

         调用

              ◾execute 过程名[参数] ◦

         创建

              ◾create proc[edure] 存储过程名 //@参数1 数据类型 = 默认值 output,···//As SQL语句//Go

    •触发器TRIGGER◦

         定义

              ◾一种特殊的存储过程,在对表进行更新删除插入自动执行,

              ◾也具备事务的功能;

              ◾能在多表之间执行特殊的业务规则

              ◾不能直接调用,常用于强制业务规则,高及约束 ◦

         创建

              ◾create Trigger 名 On 表名[with encryption]//For 触发器类型[Delete,Update,Insert]//As Sql语句//GO with encryption表示加密触发器定义的SQL文本

    •游标◦

         是一种能从包括多条数据记录的结果集中每次提取一条的机制; 可以用来存放在数据库表中的数据行副本,可以指向存储在数据库中的数据行的指针; ◦

         常见用途,保存查询结果 ◦fetch next from 游标名 into//Set nocount ON/OFF

    相关文章

      网友评论

        本文标题:SQL入门知识大纲

        本文链接:https://www.haomeiwen.com/subject/pszzpxtx.html