【你也能从零基础学会网站开发】 SQL结构化查询语言应用基础--DDL篇--SQL Server数据库开发之ALTER TABLE修改表语句使用详解

🚀 个人主页 极客小俊
✍🏻 作者简介:程序猿、设计师、技术分享
🐋 希望大家多多支持, 我们一起学习和进步!
🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注

ALTER TABLE 语句介绍

ALTER TABLE 语句SQL Server中主要是用于修改已存在的表结构

这意味着我们可以使用 ALTER TABLE语句添加、删除、修改表中的字段,同时我们也可以使用它来添加删除字段的约束,例如:主键、外键、唯一约束等, 或者重新命字段这些操作都是可以的。

在之前的章节中,我就使用到了一些ALTER TABLE语句来修改我们的字段约束!

但是有一点大家要注意一下, ALTER TABLE 语句在一些SQL Server 2000 及更高版本中,这个语句的基本语法是相似的,
但是可能随着版本的更新和提高,支持的功能和语法细节可能会有所不同!

这里我先以SQL Server 2000语法规则为例

ALTER TABLE 语句操作字段

那么此时我们有这样一个表结构!

如图

1.在已有表中添加字段

语法规则:

ALTER TABLE 表名称 ADD 字段名 数据类型 
或者
ALTER TABLE 表名称 ADD 字段名 数据类型 [约束1] [约束2] ....

例如

ALTER TABLE test ADD city varchar(20) not null default '重庆市';

如图

2.在已有表中修改字段
修改字段的数据类型

那么如果是要改变已有表中字段数据类型

语法规则

ALTER TABLE 表名称 ALTER COLUMN 字段名称 新数据类型

例如

ALTER TABLE test ALTER COLUMN ages int;

如图


不过这里要注意一下,修改字段类型的时候,也要看情况,如果字段中有值,但是你修改的数据类型,不匹配可能会报错!

例如

你能通过修改数据类型,把city字段从varchar修改成为int吗 ? 显然是不行的!

如图


所以修改数据类型的时候,要根据实际需求和情况去修改!

添加字段的约束

那么如果是要改变已有表中给字段添加约束

语法规则

ALTER TABLE 表名称 ADD CONSTRAINT 约束名 约束类型(字段名)

例如

ALTER TABLE test ADD CONSTRAINT pk_id PRIMARY KEY(id);

如图

效果如图

删除字段的约束

在删除字段约束时,我们前面讲过,最好你在添加约束的时候,就知道约束名称,这样才有便于删除和修改的管理!

语法规则

ALTER TABLE 表名称 DROP CONSTRAINT 约束名称

例如

ALTER TABLE test DROP CONSTRAINT pk_id

如图

在这里我们并没有明确指明到底删除的是哪个字段的约束, 但是pk_id这个约束名称其实已经与id字段相关联, 此时此刻SQL Server 会理解我们的意图,并删除该字段的PRIMARY KEY主键约束

修改字段的名称

这里我个人不建议再使用ALTER TABLE语句去修改字段名称, 你可以尝试EXEC sp_RENAME语法

语法规则

EXEC sp_RENAME '表名称.旧字段名', '新字段名称', 'COLUMN';

例如

EXEC sp_RENAME 'test.ages', 'age', 'COLUMN';

如图

如图

删除表字段

语法规则

ALTER TABLE 表名称 DROP COLUMN 字段名

例如

ALTER TABLE test DROP COLUMN age

如图

"👍点赞" "✍️评论" "收藏❤️"

大家的支持就是我坚持下去的动力!

如果以上内容有任何错误或者不准确的地方,🤗🤗🤗欢迎在下面 👇👇👇 留个言指出、或者你有更好的想法,
欢迎一起交流学习❤️❤️💛💛💚💚

更多 好玩 好用 好看的干货教程可以 点击下方关注❤️ 微信公众号❤️
说不定有意料之外的收获哦..🤗嘿嘿嘿、嘻嘻嘻🤗!
🌽🍓🍎🍍🍉🍇

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

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

相关文章

Docker NameSpace隔离

1、dd命令:dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设 备或标准输出 功能:用于读取、转换并输出数据 语法:dd OPTION 参数 1、 if文件名:输入文件名,默认为…

【C++】C++的类型的转换

目录 C语言中的类型转换 C中的类型转换 C强制类型转换 static_cast reinterpret_cast const_cast dynamic_cast C语言中的类型转换 C语言中又两种类型转换:(强制)显示类型转换和隐式类型转换。 (强制)显示类型…

Linux系统服务——【web,http协议,apache服务和nginx服务】(sixteen day)

一、web基础以及http协议 1、web基本概念和常识 前端开发一般用uniapp. 1、Web:为用户提供的一种在互联网上浏览信息的服务,Web 服务是动态的、可交互的、跨平台的和图形化的。 2、Web 服务为用户提供各种互联网服务,这些服务包括信息浏览服务&#xf…

深入源码:解析SpotBugs (3) Detector

文章目录 OpcodeStackDetector常用套路调用栈visit code类检测方法检测代码行检测 前面的博客也提到过,Spotbugs 里面 Detector2 与 Detector,FindBugs2 与 FindBugs,GUI2与GUI,可以视为 Spotbugs 与 FindBugs 新老技术的碰撞&…

STM32单片机C语言:继电器控制220v灯泡亮灭

本文旨在详细阐述如何利用STM32单片机结合继电器模块,实现对220V灯泡亮灭的远程控制。我们将深入探讨继电器的工作原理,构建相应的硬件电路,并提供具体的程序实现步骤,在智能家居与自动化控制领域的应用的比较多。 一、继电器原理…

