标签归档:数据库

mssql sqlserver 使用sql脚本创建组合外键(FOREIGN KEY)的方法分享


摘要:
在一些项目中,由于使用了组合主键,当用外键关联这些主键时,我们需要用到组合外键同这些主键进行关联,下文将采用举例的方式讲述”组合外键”的创建方法,如下所示:
实验环境:sql server 2008 R2


组合外键:
一张数据表中的外键由多个字段组成,我们将这类外键称之为”组合外键”,如下例所示:

    CREATE TABLE [dbo].[maomao365.com]
(
    [keyIdA] int not null,
    [keyIdB]  int not null,
    [keyIdC] int not null,
    [keyIdD] int not null
)
GO
---设置组合外键keyIdA和keyIdB
ALTER TABLE [dbo].[maomao365.com]
   ADD CONSTRAINT [FK__maomao]
   FOREIGN KEY([keyIdA],[keyIdB])
   REFERENCES [dbo].[maomao365.comMainTable]([keyIdA],[keyIdB])
GO

truncate table [maomao365.com]
drop       table [maomao365.com]

mssql sqlserver 如何创建 SQL Server 2008 新账户呢?


摘要:
下文讲述sqlserver 2008 中创建新账户的方法分享,如下所示:
实验环境sql server 2008 R2


下文将详细讲述sqlserver 2008 创建新账户的方法,步骤如下:

1.打开SQL Server Management Studio管理器,并使用sql账号连接至sql引擎上

2.在sql服务器上点击右键”属性”,打开服务器属性对话框,找到选项卡”安全性”,服务器身份验证,选择”SQL Server和Windows 身份验证模式”

3.打开SSMS管理器中的树形菜单中的”安全性”–>”登录名”–>右键”登录名”–>新建”新建登录名”,
在登录名中,依次输入登录名,输入密码和确认密码,勾选掉”强制密码过期”“强制实施密码策略””用户在下次登录时必须更改密码”这些勾,
并为当前登录名,选择合适的默认数据库

4.选择此登录名所对应的服务器角色

5.选择”用户映射”选项卡上,勾选用户可管理的数据库

6.在”状态”选项卡上设置是否允许连接到数据库引擎选择”授予” “登录”里选择”启动”,点击”确定”,完成。

7.退出SSMS,重启sqlserver引擎。

mssql sqlserver “between and 关键字”在”日期范围”使用中注意事项说明


摘要:
下文讲述between and 关键字的使用注意事项,如下所示:
实验环境:sql server 2008 R2



between and 关键字用法说明

between and 关键字应用包含范围的数据,between and会包含左右边界的数据;
between and 关键字常用于日期、数值类型数据的范围检索。
下文着重讲述between and关键字在包含日期范围时的注意事项,如下所示:



between and 关键字注意事项


between and 日期范围注意事项1:

   create table [maomao365.com]
 (keyId int identity(1,1),
  info  varchar(30),
  writeDate datetime
  )
  go
  ----生成基础数据
  insert into [maomao365.com]
  (info,writeDate)
  values
  (N'sqlserver','2019-06-24 13:01:34'),
  (N'sql爱好者','2019-06-24 09:01:34'),
   (N'猫猫小屋','2019-06-24 23:01:34')
   go
   /* 
   between and误区一:
      日期字段会默认加入0:00:00的边界范围,
      短日期类型,在between and的应用时,会自动在日期的边界上加上时间 0:00:00 
   如下例所示:
      将不会展示出任何数据
   */ 
    
   select  * from [maomao365.com] 
   where writeDate between '2019-6-24' and '2019-6-24'
    
   ---修正方法1: 修改writeDate为短日期,然后进行between and计算
    select   * from [maomao365.com] 
       where convert(datetime,convert(varchar(20),writeDate,23))  between '2019-6-24' and '2019-6-24'
    
     
   ---修正方法2:加边界加上左右时间
     select  * from [maomao365.com] 
       where writeDate between '2019-6-24 0:00:00' and '2019-6-24 23:59:59'
      
  go
  truncate table [maomao365.com]
  drop     table [maomao365.com]