数据库SQL学习笔记.docx
- 文档编号:27460919
- 上传时间:2023-07-01
- 格式:DOCX
- 页数:20
- 大小:1.67MB
数据库SQL学习笔记.docx
《数据库SQL学习笔记.docx》由会员分享,可在线阅读,更多相关《数据库SQL学习笔记.docx(20页珍藏版)》请在冰豆网上搜索。
数据库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……union
select值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开始算起。
举例:
日期函数:
数学函数:
系统函数:
举例:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 SQL 学习 笔记