当前位置: 首页 > news >正文

全栈:如何操作在SQLserver里面CRUD(增删改查)

有两种方式创建数据库和数据表,一种是直接sql语句,一种是图形可视化手动。
一 直接sql语句
在这里插入图片描述

二 图形可视化操作

1.新建数据库:数据库->新建数据库
在这里插入图片描述
在这里插入图片描述

2.新建表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
还要设置主键和唯一键(PRIMARY KEY和UNIQUE KEY)
类型和列都要改
类型改成唯一键:
在这里插入图片描述
列改成需要的列名:
在这里插入图片描述
在这里插入图片描述

我写的内容涉及到了create_time和update_time(需要特殊设置一下)

在 SQL Server 中实现类似 MySQL 的 DEFAULT CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP 功能,需要通过 SQL Server Management Studio (SSMS) 的图形界面进行以下操作:1. 设置 create_time 的默认值为当前时间(可视化操作)
打开 SSMS → 连接到数据库 → 展开数据库 → 展开"表"右键点击 [user] 表 → 选择"设计"在表设计器中,找到 create_time 列在下方"列属性"选项卡中 → 展开"常规"部分在"默认值或绑定"一栏中填写:(getdate())
https://i.imgur.com/1XwWz7P.png2. 设置 update_time 的自动更新(需要创建触发器)
SQL Server 没有直接的 ON UPDATE 语法,需通过触发器实现:
a.展开 [user] 表 → 右键"触发器"文件夹 → 选择"新建触发器"
b.替换触发器模板代码
窗口会默认显示模板代码(带 <Schema_Name> 等占位符),删除所有模板内容。
粘贴以下触发器代码(实现 update_time 自动更新):CREATE TRIGGER [dbo].[UpdateUserTime]
ON [dbo].[user]
AFTER UPDATE
AS
BEGINUPDATE [dbo].[user]SET update_time = GETDATE()FROM [dbo].[user]INNER JOIN inserted ON [user].id = inserted.id
ENDc.执行创建触发器
点击 SSMS 工具栏的 “执行” 按钮(或按 F5),提示 “命令已成功完成” 即创建成功。

在这里插入图片描述

在这里插入图片描述
把原来的代码替换成这个
在这里插入图片描述

3.对表的CRUD(增删改查)

Create(创建)
Read(读取)
Update(更新)
Delete(删除)

a.增加

INSERT INTO [user] (id,username, password, email, phone, create_time, update_time)
VALUES 
(1,'admin', '123456', 'admin@example.com', '13800138000', GETDATE(), GETDATE()),
(2,'user1', '123456', 'user1@example.com', '13800138001', GETDATE(), GETDATE()),
(3,'user2', '123456', 'user2@example.com', '13800138002', GETDATE(), GETDATE()),
(4,'user3', '123456', 'user3@example.com', '13800138003', GETDATE(), GETDATE()),
(5,'user4', '123456', 'user4@example.com', '13800138004', GETDATE(), GETDATE());

在这里插入图片描述
b.删除

DELETE FROM [user]
WHERE id IN (1, 2, 3, 4, 5, 6, 7, 8);

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

c.修改
在这里插入图片描述
在这里插入图片描述

d.查找
在这里插入图片描述
在这里插入图片描述
注意,这里的SQLserver和mysql的sql语句语法是不一样的,查询需要把对应的表加一个中括号[user]

select * from [user];
http://www.xdnf.cn/news/1256203.html

相关文章:

  • stm32cubeide memory analyzer 不显示BUG
  • 使用Puppeteer轻松自动化浏览器操作
  • 高并发内存池 设计PageCache(4)
  • W25Q64模块
  • jetson上使用opencv的gstreamer进行MIPI和USB摄像头的连接以及udp推流
  • 网站IP被劫持?三步自建防护盾
  • 【基础知识】springboot+vue 基础框架搭建(更新中)
  • 数据库入门:从零开始构建你的第一个数据库
  • [Oracle] DECODE()函数
  • oracle 11G安装大概率遇到问题
  • Java面试宝典:JVM的垃圾收集算法
  • c++之 栈浅析
  • 如何提高云手机中数据信息的安全性?
  • 数字取证:可以恢复手机上被覆盖的数据吗?
  • PostgreSQL 数据库 设置90天密码过期时间的完整方案
  • 数据结构(五):顺序循环队列与哈希表
  • 僵尸进程问题排查
  • 安卓10.0系统修改定制化____修改系统固件 实现刷写完成 开机默认关闭桌面搜索框
  • 【网络编程】IO多路转接——select
  • 2025年我国半导体材料产业链全景分析
  • MySQL聚簇索引与非聚簇索引详解
  • uni-app X能成为下一个Flutter吗?
  • Linux基础测试
  • .NET 10 新增功能系列文章5——C# 14 中的新增功能
  • 人工智能的20大应用
  • 基于django的非物质文化遗产可视化网站设计与实现
  • [LVGL] 布局系统 lv_flex, lv_grid | 输入设备 lv_indev | union
  • 云原生安全挑战与治理策略:从架构思维到落地实践
  • 从密钥生成到功能限制:Electron 中 secure-electron-license-keys 的完整集成方案
  • Python生产环境部署指南:专业级应用启动方案