SQL语言_1 SQL和T-SQL基础

                                  SQL语言_SQL和T-SQL基础

                                                                                                                              作者:田超凡

版权所有,转载请注明原作者,仿冒侵权必究法律责任

1.表的基本概念

数据库中的表用来根据不同需求和实际需要分门别类存储数据,数据库中的数据都存放在不同类型的表中,因此可以说表是数据库的一个重要组成部分。

2.数据完整性的概念,以及SQL Server为保证数据完整性提供的4种类型的约束的作用、区别、联系

数据完整性:数据完整性指的是数据库中数据的准确性。

为保证数据完整性,SQL Server提供了以下4种类型的约束:

(1)实体完整性约束

作用:确保同一个表中不能存在相同的数据行。

实施方式:主键约束、非空约束、标识列

(2)域完整性约束

作用:确保给定列输入值的有效性。

实施方式:检查约束、外键约束、默认约束、唯一约束

(3)引用完整性约束

作用:保持表之间已建立的关系。

实施方式:外键约束

(4)自定义完整性约束

作用:通过用户自定义完整性定义特定规则。

实施方式:自定义。

3.SQL Server中的基本数据类型

二进制数据类型:binary/varbinary/image

字符数据类型:

char/varchar(非Unicode字符)

nchar/nvarchar(Unicode字符)

长度区别:char/nchar固定长度,varchar/nvarchar长度可变

text长文本 ntext可变长度的长文本

日期时间类型:datetime/smalldatetime/date

数值数据类型(包括整数、小数和分数):

整数:int/bigint/smallint/tinyint

小数:float/real

货币数据类型:money

布尔数据类型(1是0否,实际返回true/false):bit

 

4.表的结构以及主外键相关定义、如何建立表间关系(实施引用完整性)

表的结构:列是否为空IS NULL/NOT NULL 是否有默认值DEFAULT,是否是标识列IDENTITY(标识种子,标识增量),是否是主键PRIMARY KEY

是否为空:是否允许列中插入空值

默认值:不显式在某列插入数据时,该列默认插入的数据

标识列:自动编号,不能输入数据,数据类型必须是整数型,可以设置为主键,实施实体完整性

主键:主键用来唯一标识表中的每一列,强制实体完整性,一个表只能有一个主键。

复合主键:当需要将两列或两列以上的列设置为一个主键时,则该主键也叫复合主键。

外键:用来建立引用关系,确保从表中的某个数据项在主表中必须存在,强制引用完整性,一个表可以有多个外键,外键中的数据和主键中的数据相对应,添加外键约束前必须先添加外键对应的主键(主键约束)

 

※通过学习本章,你需要掌握并熟练运用的知识:

1.SQL语言的定义、作用?

2.T-SQL和SQL间的关系?

3.SQL语言的组成?

4.SQL语言中的运算符?

5.T-SQL插入数据的语法?(一次插入一行/一次插入多行)

6.T-SQL插入标识列的语法?

7.T-SQL更新(修改)数据的语法?

8.T-SQL删除数据的语法?(删除部分记录/删除表中所有数据)

9.TRUNCATE TABLE使用中的一些注意事项?

10.T-SQL语言执行增、删、改的一些注意事项

 

※对照下面的一些自我总结看看是否掌握了本章知识

1.

定义:SQL语言是结构化查询语言(struct query language),通过使用SQL语言,可以使用代码代替使用鼠标对数据库中的一些常用操作,SQL语言甚至可以通过ADO.NET搭建数据库和应用程序之间的桥梁。SQL语言相对于界面操作而言,操作方式更加灵活,执行速度更快,执行效率更高,可以满足更多的实际需求,SQL语言是当今程序员必须掌握的一个对于操作数据库而言的基本技能。

作用:数据库需要一套指令集,能够识别指令,执行相应操作,并向程序提供数据。目前标准的指令集就是SQL语言。

2.

T-SQL:SQL Server使用的ANSI SQL的一个扩展集,依赖于SQL语言,T-SQL只能在SQL Server数据库中使用,使用范围相对单一。

