1.Sql Server数据库【上】

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 1.Sql Server数据库【上】

一、数据库的概念

定义:

数据库就是数据仓库。

DBMS:

数据库管理系统。SQLServer Oracle

二、数据库的特点

安全性

并发访问处理

高效率

海量数据存储

数据完整性

三、数据库的基本组成

数据库

架构(表的分组):

表的集合

列(Column字段,类型,长度,约束等)

行(Row)

主键:

自动增长,GUID

外键

四、数据库管理

数据库安装:

Sql Server安装

数据库的实例名详解:

区分安装在同一台机器上不同的MSSqlServer 服务的。(区分一台机器上的不同的数据库服务实例)

混合身份验证:

Windows身份验证、SQLServer身份验证

启用SA账户(安装的时候可以直接设置启用)

链接数据库:

保证SQLServer服务器开启,. 和 (local) 和 机器名一样,代表链接本机。

ip地址:

回环地址:

127.0.0.1

局域网ip地址,外网ip地址。

SA

五、可视化创建数据库、表、主键

1.创建数据库

数据库文件默认位置:C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA

(创建数据库最好放到此位置,避免权限问题。)




7d83dba6580a4421a59c470f2fdb2d79.png

2.创建表

命名规范同类。

列:

NChar,Nvarchar(32) N:Unicode,2个字节表示一个字符。

Char:一个字节表示一个字符。

NChar和Char的区别?

避免乱码,N:Unicode,用两个自己表示一个字符。

可能遇到的问题:“阻止保存要求重新创建表的更改”的问题,解决办法: 工具→选项→设计器→阻止表的更改


fde14d1e7eee48719251634179544b85.png


3.设置主键:

六、数据库的字段类型详解

Char,8000 Varchar,8000 Nchar,4000 Nvarchar,4000 Text varchar(max)
固定长度的非Unicode字符数据。固定长度的字符串相对于可变长度的字符串来说效率要高一些,在数据长度固定的情况下优先选用固定长度,省去了计算长度的过程提高效率. 可变长度非Unicode 数据 固定长度的Unicode 数据 可变长度Unicode数据 存储长文本信息(指针2G)

七、数据库的迁移方案

右击数据库属性:


f9b3e518e82a477698da8789be7696f4.png

分离 附加

权限问题:

启用Administrator账号

把数据库文件放到默认的数据库文件存放目录。

数据库文件兼容级别,设置成2005兼容

脱机 附加

备份 还原

生成SQL脚本

八、SQL脚本

结构化查询语言(Structured Query Language)

DML\DDL\DCL

脚本:一般就是指比较简单的,不需要编译的可以直接解析执行的语言,常见的比如:SQL、JavaScript等。

T-SQL的特点

跨DBMS,基本上所有的DBMS都对标准T-SQL兼容

大小写不敏感(仅仅是关键字不敏感,字符串数据是大小写敏感的)

转义

九、基本的DDL SQL脚本

创建数据库(Create Database)

创建数据库的SQL:
    create database 数据库名
    on
    (
      name=‘’,
      size=5MB,
      filegrowth=2MB,
      filename="....\data\db.mdf"
    )
    log on
    (
      name=‘_log’,
      size=5MB,
      filegrowth=2MB,
      filename="....\data\db_log.ldf"
    )
--1.创建数据库
create database PhpDb;
--2.删除数据库
drop database PhpDb;

创建表(包括主键、自动增长、是否可空)等

use PhpDb
create table Employee(
  EmpId int primary key not null,
  EmpName nvarchar(32) null,
  EmpAge int default(18) not null,
  DelFlag smallint default(0) not null
)
create table 表名
    (
      列名 类型 null,
      .....,
      列名  类型 primaryt key not null,--主键列
      列名  类型 identity(1,1) not null,--自动增长,只能用于数据的类型:int,bigint,float
    )

8c270eea7f694ccda223d4dfaf0d12df.png

十、基本的DML SQL脚本

select 列名,… from 表 where 表达式1 and 表达式2

delete from 表 where 表达式1 and 表达式2

