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

    技术2025-01-21  16

    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
    Processed: 0.008, SQL: 9