1.Sql Server数据库【上】

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 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
目录
相关文章
|
3天前
|
存储 SQL 数据库
数据库sql语句-----游标和存储过程
数据库sql语句-----游标和存储过程
14 1
|
3天前
|
SQL 数据库
SQL主体内容一致,但是对于不同的数据库,对于SQL就可能有一些细节的拓展
SQL主体内容一致,但是对于不同的数据库,对于SQL就可能有一些细节的拓展
17 1
|
2天前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之当 SQL Server 源数据库中的数据更新后,CDC 吐出的操作(op)是怎样的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
12 0
|
3天前
|
存储 数据库
sqlserver------数据库的存储过程(练习)
sqlserver------数据库的存储过程(练习)
8 1
|
3天前
|
数据库
sqlserver数据库学习感悟(1)----关于group by
sqlserver数据库学习感悟(1)----关于group by
7 0
|
3天前
|
SQL Oracle 关系型数据库
数据库sqlserver-----触发器的插入,更新和删除
数据库sqlserver-----触发器的插入,更新和删除
12 3
|
3天前
|
SQL 关系型数据库 数据管理
Microsoft SQL Server 是微软公司开发的一款关系型数据库管理系统
【5月更文挑战第14天】Microsoft SQL Server 是微软公司开发的一款关系型数据库管理系统
16 2
|
3天前
|
SQL 数据库
数据库SQL语言实战(六)
本次实战的重点就在于对表格本身的一些处理,包括复制表格、修改表格结构、修改表格数据
|
3天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(五)(数据库系统概念第三章练习题)
本文的SQL语言适用的是Oracle数据库与mySQL可能存在略微不同
|
3天前
|
SQL Oracle 关系型数据库
数据库SQL语言实战(四)(数据库系统概念第三章练习题)
本文的SQL语言适用的是Oracle数据库与mySQL可能存在略微不同
数据库SQL语言实战(四)(数据库系统概念第三章练习题)