一、SqlServer2008下载与安装

二、启用与停止SqlServer

  1. 后台启动服务:计算机→右键→管理→服务和应用程序→服务→SqlServer(MSSQLSERVER)
  2. SQL Server配置管理器启用服务:开始→安装路径→配置工具→sqlserver配置管理器
  3. 在运行窗口cmd中使用命令启动和停止服务:net start mssqlserver /  net stop mssqlserver

三、SqlServer身份验证模式

  1. 身份验证模式:Windows身份验证 、SQL Server身份验证
  2. 如何配置身份验证模式?
  3. 常见问题:18456、18470
  4. 操作步骤
1. 对象资源管理器中单机右键→安全性→配置身份验证模式;
2. 修改sa的登陆密码→直接找安全性→登陆名→sa→右键→属性;
3. 启用sa账户→直接找安全性→登陆名→sa→右键→属性→状态→启用;
4. 重新启动→对象资源管理器上单机右键→重新启动

四、SQL语句创建及删除数据库

1. 创建一个数据文件和一个日志文件的数据库

USE master  --指向当前使用的数据库
GO --批处理的标志
CREATE DATABASE E_Market  --创建E_Market数据库
ON PRIMARY  --主文件组
(
	NAME='E_Market_data',  --主文件逻辑文件名
	FILENAME='E:\SQLServer2008\E_Market\E_Market_data.mdf',  --主文件物理文件名
	SIZE=5MB,  --主文件初始大小
	MAXSIZE=100MB,  --主文件的增长的最大值
	FILEGROWTH=15%  --主文件的增长率
)
LOG ON
(
	NAME='E_Market_log',  --日志文件逻辑文件名
	FILENAME='E:\SQLServer2008\E_Market\E_Market_log.ldf', --日志物理名
	SIZE=5MB,  --日志文件初始大小
	FILEGROWTH=0  --未启用自动增长
)
GO

2. 创建多个数据文件和多个日志文件

USE master
GO
CREATE DATABASE QQDatabase
ON PRIMARY  --主文件组
(
	NAME='QQDatabase_data',
	FILENAME='E:\SQLServer2008\QQDatabase\QQDatabase_data.mdf',
	SIZE=10MB,
	FILEGROWTH=10%,
	MAXSIZE=500MB
),	--第一个文件组结束
FILEGROUP FG    --第二个文件组
(
	NAME='FG_QQDatabase_data',
	FILENAME='E:\SQLServer2008\QQDatabase\FG_QQDatabase_data.ndf',
	SIZE=10MB,
	FILEGROWTH=0
)

LOG ON	--日志文件不属于任何文件组
(
	NAME='QQDatabase_log',
	FILENAME='E:\SQLServer2008\QQDatabase\QQDatabase_log.ldf',
	SIZE=5MB,
	FILEGROWTH=0
),
(	--日志1的具体描述
	NAME='QQDatabase_log_one',
	FILENAME='E:\SQLServer2008\QQDatabase\QQDatabase_log_one.ldf',
	SIZE=5MB,
	FILEGROWTH=0
)
GO

3. 向现有数据库中添加文件组合数据文件

USE E_Market
ALTER DATABASE E_Market ADD FILEGROUP FG1
GO
ALTER DATABASE E_Market ADD FILE
(
	NAME='FG1_E_Market_data',
	FILENAME='E:\SQLServer2008\E_Market\FG1_E_Market_data.ndf',
	SIZE=5MB,
	FILEGROWTH=10%
) TO FILEGROUP FG1
GO

#将FG1文件组设为默认文件组
ALTER DATABASE E_Market MODIFY FILEGROUP FG1 DEFAULT
GO

4. SQL删除数据库

#第一种方法
DROP DABABASE E_Market  --删除数据库
GO
#第二种方法
IF EXISTS (SELECT * FROM sysdatabases WHERE name='E_Market')
DROP DABABASE E_Market
GO

五、SQL语句创建登陆名及为用户赋予权限

1.创建登录名

语法:CREATE LOGIN 登陆名 WITH PASSWORD='密码'

