热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SQL数据库学习笔记01

文章目录数据库安装流程登陆密码修改数据库的组成文件组数据库常用对象表字段视图索引存储过程触发器约束缺省值数据类型数值型字符型日期类型货币类型二进制数据类型其他数据类型数据库按照一


文章目录

        • 数据库
        • 安装流程
          • 登陆密码修改
          • 数据库的组成
          • 文件组
        • 数据库常用对象
          • 字段
          • 视图
          • 索引
          • 存储过程
          • 触发器
          • 约束
          • 缺省值
        • 数据类型
          • 数值型
          • 字符型
          • 日期类型
          • 货币类型
          • 二进制数据类型
          • 其他数据类型


数据库

按照一定数据结构来组织、存储和管理数据的仓库,相关数据的集合。

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

非关系型数据库:
不同点,不使用SQL作查询语言


安装流程


  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字符数据

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存储结果集,供稍后处理

推荐阅读
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • 本文介绍了使用数据库管理员用户执行onstat -l命令来监控GBase8s数据库的物理日志和逻辑日志的使用情况,并强调了对已使用的逻辑日志是否及时备份的重要性。同时提供了监控方法和注意事项。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 怎么在PHP项目中实现一个HTTP断点续传功能发布时间:2021-01-1916:26:06来源:亿速云阅读:96作者:Le ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 本文介绍了sqlserver云存储和本地存储的区别,云存储是将数据存储在网络上,方便查看和调用;本地存储是将数据存储在电脑磁盘上,只能在存储的电脑上查看。同时提供了几种启动sqlserver的方法。此外,还介绍了如何导出数据库的步骤和工具。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
author-avatar
nora抹抹茶I
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有