【Sql Server】新手一分钟看懂在已有表基础上修改字段默认值和数据类型

欢迎来到《小5讲堂》,大家好,我是全栈小5。
这是《Sql Server》系列文章,每篇文章将以博主理解的角度展开讲解,
特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。
温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!

在这里插入图片描述

目录

  • 前言
  • 创建表
    • 效果
    • 代码
  • 设置默认值
    • 正确格式
    • 错误格式
    • 效果
    • 代码
  • 修改类型
    • 格式
    • 效果
    • 代码
  • 疑问解答
    • 原因
  • 文章推荐

前言

上篇文章已经讲解在已有表基础上新增表字段以及设置说明,
本篇文章将讲解,如何在已有表基础上给指定表修改默认值以及数据类型。
【Sql Server】新手一分钟看懂在已有表基础上增加字段和说明

创建表

效果

在这里插入图片描述

代码

假设我们增加如下表结构

-- 创建表
create table my_table_name
(id int identity(1,1) primary key,name_text varchar(50),create_time datetime,value_text nvarchar(50)
)

设置默认值

正确格式

在 SQL Server 2022 中,设置字段的默认值的确有了一种新的语法。

  • 以下是正确的示例:
-- 添加字段的默认值ALTER TABLE 表名
ADD CONSTRAINT 默认值约束名 DEFAULT 默认值 FOR 字段名 WITH VALUES;

请将 “表名” 替换为你要修改的表的实际名称,将 “字段名” 替换为你要设置默认值的字段的实际名称,将 “默认值” 替换为你想要设置的新默认值。

  • 以下是一个具体的示例,将表 “xxx” 中的字段 “create_time” 的默认值设置为当前时间:
-- 添加字段的默认值ALTER TABLE xxx
ADD CONSTRAINT DF_xxx_create_time DEFAULT GETDATE() FOR create_time WITH VALUES;

执行这段代码后,它将为表 “xxx” 中的字段 “create_time” 添加一个名为 “DF_xxx_create_time” 的默认值约束,并将默认值设置为当前时间。
同时,WITH VALUES 选项可以通过向现有数据行填充默认值来更新现有数据。

错误格式

网上有些提到的一些格式可能是错的,或者是旧的写法

alter table 表名
alter column 字段名 default 默认值;

在这里插入图片描述

效果

在这里插入图片描述

代码

-- 设置默认值
alter table my_table_name 
add default (getdate()) for create_time with values

修改类型

格式

填写表名、字段名、数据类型,默认是null可空,在后面设置not null不可空

alter table 表名
alter column 字段名 数据类型 [not null]

效果

  • 修改前
    在这里插入图片描述
  • 修改后
    在这里插入图片描述

代码

-- 修改类型 - 设置数据类型以及不可为空值
alter table my_table_name 
alter column name_text nvarchar(20) not null-- 修改类型 - 设置数据类型
alter table my_table_name 
alter column value_text varchar(20)

疑问解答

也许有同学会问,有可视化工具修改字段类型和默认值,为什么还要用sql语句来修改?

原因

使用 SQL 语句来修改字段类型和默认值是一种最常见和灵活的方法。

SQL 语句允许你对数据库进行高度自定义的操作,使你能够实现更复杂的修改和逻辑。
虽然现在有许多强大的可视化工具可以用来管理数据库,但是 SQL 语句仍然是数据库管理和维护的核心。
使用 SQL 语句可以确保准确性和一致性,并提供更详细的控制,适用于广泛的数据库管理任务。

1.灵活性
SQL 语句提供了更大的灵活性,可以满足各种复杂的需求。可以定义自定义规则和逻辑来处理字段类型和默认值的修改,与数据库设计和业务需求更加贴合。

2.批量操作
使用 SQL 语句,可以一次性对多个表、多个字段进行修改,以提高效率,并确保修改的一致性。