--创建登陆名PbMaster
USE master
GO
CREATE LOGIN PbMaster WITH PASSWORD='123456'
GO

2.创建数据库用户

语法:CREATE USER 数据库用户 FOR LOGIN 登陆名

--为登陆名PbMaster创建数据库E_Market用户名MasterDBUser
USE E_Market
GO
CREATE USER MasterDBUser FOR LOGIN PbMaster
GO

3.为数据库用户赋予权限

语法:GRANT 操作权限 ON 表名 TO 用户名

--为MasterDBUser赋予数据表UserInfo查看,新增,修改的权限
USE E_Market
GO
GRANT SELECT,INSERT,UPDATE ON UserInfo TO MasterDBUser
GO

4.将UPDATE权限进行回收

USE E_Market
GO
REVOKE UPDATE ON UserInfo TO MasterDBUser
GO

六、数据表字段约束

1. 创建数据表

语法:
USE 数据库
GO
CREATE TABLE 表名称
(
    列名1 数据类型1 约束1,
    列名2 数据类型2 约束2,
    列名3 数据类型3 约束3
)
GO

备 注:列名不要重复,每一个列都要用“,”分开,最后一列不需要
约束:
        非空约束:NOT NULL;
        标示列,自动增长约束:IDENTITY(标识种子, 增长量);
        默认约束:DEFAULT 默认值;
        主键约束:PRIMARY KEY;
        外键约束:FOREIGN KEY (外键表引用的id) REFERENCES 主表明(主表主键);
        检查约束:CHECK(条件);

USE E_Market
GO
CREATE TABLE CommoditySort
(
	SortId int IDENTITY(1, 1) NOT NULL,
	SortName varchar(50) NOT NULL
)
GO

2. 添加与删除约束

添加约束,语法:

ALTER TABLE 表名 WITH NOCHECK ADD CONSTRAINT 约束名 约束类型 具体的约束说明

ALTER TABLE Employee WITH NOCHECK ADD CONSTRAINT CK_EmployeeId CHECK(LEN(EmployeeId)=18)

删除约束,语法:

ALTER TABLE 表名 DROP CONSTRAINT 约束名

ALTER TABLE Employee DROP CONSTRAINT CK_EmployeeId

七、添加及修改数据表与字段注释

1. 创建数据表

use HisDB
GO
create table V_YXKF_CHECK
(
	inhospital_mis_id nvarchar(255) not null,
	patient_mis_id nvarchar(255) not null,
	check_mis_id nvarchar(255) not null,
	check_name nvarchar(255) not null,
	check_name_code nvarchar(255) null,
	apply_report_time datetime not null,
	issue_report_time datetime not null
)
GO

2.添加字段注释

execute sp_addextendedproperty 'MS_Description','表注释描述','user','dbo','table','V_YXKF_CHECK','column','inhospital_mis_id';

3.修改字段注释

execute sp_updateextendedproperty 'MS_Description', '表字段注释','user','dbo','table','V_YXKF_CHECK','column','inhospital_mis_id';

4.添加表注释

execute sp_addextendedproperty 'MS_Description','数据表描述','user','dbo','table','V_YXKF_CHECK',null,null;

5.修改表注释

execute sp_updateextendedproperty 'MS_Description','数据表描述','user','dbo','table','V_YXKF_CHECK',null,null;

6.删除表注释

execute sp_dropextendedproperty 'MS_Description','user','dbo','table','V_YXKF_CHECK',null,null;

八、数据库字段类型

分 类

数据类型

说 明

二进制数据类型

存储非字符和文本的数据

image

可用来存储图像

文本数据类型

字符数据包括任意字母、符号或数字字符的组合

char

固定长度的非 Unicode 字符数据

varchar

可变长度非 Unicode 数据

nchar

固定长度的 Unicode 

nvarchar

可变长度 Unicode 数据

text

存储长文本信息

ntext

存储可变长度的长文本

日期和时间

日期和时间

datetime

 

数字数据

该数据仅包含数字,包括整数和浮点数

int、smallint

整数

float、real

浮点数

货币数据类型

 十进制货币值

 money

 

bit数据类型

 表示是/否的数据

 bit

 存储布尔数据类型