您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 数据库SQL学习笔记
第一章:SQLserver数据库简介1.行:记录列:字段一条记录可以表示一个实体,如:邓伟这一条记录中,包含他的姓名、年龄、职业、收入、岗位等。2.数据库是数据的仓库;数据库中包含表、关系、以及操作对象;(存储过程、视图等);数据存放在表中;数据库管理系统是以应用或者软件的形式,将对数据库进行操作的命令进行了图形化界面的包装,这样对数据的操作就更加简洁、方便。3.创建和管理用户数据库数据文件:主要数据文件:有且只有一个;后缀名:.mdf;每个数据库都必须有一个。次要数据文件:零个或多个;后缀名:.ndf;数据少的时候可以没有,数据多的时可以有多个。它的作用是保证数据库不受硬盘大小的限制,当主数据文件所在的磁盘容量达到上限后,可以指定次要数据文件到其他硬盘上。日志文件:用于记录对数据的每一次操作。如果数据丢失,可以通过该文件找回。后缀名:.ldf。注:每一个日志文件对应一个数据文件。(不一定,也不需要)数据库的分离和附加:方便数据库文件的移植,以在不同的电脑用中使用。第二章:数据库表及约束数据存放在表中;数据完整性的问题大多是由于设计引起的;创建表的时候,就应当保证以后数据输入是正确的,错误的数据、不符合要求的数据不允许输入;可靠性+精确性=数据的完整性;创建表:保证数据的完整行=实施完整的约束;四种完整性约束:域完整性:列约束方法:检查约束、默认值、非空约束实体完整性:行约束方法:唯一约束、主键约束、标识列引用完整性:一个表中的某些行或者列的数据必须来源于其他表,不可单独添加。约束方法:外键约束自定义完整性:例:银行在给用户贷款时,用户的信用值必须不能为负,如果为负就不能添加到可贷款表中。约束方法:触发器数据类型:()中的数字代表字节numeric:numeric(14,3)表示14位数,有3位小数。char:提升效率,浪费空间char(10)不管存多少数据,即使小于10也占10个内存。varchar:降低效率,节约空间varchar(10)根据实际存储的数据,分配内存。nvarchar:当存储汉字时,每个汉字占2个字节的内存,每个英文字母占一个字节,而使用nvarchar(20)就表示可以存储20个汉字。而使用varchar(20)只能存储10个汉字。如果两列或者多列组合起来唯一标识表中的每一行,该主键叫“复合主键”选择主键的原则:字符数据类型不可以作为标识列,因为它不符合自增的性质;尽量选择单个键作为主键;尽量选择数值更新少的列作为主键;表中没有合适的列作为主键,可以设置标识列作为主键,自动增加,不重复。例:如果标识列的初始值为1,增长量为2,则输入三行后,再删除两行,下次再输入数据行的时候,标识值从7开始。主键与外键:主键所在的表叫主表,外键所在的表叫从表或子表;把主键与外键之间的联系叫做关系。设置主外键(关系)时应该注意:添加数据要先在主表中添加,删除数据要先在从表中删除。如果在添加关系时,发生错误,可能是某一个从表中有数据,而主表中没有。设置主外键关系之后:第三章:T-SQL数据语言操一、使用SQL添加语句StructuredQueryLanguage结构化查询语言;SQL语句是实现应用程序和数据库之间数据读取和存储的语言;T-SQL语句是对SQL语句的加强,全名叫Transact—SQL。SQL的组成:SQL中的运算符:注意:SQL中,“=”既可以作为赋值运算符也可以作为算术运算符;一条SQL语句中,and越多,限制条件越多;or越多,条件越宽松;查询窗口介绍:插入数据行语法:注意:凡是看到“[]”都可以省略,但是为了语句的完整性和可识别性,尽量带上;插入数据时,列与列以及数据之间用“,”隔开,最后一个列不需要使用“,”;中文或者字符串及字符类型要使用‘’包起来,SQL中不识别“”(双引号);插入数据行注意事项:如果想给某一列的数据赋值为空,要使用null表示。此处是指在使用insert语句进行赋值操作时使用null,注意与使用select语句进行查询时使用isnull进行区别。?注意:如果某一列有check约束,如email中有@约束,当使用SQL语句时,该列如果想不插入任何内容,可以用null表示,此时该列的内容代表不填,(前提是该列可以为空);但是不可以使用‘’来表示不填该内容,因为使用了‘’就表示该列有输入的内容,只不过是数据为空格,但因为有check约束,所以在执行时会出现错误。插入多行数据:如果需要插入多行时,语句如下:insertinto表名(列名1,列名2……)select值1,值2……unionselect值1,值2……from表名(可选)注意:方法二中的要插入的表还不存在,当执行语句时该表才创建。适用于需要备份某一张表,用该方法进行操作。二、使用SQL删除、修改数据注意:SQL中不区分大小写使用UPDATE更新数据行:使用DELETE删除数据:表与表之间若存在关系,先删除子表的数据,才能删除主表的数据。使用TRUNCATETABLE删除数据行:当要删除整个表时,使用TRUNCATETABLE的效率高于使用DELETEFROM,因为DELETE在执行时是一行一行的删除,而TRUNCATE是一次性删除。导入、导出数据:导出数据可以导出为excel、text等文件,第四章:数据库查询基础数据库查询基础:什么是查询:查询语法:数据查询基础:数据查询-列别名:数据查询-空行、常量列注:当查询空内容时,要写成isnull,如果查询非空内容为isnotnull。数据查询-限制行数查询单列排序:二、SQLserver系统函数注:所有的函数,他们的功能并不具备直接对数据表中的原数据产生直接修改的功能,他们只是根据具体的功能在执行时进行显示,要修改数据还需要使用insert、update、delete等增删改查的SQL语句。常用的几类函数:字符串函数:注意:charindex的第三个参数代表从哪个位置开始寻找;stuff中的第一个数字表示起始位置,第二个数字表示取代多少个字符。SQL中所有的函数中,凡是涉及下标的,都是从1开始算起。举例:日期函数:数学函数:系统函数:举例:
本文标题:数据库SQL学习笔记
链接地址:https://www.777doc.com/doc-3632290 .html