3.跨平台和可移植性
SQL 语句可以在不同的数据库系统中使用,使代码更具可移植性。这意味着,如果需要在不同的数据库系统之间进行迁移或使用多个数据库系统,可以更轻松地迁移和管理你的数据库结构。

4.版本控制和文档化
SQL 语句可以轻松地进行版本控制,能够记录和跟踪数据库结构的变化,从而方便团队合作和维护。此外,SQL 语句也可以作为文档,记录对数据库结构的修改和操作步骤,方便以后查阅和理解。

文章推荐

同类型文章,推荐大家阅读博主在csdn平台上写的其他关于sql server的文章

  • 【数据库】Sql Server数据迁移,处理自增字段赋值

  • 【数据类型】C#和Sql Server、Mysql、Oracle等常见数据库的数据类型对应关系

总结:温故而知新,不同阶段重温知识点,会有不一样的认识和理解,博主将巩固一遍知识点,并以实践方式和大家分享,若能有所帮助和收获,这将是博主最大的创作动力和荣幸。也期待认识更多优秀新老博主。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/654126.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣日记1.28-【回溯算法篇】93. 复原 IP 地址

力扣日记:【回溯算法篇】93. 复原 IP 地址 日期:2023.1.28 参考:代码随想录、力扣 93. 复原 IP 地址 题目描述 难度:中等 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0&…

IP地址定位技术的巧妙运用:企业网络安全的坚实防线

在当今数字时代,企业网络安全成为了至关重要的议题。面对不断增长的网络威胁,企业不得不采用创新性技术来保护其机密信息和关键系统。IP地址定位技术作为一种强大的工具,为企业提供了一种新颖而高效的网络安全保护手段。 IP地址定位技术简介 …

前端Vue v-for 的使用

目录 ​编辑 简介 使用方式 基本使用 v-for"(item, index)中item和index作用 示例 迭代对象 示例 结果 前言-与正文无关 生活远不止眼前的苦劳与奔波,它还充满了无数值得我们去体验和珍惜的美好事物。在这个快节奏的世界中,我们往往容易陷入…

证券公司怎么选择?福州开股票账户佣金最低是多少?怎么开低佣金账户?

股票交易佣金是指投资者在进行股票交易时,需要向券商支付的手续费。具体的佣金费用根据券商的政策而有所不同,一般分为固定佣金和按比例佣金两种方式。 固定佣金是指交易每一笔固定收取一定金额的佣金,通常适用于较小交易量的投资者&#xf…

github ssh ssh-keygen

生成和使用 SSH 密钥对是一种安全的身份验证方式,用于在你的本地系统和 GitHub 之间进行身份验证。以下是在 GitHub 上生成和使用 SSH 密钥对的基本步骤: 1. 生成 SSH 密钥对 在命令行中执行以下命令来生成 SSH 密钥对: ssh-keygen -C &q…

ATT汇编

指令后缀 AT&T格式的汇编指令有不同的后缀 其中 b表示byte,字节 w表示word,字/两字节 l表示long,32位系统下的long是4字节 q表示quad,意味四重,表示4个字/8字节 寄存器用途 参见 AT&T的汇编世界 - Gemfield…

把数组中的key都取出来然后去重