update 表名 set 列1=值,列2=值

insert into 表名(列1,列2…) values(值1,值2…)

简单的查询: Select 列名 From 表明 where 条件表达式

--基本查询
select *from Employee where EmpId=1

插入数据: Insert Into 表名(列名) values(列值)

--插入数据
insert into Employee values('1','小明','18','1111')

删除数据:Delete

--删除数据:Delete
delete Employee where EmpId=2

修改数据:Update

--修改数据:Update
update Employee set EmpId=2 where EmpName='小明'

十一、案例:OA系统数据库设计

部门表:Department   JQJB:警情级别    
  ->部门的名字 DepName
  ->部门的老大 DepMaster
  ->部门的编号 主键:
  ->部门的描述 
  ->删除标识
  ->上级部门的ID  
    select * from dep where ParentDepId =我的id
员工表、
内部员工消息表
  ->发送者
  ->发送的时间
  ->发送的内容
  ->接收
  ->接收时间
  ...
--OA项目
--创建数据库
create database OADB;
go
use OADB;
create table Department(
  DepId int identity(1,1)primary key not null,
  DepName nvarchar(32) null,
  DepMasterId int null,
  DepRemark nvarchar(512) null,
  ParentDepId int null,
  DelFlag smallint default(0) not null
)



相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
2月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:详细步骤与最佳实践指南ali01n.xinmi1009fan.com
随着Web开发技术的不断进步,ASP.NET已成为一种非常流行的Web应用程序开发框架。在ASP.NET项目中,我们经常需要与数据库进行交互,特别是SQL数据库。本文将详细介绍如何在ASP.NET项目中连接SQL数据库,并提供最佳实践指南以确保开发过程的稳定性和效率。一、准备工作在开始之前,请确保您
241 3
|
12天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
11天前
|
SQL 监控 安全
SQL Servers审核提高数据库安全性
SQL Server审核是一种追踪和审查SQL Server上所有活动的机制,旨在检测潜在威胁和漏洞,监控服务器设置的更改。审核日志记录安全问题和数据泄露的详细信息,帮助管理员追踪数据库中的特定活动,确保数据安全和合规性。SQL Server审核分为服务器级和数据库级,涵盖登录、配置变更和数据操作等事件。审核工具如EventLog Analyzer提供实时监控和即时告警,帮助快速响应安全事件。
|
23天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
|
1月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
1月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
1月前
|
SQL 数据采集 监控
局域网监控电脑屏幕软件:PL/SQL 实现的数据库关联监控
在当今网络环境中,基于PL/SQL的局域网监控系统对于企业和机构的信息安全至关重要。该系统包括屏幕数据采集、数据处理与分析、数据库关联与存储三个核心模块,能够提供全面而准确的监控信息,帮助管理者有效监督局域网内的电脑使用情况。
20 2
|
20天前
|
SQL Java 数据库连接
canal-starter 监听解析 storeValue 不一样,同样的sql 一个在mybatis执行 一个在数据库操作,导致解析不出正确对象
canal-starter 监听解析 storeValue 不一样,同样的sql 一个在mybatis执行 一个在数据库操作,导致解析不出正确对象
|
2月前
|
存储 数据挖掘 数据库
数据库数据恢复—SQLserver数据库ndf文件大小变为0KB的数据恢复案例
一个运行在存储上的SQLServer数据库,有1000多个文件,大小几十TB。数据库每10天生成一个NDF文件,每个NDF几百GB大小。数据库包含两个LDF文件。 存储损坏,数据库不可用。管理员试图恢复数据库,发现有数个ndf文件大小变为0KB。 虽然NDF文件大小变为0KB,但是NDF文件在磁盘上还可能存在。可以尝试通过扫描&拼接数据库碎片来恢复NDF文件,然后修复数据库。
|
2月前
|
SQL 监控 数据库
慢SQL对数据库写入性能的影响及优化技巧
在数据库管理系统中,慢SQL(即执行缓慢的SQL语句)不仅会影响查询性能,还可能对数据库的写入性能产生显著的不利影响