SSMS建库建表建约束、增删改操作-SQL Server

佐手、 提交于 2020-08-18 07:37:01

SQL Server Management Studio 是用于管理SQL Server基础架构的集成环境。

Data: 数据 用文字、符号描述现实生活中的物体(对现实生活的描述)

DB: DataBase 数据库 存储数据的仓库, 由表和关系组成

DBMS: DataBase Management System 数据库管理系统

•对数据库进行建立,维护,使用的软件

DBA: DataBase Administrator 操作数据库的人

系统数据库

master:保存系统主要的数据

model:保存系统模块

msdb:保存警报和作业数据

tempdb:保存临时数据表与存储过程

Resource:资源文件,存储所有系统对象

数据库文件

​ mdf:主数据文件 只能1个
​ ldf:日志文件 至少1个
​ ndf:次数据文件 可有可无

数据库的操作
复制:通过分离,脱机
移动:通过分离
删除:通过分离


打开数据库服务

打开服务:

net start mssqlserver

关闭服务:

net stop mssqlserver

常见错误

  • 拒绝访问

命令提示符—>右键—>管理员运行

  • 服务名无效

打开服务(win+r services.msc) 找到SQL Server右键属性

在这里插入图片描述
在这里插入图片描述

建库建表建约束

1、创建数据库

右键数据库—>新建数据库

在这里插入图片描述
在这里插入图片描述

数据库初始大小是指新建数据库时初始文件的大小,自动增长是指数据文件快到设置的容量时自动增大。

2、创建表

双击打开创建的数据库,右键表—>新建

在这里插入图片描述
在这里插入图片描述

3、创建约束

3.1. not null非空

在字段中选择是否允许null值

没有 √ 代表不允许为空

在这里插入图片描述

3.2. identity标识列

选择要设置的字段—>打开标识规范—>选择种子与增量

标识列不允许录入值,值自动生成,只能是整数(int)类型,种子:起始数据,增量:每次增加的值

在这里插入图片描述

3.3. primary key 主键约束

选择要设置的字段—>右键—>设置主键

主键的作用是可以唯一标识每行数据,主键列不能为空,主键列的值是唯一存在的

在这里插入图片描述
主键的设置是有原则的:
1.作为主键的列必须逻辑上不能重复(如姓名就不适用因为有重复的情况)
2.作为主键的列必须有很高的稳定性(年龄不适合,每年的都会增加1,手机号码也可以换)
3.作为主键的列必须有 (原子性)(爱好不适合,可以拆分成多个)



一个表可以没有主键或者只有1个主键,不可能出现多个

3.4. foreign key 外键约束

打开要建外键的表设计器(从表)—>右键—>关系

连接主外键关系时,数据类型必须一致,主表字段必须为主键

在这里插入图片描述

点击添加—>可修改名称(FK_表名_字段)—>点击表和列规范

在这里插入图片描述

设置外键字段(从表字段)—>设置主表—>设置主表字段

在这里插入图片描述

3.5. unique唯一约束

选择需要设置的字段—>右击—>索引/键

保证实体唯一性,要求该列必须是唯一的,允许为空,但是只能出现一个空值

在这里插入图片描述

添加—>可修改名称(IX_表名 _字段)—>类型选择—>唯一键
在这里插入图片描述

3.6. default默认约束

点击需要设置默认的字段—>列属性中设置默认值

设置该列的默认值

在这里插入图片描述

3.7. check检查约束

右击选择check约束

限制某列的取值范围,录入时检查是否合适

在这里插入图片描述

增删改操作

在这里插入图片描述

1、新增数据

insert into 表名(字段) values(值)
insert into --新增到
Student --表
	(LoginId,LoginPwd,StudentName,Sex,ClassId,Phone,Address,Comment,UserStateId) --字段
	Values --默认值
	('5012','qwe123','何涛','男',1,'13215177344','湖南长沙','学生',1) --值

2、删除数据

delete 删除行数据

delete from 表名 where 条件表达式
--不跟条件,删除所有数据
delete from Class 
--删除班级Id为31的记录
delete from Class where ClassId=31 
--删除班级名为Y2109的记录
delete from Class where ClassName='Y2109' 
--删除年级Id大于3的记录
delete from Class where GradeID>=3 

补充:

drop:

删除表,包括内容和定义,释放空间

drop table 表名

truncate:

删除内容,释放空间,保留表结构

truncate table 表名

注意:truncate不能删除行数据,用于清空表数据

delete:

删除表中行数据

delete from 表名

执行速度:drop>truncate>delete

3、修改数据

update 表名 set 字段=值 where 条件
--不加条件则修改所有
update Class set ClassName='YY'
--根据班级Id修改
update Class set ClassName='YY' where ClassId=30
--根据年级Id修改
update Class set ClassName='YY' where GradeID=2
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!