今日接到一个小需求,一张表有类似这样的数据:(下面是一行) 但是每行的数据,主要是key不一样,我们想把所有的key取出来,并且做个去重。 首先我先在mysql中, SELECT GROUP_CONCAT(RE…

蓝桥杯---九数组分数

1,2,3 ... 9 这九个数字组成一个分数,其值恰好为1/3,如何组法? 下面的程序实现了该功能,请填写划线部分缺失的代码。 注意,只能填写缺少的部分,不要重复抄写已有代码。不要填写任何多余的文字。 代码 public class _05九数组分数 {public static void test(int[] x){int a …

Linux, Certbot快速申请免费https证书

linux环境. 更新apt,为了能正确的下载certbot apt update 安装certbot apt install certbot 如果之前nginx已经开启着了,先关掉,防止端口占用 nginx -s stop 运行certbot开始获取证书文件 certbot certonly 输入1直接回车,意思就是让certbot模拟一个web服务器执行下面的…

探秘Photoshop | 一站式了解所有相关信息

Photoshop是迄今为止世界上最强大的图像编辑软件,它已成为许多涉及图像处理的行业标准。软件技术一天行千里, Photoshop也在不断更新,从1990年开始发布, photoshop1.0到最新的 2018Photoshop... 几乎每隔一年,Photosho…

Apache 辅助系统工具

一丶Apache Sqoop 1.Sqoop的介绍: Sqoop的工作机制是将导入或者导出的命令翻译成MapReduce实现,Sqoop可以理解为:SQL到Hadoop或者Hadoop到SQL 2.Sqoop的安装 配置文件修改: cd $SQOOP_HOME/conf mv sqoop-env-template.sh sqo…

Dubbo Consumer 对Provider的protocol选择逻辑

一、简介 dubbo consumer 如果没有指定protocol参数,默认会将provider注册的protocol provider url都获取并转换为Invoker放到Directory中。如果consumer指定了protocol则会在Directory中选择相应的protocol provider url转换为Invoker放在Directory中。 二、代码分…

力扣hot100 柱状图中最大的矩形 单调栈

Problem: 84. 柱状图中最大的矩形 文章目录 思路复杂度Code 思路 👨‍🏫 参考地址 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( n ) O(n) O(n) Code class Solution {public static int largestRectangleArea(int[] height){Stack&l…

【英语趣味游戏】填字谜(Crossword)第1天

谜题出处 柯林斯字谜大全(6),Collins——Big Book of Crosswords(Book 6) Puzzle Number: 114 本期单词 横向 1、Situation involving danger (4) 包含危险的情境,4个字母 答案:Risk&#xff…

shell

目录 一.运行方式 二.编程习惯 三.变量 3.1变量的命名 3.3普通变量(局部变量) 3.4特殊变量 3.5变量子串 3.6变量赋值 四.运算方式 4.1$(( )) 4.2let 4.3expr 4.4bc(小数运算) 4.5$[ ] 4.6awk 4.7总结运算方式 五.条件测试语句 5.1文件 5.2条件测试表达式…

揭秘IP地址定位:了解如何通过IP地址追踪你的位置

在互联网时代,我们的每一次在线活动都留下了痕迹,而IP地址则是其中一个关键的标识。IP地址定位技术的发展使得我们能够通过IP地址追踪设备的位置,这在某些情况下对于服务提供商、广告商和甚至研究人员来说可能是有用的。本文将深入探讨IP地址…

webassembly003 whisper.cpp的python绑定实现+Cython+Setuptools的GUI程序

CODE python端的绑定和本文一样,还需要将cdef char* LANGUAGE b’en’改为中文zh(也可以在函数中配置一个参数修改这个值)。ps:本来想尝试cdef whisper_context* whisper_init_from_file_with_params_no_state(char*, whisper_full_params)…

构建中国人自己的私人GPT—支持中文

上一篇已经讲解了如何构建自己的私人GPT,这一篇主要讲如何让GPT支持中文。 privateGPT 本地部署目前只支持基于llama.cpp 的 gguf格式模型,GGUF 是 llama.cpp 团队于 2023 年 8 月 21 日推出的一种新格式。它是 GGML 的替代品,llama.cpp 不再…

数字图像处理(实践篇)二十八 使用OpenCV Python中的K-means对图像进行颜色量化处理

目录 1 颜色量化 2 实践 在某些时候,不可避免的某些设备只能生成有限数量的颜色。因此需要执行颜色量化。选择使用cv2.kmeans()函数对颜色量化应用k-means聚类。 1 颜色量化 使用K-means聚类在图像中实现颜色量化的步骤如下: ① 导入依赖库

写静态页面——魅族导航_前端页面练习

0、效果&#xff1a; 1、html代码&#xff1a;&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><…