17信管四巨头第五周作业学习笔记
一.SQL server数据库文件
1.主要数据文件(.mdf)
数据库起始点,每个数据库有且仅有一个主要的数据文件。
2.次要数据文件(.ndf)
保存所有主要数据文件中容纳不下的数据。每个数据库可以有0个或多个。
3.日志文件(.ldf)
事物日志文件保存用来恢复数据库的日志信息,每个数据库至少有一个。
二.数据库的创建与删除
1.新建数据库
⑴ 使用CREATE DATEBASE语句
⑵ 语法格式:CREATE DATEBASE 数据库名称
ON 指定数据文件
LOG ON 指定日志文件
⑶ 例如(新建一个名为电子病历EMR的数据库):
CREATE DATEBASE EMR
ON
(NAME=’DateFile_1’ (数据文件名)
,FILENAME=’E:\EMR\DateFile_1.mdf’)
LOG ON
(NAME=’LogFile_1’
,FILENAME=’E:\EMR\LogFile_1.ldf’);
2.考虑数据库可能已经存在的情况
⑴使用IF DB_ID函数返回某数据库名对应的数据库ID
⑵语法格式:IF DB_ID (‘数据库名’)IS NOT NULL(数据库已存在)
DROP DATEBASE 数据库名 ; (删除)
CREATE DATEBASE 数据库名 ;(创建)
或
IF DB_ID(‘数据库名’) IS NULL (数据库不存在)
CREATE DATEBASE 数据库名 ; (创建)
⑶例如:IF DB_ID (‘EMR’)IS NOT NULL
DROP DATEBASE EMR ;
CREATE DATEBASE EMR ;
或
IF DB_ID(‘EMR’) IS NULL (数据库不存在)
CREATE DATEBASE EMR ;
3.查看信息
查看数据库的详细信息 spl_helpdb ‘数据库名’;
4.删除数据库
⑴ 使用 DROP DATEBASE 语句删除数据库
⑵ 语法格式:
DROP DATEBASE 数据库名
(删除数据库后,数据库的书籍文件和日志文件也相应的从硬盘删除)
⑶ 例如:
Use master ;
DROP DATEBASE EMR ;
三.数据库基本表的创建与删除
表:是关系数据库中的逻辑单元,是数据库存放数据的对象
表由行和列组成
行:描述实体的实例
列:定义实体的属性
(一个数据库中可以有多个表,但表的名称在数据库中是唯一的,并且应遵循标识符命名规则)
1.新创建一个数据库表
⑴ 使用CRAETE TABLE 语句
⑵ 语法格式:
USE 数据库名称;(调用数据库)
IF OBJECT_ID(‘表名’) IS NOT NULL
DROP TABLE 表名;
GO
CREATE TABLE 表名
(列名1
列属性
,列名2
列属性
,列名3
列属性
……
,列名n
列属性
)
列属性:如数据类型,null,默认值,约束。
⑶ 例如(在电子病历中创建一个有关于患者的基本信息表):
USE EMR;(调用电子病历的数据库)
IF OBJECT_ID(‘tb_patient’) IS NOT NULL
DROP TABLE tb_patient;
GO
CREATE TABLE tb_patient
(No
CHAR(10)
NOT NULL
CONSTRAINT pk_Patient_No
PRIMARY KEY(No)
CONSTRANT ck_Patient_No
CHECK(No Like ‘[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ‘[0-9][0-9]’)
,Name
VARCHAR(20)
NOT NULL
,Gender
BIT
NOT NULL
……
,BirthDate
DATE
CONSTRAINT ck_Patient_BirthDate
)
2.数据类型
⑴ 数据按照数据类型储存在表中。
⑵ SQL server中使用的数据类型:如图三
⑶ 以下为系统数据类型:
数据类型 |
关键字 |
备注 |
|
数值型 |
整型 |
Bit |
1字节 |
Int |
4字节 |
||
十进制 |
Numeric(p,d) |
|
|
浮点型 |
Float(n) |
8字节 |
|
字符型 |
可变长度 |
Varchar(n) |
最大长度为n的变长字符串 |
固定长度 |
Char(n) |
长度为n的定字符串 |
|
时间型 |
|
Date |
格式为 YYYY-MM-DD |
|
Time |
HH:MM:SS |
|
货币型 |
|
Money |
8字节 |
3.将数据插入表中
⑴ 使用INSET INTO语句
⑵语法格式:INSERT INTO 表名称
(列名1
,列名2
……
,列名n)
VALUES
(‘数据1’
,’数据2’
……
,’数据n’);
⑶ 例如:
(No
,Name
……
,BirthDate)
VALUES
(‘1234567890’
,’任我行’
……
,’2001-09-08’);
4.数据库表的更新
⑴ 使用UPDATE语句
⑵ 语法格式:
UPDATE 表名
SET 要修改内容
WHERE …
⑶ 例如:
UPDATE tb_patient
SET BirthDate=’1998-1-1’
WHERE No=’1234567890’;
5.删除一个数据库表
⑴ 使用DROP TABLE 语句删除表
⑵ 语法格式:
DROP TABLE 表名
⑶ 例如:(删除整个病人信息表)
DROP TABLE tb_patient
备注: 一个数据库可以包括多个表,一个表可以包括多个字段,同一个数据库的表名唯一,同一个表的各列名唯一。