SQL语言:数据库通用的结构化查询语言,适用范围相对较广,可以在当今主流的几乎任意一种数据库中使用,方便程序员对数据库进行操作。

关系:

作用域不同:SQL语言可以在当今主流的几乎所有数据库中使用,T-SQL只能在SQL Server数据库中使用。

依赖关系:T-SQL依赖于SQL语言

3.

SQL语言主要由以下几个部分组成:

DML 数据操作语言

DDL 数据定义语言

DQL 数据查询语言

DCL 数据控制语言

4.

SQL语言中的运算符主要由以下几种类型:

算术运算符:进行常见的加减乘除取模运算

赋值运算符:可以给变量赋值,一般在更新(修改)数据中用的比较多,用来给某列赋修改后的值。

比较运算符:进行常见的大小关系比较,主要运用于建立检查约束(CHECK)和作为分支结构控制语句(如IF-ELSE、CASE-END) 的判断条件

逻辑运算符:AND/OR/NOT用来对条件进行判断,返回布尔类型(true/false)

5.

T-SQL一次插入一行数据:

INSERT  [INTO]  table_name(column1,column2….)

VALUES(value1,value2…)

T-SQL一次插入多行数据:

INSERT-SELECT语句:将以存在表中的数据一次性插入到已建好的表中

INSERT  [INTO]  table_name(column1,column2…)

SELECT column1,column2….

FROM  table_name

 

SELECT-INTO:将已存在的表中的数据插入到新表中(系统自动创建新表)

SELECT column1,column2….

INTO table_new

FROM table_name

 

INSERT-SELECT-UNION:一次插入多行数据(手动输入的情况)

INSERT  [INTO]  table_name(column1,column2…)

SELECT value1,value2 UNION  ——第一行

SELECT value1,value2 UNION  ——第二行

…最后一行结尾不用加UNION

 

6.T-SQL插入标识列:

SELECT  IDENTITY(数据类型(必须是整数型,一般使用int),标识种子,标识增量)  AS 标识列名

INTO  table_name

FROM  table_name

 

7.T-SQL更新表中数据

UPDATE table_name SET column1=value1,column2=value2…

WHERE 更新条件

 

8.T-SQL删除数据

删除部分记录:

DELETE FROM table_name

WHERE 删除条件

删除表中所有数据:

DELETE FROM table_name

TRUNCATE TABLE table_name

 

9.TRUNCATE-TABLE删除表中所有数据时的一些注意事项:

①使用TRUNCATE TABLE删除的数据不能恢复

②使用TRUNCATE TABLE删除表中数据后,标识列会重新开始编号

③不能使用TRUNCATE TABLE删除带有外键约束的引用的表的数据

④使用TRUNCATE TABLE删除表中数据后,表中的约束依然存在

⑤建议尽量少用TRUNCATE TABLE语句删除表中所有数据,以免由于误操作而造成数据丢失、损坏,从而带来的严重后果。

 

10.T-SQL语言执行表中数据增、删、改的注意事项:

①新增的数据必须满足插入的表中的各种约束,从而保证数据完整性。另外,列名和插入的数据数量、类型、顺序必须保持一致,不然会导致插入失败

②更新表中数据(修改表中的数据时),一般需要使用WHERE字句限定更新(修改)条件,如果不限定WHERE条件,则将默认更新表中所有数据。实际应用中一般建议限定WHERE条件,以免误操作导致表中所有数据的更新(原本只需要更新部分数据),而破坏数据完整性

③删除数据时一定要谨慎,尽量少用TRUNCATE TABLE删除数据,删除数据的语法中WHERE字句可选,不限定WHERE条件则默认删除表中所有数据,产生的效果类似于TRUNCATE TABLE,但是使用DELETE语句删除数据后标识列不会重新开始编号,甚至可以撤销删除(恢复数据),而TRUNCATE TABLE执行的删除操作则是彻底的,不可撤销和恢复的。

 

发布了100 篇原创文章 · 获赞 10 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/qq_30056341/article/details/105493267