一.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
备注: 一个数据库可以包括多个表,一个表可以包括多个字段,同一个数据库的表名唯一,同一个表的各列名唯一。