SQL 数据库学习笔记01

数据库

以行和列组成的二维表来组织、存储和管理数据的仓库,相关数据的集合。
关系型数据库用了选择、投影、连接、并、交、差、除、增删查改等数学方法来实现对数据的存储和查询。

关系型数据库: 建立在关系模型上的数据库
sqlServer MySql Oaracle Access

非关系型数据库:
不使用SQL作查询语言
NoSql 使用键值对

安装流程
  1. 官网选择开发者版下载
    在这里插入图片描述

  2. 安装选这4个在这里插入图片描述
    3, 添加当前用户并设置密码
    在这里插入图片描述

  3. 下载图形化管理软件SSMS
    点这里下载

登陆密码修改
  1. 根据下图右键属性即可
    在这里插入图片描述
  2. 权限设置
    在这里插入图片描述
数据库的组成

以文件的形式存在。

  1. 主要数据文件 存放数据和数据库的初始化信息。每个数据库有且只有一个主要数据文件。以mdf 扩展名。
  2. 次要数据文件 以ndf为扩展名,并不是必须有,可以有一个或多个。
  3. 事务日志文件 存放用于恢复数据库的所有日志信息。至少有一个日志文件,也可有多个。默认以ldf为扩展名。
文件组

数据库文件的一种逻辑管理单位,将数据库文件分成不同文件组,方便对文件的分配和管理。

  1. 主文件组 Primary 主要数据文件和没有明确指派给其他文件组的文件。
  2. 用户自定义文件组 Create DataBase 或 alter database 语句中,fileGoup关键字指定的文件组

设计原则

  1. 文件只能是一个文件组的成员
  2. 文件或文件组不能由一个或以上的数据库使用
  3. 数据和日志信息不能属于同一个文件或文件组
  4. 日志不能作为文件组的一部分
数据库常用对象

包含数据库中所有数据的对象,行和列组成,用于组织和存储

字段

表中的列,一个表可以有多个列,有属性,数据类型,大小(长度)

视图

表(虚拟表) 一张或多张表中导出的表 用户查看数据的一种方式 结构和数据的建立是在对表的查询基础上的

索引

为了个用户提供一种快速访问数据的途径,索引是依赖于表建立,检索数据时,不用对整个表进行扫描,可以快速找到所需的数据。

存储过程

是一组为了完成特定功能的SQL语句的集合(可以有查询,插入,修改,删除),编译后,存储在数据库中,以名称进行调用,当调用执行时,这些操作就会被执行。

触发器

在数据库中,属于用户定义的SQL事务命令集合,针对于表来说,当对表执行增删改操作时,命令就会自动触发而去执行。

约束

对数据表中的列进行的一种限制,可以更好的规范表中的列。

缺省值

对表中的列可以指定一个默认值,当进行插入时,如果没有为这个列插入值,那就会自动以预先设置的默认值进行补充。

数据类型
数值型
  1. 整型数据类型
数据类型范围大小(byte)
bigint-2^63 ~2^63-18
int-2^31 ~2^31-14
smallint-2^15 ~2^15-12
tinyint0~2551
  1. 浮点型
    float 表示近似数值,存在精度损失,数据类型是float(n)
n精度大小
1~1474
25~53158
if 1<=n<=24 n=24
if 25<=n<=53 n=53

real 表示近似数值,real=float(24)
decimal 表示精确数值,不存在精度损失,数据类型decimal(p,s)

  • p(precision):指定小数的最大位数,小数点的左侧和右侧的数字总数不能超过p,p的范围是1~38,默认为18.
  • s(scale):指定小数点右侧的小数位数,p-s是小数点左边的最大位数,s必须是从0到p的值,只有在指定了精度的情况下才能指定s,s的默认值是0,因此0 <= s <=p
字符型

character 字符串:

数据类型描述存储
char(n)固定长度字符串,最多8000个字符n
varchar(n)可变长度字符串,最多8000个字符
varchar(max)可变长度字符串,最多1073741824个字符
text可变长度字符串,最多2GB字符数据

Unicode 字符串:

数据类型描述存储
nchar(n)固定长度Unicode数据,最多4000个字符n
nvarchar(n)可变长度Unicode数据,最多4000个字符
nvarchar(max)可变长度Unicode数据,最多536870912个字符
ntext可变长度Unicode数据,最多2GB字符数据
日期类型
数据类型描述大小(bytes)
datetime从1753年1月一日到9999年12月31日,精度为3.33毫秒8
datetime2从1753年1月一日到9999年12月31日,精度为100纳秒6~8
datetime2从1753年1月一日到9999年12月31日,精度为100纳秒6~8
smalldatetime从1753年1月一日到2076年6月6日,精度为1分钟4
date仅存储日期,从0001年1月1日到9999年12月31日3
time仅存储日期时间,精度为100纳秒3
datetimeoffset与datetime2相同,加时区偏移8~10
timestamp存储唯一的数字,每当创建或修改某行,数字更新,timestamp基于内部时钟,不对应真实时间,每个表只有一个timestamp
货币类型
数据类型描述大小(bytes)
smallmoney-214,748.3648~214,748.36474
money-922337203685477.5808~922337203685477.58078
二进制数据类型
数据类型描述大小(bytes)
bit0,1,null
binary(n)固定长度的二进制数据。最多8000字节
varbinary(n)可变长度的二进制数据。最多8000字节
binary(max)可变长度的二进制数据。最多2GB
image可变长度的二进制数据。最多2GB
其他数据类型
数据类型描述大小(bytes)
sql_variant存储不同数据类型的数据,除了text,ntext以及timestamp8000字节
uniqueidentifier存储全局标识符(GUID)
xml存储XML格式化数据2GB
cursor存储对用于数据库操作的指针的引用
table存储结果集,供稍后处理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ou.cs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值