接口测试支持IDEA插件一键同步API、新增思维导图快速评审测试用例,MeterSphere开源持续测试工具v3.1.0版本发布

2024年7月29日,MeterSphere开源持续测试工具正式发布v3.1.0版本。 在这一版本中,接口测试方面,支持通过IDEA插件一键同步API至MeterSphere;测试管理方面,“测试用例”模块新增通过思维导图模式快捷评审测试用例。在“…

扫码登录方案

以哔哩哔哩扫码登录为例 二维码解码后内容为:https://passport.bilibili.com/h5-app/passport/login/scan?navhide1&qrcode_keye60869ce7f5235c7123175a7effc6f90&frommain-fe-header 扫码登陆,利用已登录设备授权未登录设备登录的方式 扫码…

使用JavaFx Fxml笔记

使用JavaFx Fxml实现账号密码登录 HelloApplication.java:package com.example.dr295cmonth7;import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.geometry.Insets; import javafx.scene.Parent; import javafx.scene.Scene; i…

【论文精读】 | 基于图表示的视频抑郁症识别的两阶段时间建模框架

文章目录 0、Description1、Introduction2、Related work2.1 Relationship between depression and facial behaviours2.2 Video-based automatic depression analysis2.3 Facial graph representation 3、The proposed two-stage approach3.1 Short-term depressive behaviour…

请你谈谈:vue的渲染机制(render)- 2举例说明问题

如何在 Vue 的 render 函数中使用 createElement 方法来创建虚拟节点(VNode)。这里是一个稍微整理后的示例,它直接对应于你提供的注释和代码片段,但作为一个完整的 render 函数的一部分,可能位于一个 Vue 组件的 scrip…

javascript(一)

一、基本语法 1.位置 (1)JavaScript脚本必须位于<script>与</script>之间 (2)<script>标签可以位于<body>或者<head>部分中 2.输出语句 (1)window.alter() 弹出警告框 (2)document.write() 可以将内容在网页中打印出来&#xff0c;同时也…

二维01背包 背包滚动数组 分割等和子集 DAY22

11.背包理论基础 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品只能用一次&#xff0c;求解将哪些物品装入背包里物品价值总和最大。 背包问题有多种背包方式&#xff0c;常见的有&#xff1a;01背包、完全…

进程间通信方式--管道

每个进程的用户地址空间都是独立的&#xff0c;一般而言是不能互相访问的&#xff0c;但内核空间是每个进程都共享的&#xff0c;所以进程之间要通信必须通过内核。 管道 管道的linux命令&#xff1a;ps auxf | grep mysql 上面命令行里面的竖线就是一个管道&#xff0c;它的功…

新手vue学习问题汇总(自用)(长期更新)

1.export default export default 是 ES6 模块语法&#xff0c;用于导出模块的默认成员。在 Vue.js 中&#xff0c;通常用来导出一个组件对象&#xff0c;使其可以在其他文件中被导入并使用。 2.props props 是组件接收外部数据的方式。父组件可以通过向子组件传递 props 来…

紫杉醇生物合成机制研究进展-文献精读35

紫杉醇生物合成机制研究进展 摘要 紫杉醇是目前已发现的最具抗癌活性的天然广谱抗癌药物之一&#xff0c;其生产方式主要依赖于从珍稀植物红豆杉中进行分离提取以及化学半合成&#xff0c;因其含量稀少&#xff0c;生产能力受到严重的限制。随着红豆杉基因组的全解析和合成生…

如何在 Windows 上安装并配置 VNC 远程连接树莓派,并结合Cpolar实现公网远程访问

目录 ⛳️推荐 前言 1. 使用 Raspberry Pi Imager 安装 Raspberry Pi OS 2. Windows安装VNC远程树莓派 3. 使用VNC Viewer公网远程访问树莓派 3.1 安装Cpolar步骤 3.2 配置固定的公网地址 3.3 VNC远程连接测试 4. 固定远程连接公网地址 4.1 固定TCP地址测试 ⛳️推荐…

内网隧道学习笔记

1.基础&#xff1a; 一、端口转发和端口映射 1.端口转发是把一个端口的流量转发到另一个端口 2.端口映射是把一个端口映射到另一个端口上 二、http代理和socks代理 1.http带那里用http协议、主要工作在应用层&#xff0c;主要用来代理浏览网页。 2.socks代理用的是socks协议、…

编码器如何在stm32上使用?

编码器如何在stm32上使用 文章目录 编码器如何在stm32上使用1. 编码器是什么&#xff1f;2. 如何在stm32上使用编码器1. 编码器的基本原理2. STM32上的实现3. 代码实现 1. 编码器是什么&#xff1f; 编码器是一种传感器或设备&#xff0c;用于测量位置、角度或速度&#xff0c…

坐标系转换公式

坐标系转换2种情况&#xff1a; 一、XOY坐标系不动&#xff0c;点P(x, y) 沿顺时针方向旋转 θ \thetaθ&#xff0c;得在XOY坐标系的坐标为P(x′, y′) 设某点与原点连线和X轴夹角为b度&#xff0c;以原点为圆心&#xff0c;逆时针转过a度 , 原点与该点连线长度为R, [x,y]为…

电测量数据交换DLMSCOSEM组件第53部分:DLMSCOSEM应用层(上)

1.范围 本部分规定了DLMS/COSEM客户机和服务器的DLMS/COSEM应用层的结构、服务和协议。同时,定义规则规定DLMS/COSEM通信配置。 它定义了用于建立和释放应用程序连接的服务,以及用于访问GB/T17215.662中使用逻辑名称(LN)或短名称(SN)引用定义的COSEM接口对象的方法和属性…