当时SQL server数据库准备考试了,我花了两个星期把整本书看了,这些是当时做的笔记(针对老师划得重点),现在学习Java做了几个项目后,发现有很多东西不是特别理解,特地再次复习一下,并且自己再思考思考,有兴趣可以看GitHub文章
SQL是结构化查询语言,集数据定义、数据查询、数据操纵和数据控制功能于一体的语言。
T-SQL是应用程序和SQL Server之间通信的主要语言,是对SQL语言扩充(加流程控制语句等)。
-|综合统一:同SQL
-|两种使用方式,统一的语法结构:联机交互式 和 嵌入高级语言的使用方式。
-|高度非过程化:允许SQL作为集合输入和输出、一条语句的输出是另一条语句的输入。
-|数据定义语言(DDL):执行数据库任务,对数据库以及数据库中的各种对象进行创建(create)、删除(drop)、修改(alter)。
-|数据操纵语言(DML):用于操纵数据库中表或视图等 对象的数据,包括插入(insert)、修改(update)、删除(delete)。
-|数据控制语言(DCL):用于安全管理,确定用户查看或修改数据库数据的权限。
-|数据查询语言(DQL):对数据库进行查询(select)操纵。
基本语法:
SQL Server的数据库是有组织的数据的集合,由包含数据的基本表和对象(视图、索引、存储过程和触发器等)组成。
数据库在磁盘上是以文件为单位存储的,SQL Server 2008将数据库映射为一组操纵系统文件。
三种类型文件:
-|主数据文件:是数据库的起点,指向数据库中的其他文件,每个数据库只有一个(.mdf)。
-|辅助数据文件:除主数据文件以外的文件,每个数据库可以有多个(.ndf)。
-|事物日志文件:此类文件包含着用于恢复数据库的所有日志信息,至少有一个(.ldf)。
文件组是管理数据库中一组数据文件的管理机制。为一个磁盘驱动器创建一个文件组,将多个数据库文件集合起来形成一个整体。
-|主文件组:包含主要数据库文件和任何没有明确指派给其他文件组的其他文件。
-|用户定义文件组:用户定义文件组是通过数据库操作命令定义的文件。
注意:(事物日志文件不属于任何文件组)
(老师给的例题)
/**创建
例:创建一个指定多个数据文件和日志文件的数据库。该数据库名称为STUDENTS,有1个5MB和1个10MB的数据文件和2个5MB的事务日志文件。
数据文件逻辑名称为STUDENTS1和STUDENTS2,物理文件名为STUDENTS1.mdf和STUDENTS2.ndf。主文件是STUDENTS1,由PRIMARY指定,两个数据文件的最大尺寸分别为无限大和100MB,增长速度分别为10%和1MB。
事务日志文件的逻辑名为STUDENTSLOG1和STUDENTSLOG2,物理文件名为STUDENTSLOG1.ldf和STUDENTSLOG2.ldf,最大尺寸均为50MB,文件增长速度为1MB。
要求数据文件和日志文件分别存放在E盘和G盘的DATA文件夹下。
*/
CREATE DATABASE STUDENTS
ON PRIMARY
(NAME=STUDENTS1,
FILENAME='E:\DATA\STUDENTS1.mdf',
SIZE=5,
MAXSIZE=unlimited,
FILEGROWTH=10%),
FILEGROUP FILEG1
(NAME= STUDENTS12,
FILENAME='E:\DATA\STUDENTS2.ndf',
SIZE=10,
MAXSIZE=100,
FILEGROWTH=1)
LOG ON
(NAME=STUDENTSLOG1,
FILENAME=‘G:\DATA\STUDENTSLOG1.ldf',
SIZE=5,
MAXSIZE=50,
FILEGROWTH=1),
(NAME=STUDENTSLOG2,
FILENAME=‘G:\DATA\STUDENTSLOG2.ldf',
SIZE=5,
MAXSIZE=50,
filegrowth=1)
/**修改
【例】为数据库STUDENT2 增加数据文件STUDENT2_DATA1,初始大小10M,最大50M,按照5%增长。
*/
ALTER DATABASE STUDENT2
ADD FILE
(NAME = ‘STUDENT2_DATA1’,
FILENAME = ‘F:\DATA\ STUDENT2_DATA1.NDF’,
SIZE = 10MB,
MAXSIZE = 50MB,
FILEGROWTH = 5%)
/**删除
删除数据库
*/
DROP DATABASE STUDENTS