数据定义语言DROP与ALTER的应用

新书速览|SQL Server 2022从入门到精通:视频教学超值版_sql server 2022 出版社-CSDN博客

《SQL Server 2022从入门到精通(视频教学超值版)(数据库技术丛书)》(王英英)【摘要 书评 试读】- 京东图书 (jd.com)

数据定义语言CREATE的应用-CSDN博客

5.1.2 DROP的功能

既然能够创建数据库和数据表,那么也能将其删除,DROP语句可以轻松地删除数据库和表。下面介绍如何使用DROP语句。

1. 删除数据表

删除数据表是将数据库中已经存在的表从数据库中删除。注意,删除表的同时,表的定义和表中的数据、索引和视图也会被删除,因此,在删除操作前,最好对表中的数据做个备份,以免造成无法挽回的后果(如果要删除的表是其他表的参照表,此表将无法删除,需要先删除表中的外键约束或者将其他表删除)。删除表的语法格式如下:

复制代码
DROP TABLE table_name

table_name为要删除的数据表的名称。

【例5.3】删除test_db数据库中的table_emp表,输入语句如下:

复制代码
USE test_db
GO
DROP TABLE dbo.table_emp
2. 删除数据库

删除数据库是将已经存在的数据库从磁盘空间中清除,清除之后,数据库中的所有数据也将一同被删除,删除数据库的基本语法格式为:

复制代码
DROP DATABASE database_name

database_name为要删除的数据库的名称。

【例5.4】删除test_db数据库,输入语句如下:

复制代码
DROP DATABASE test_db

5.1.3 ALTER的功能

当数据库结构无法满足需求或者存储空间已经填满时,可以使用ALTER语句对数据库和数据表进行修改。下面将介绍如何使用ALTER语句修改数据库和数据表。

1. 修改数据库

修改数据库可以使用ALTER DATABASE语句,其基本语法格式如下:

复制代码
ALTER DATABASE database_name
{
   ADD FILE <filespec> [ ,...n ]  [ TO FILEGROUP { filegroup_name } ]
  | ADD LOG FILE <filespec> [ ,...n ] 
  | REMOVE FILE logical_file_name 
  | MODIFY FILE <filespec>
| MODIFY NAME = new_database_name 
| ADD FILEGROUP filegroup_name 
| REMOVE FILEGROUP filegroup_name 
| MODIFY FILEGROUP filegroup_name
}
<filespec>::= 
(
NAME = logical_file_name  
[ , NEWNAME = new_logical_name ] 
[ , FILENAME = {'os_file_name' | 'filestream_path' } ] 
 [ , SIZE = size [ KB | MB | GB | TB ] ] 
[ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ] 
[ , FILEGROWTH = growth_increment [ KB | MB | GB | TB| % ] ] 
[ , OFFLINE ]
) 
  1. database_name:要修改的数据库的名称。
  2. ADD FILE...TO FILEGROUP:添加新数据库文件到指定的文件组中。
  3. ADD LOG FILE:添加日志文件。
  4. REMOVE FILE:从SQL Server的实例中删除逻辑文件说明并删除物理文件。除非文件为空,否则无法删除文件。
  5. MODIFY FILE:指定应修改的文件。一次只能更改一个<filespec>属性。必须在<filespec>中指定NAME,以标识要修改的文件。如果指定了SIZE,那么新大小必须比文件当前大小要大。
  6. MODIFY NAME:使用指定的名称重命名数据库。
  7. ADD FILEGROUP:向数据库中添加文件组。
  8. REMOVE FILEGROUP:从数据库中删除文件组。除非文件组为空,否则无法将其删除。
  9. MODIFY FILEGROUP:通过将状态设置为READ_ONLY或READ_WRITE,将文件组设置为数据库的默认文件组或者更改文件组名称来修改文件组。

【例5.5】将test_db数据库的名称修改为company,输入语句如下:

ALTER DATABASE test_db MODIFY NAME=company

2. 修改表

修改表结构可以在已经定义的表中增加新的字段列或删除多余的字段。实现这些操作可以使用ALTER TABLE语句,其基本语法格式如下:

复制代码
ALTER TABLE [ database_name . [ schema_name ] . ] table_name
{
ALTER
{
[COLUMN  column_name type_name  [column_constraints] ] [,......n]
}
| ADD  
{
[ column_name1 typename [column_constraints],[table_constraint] ] [, ......n]
}
| DROP
{
[COLUMN column_name1] [, ......n]
}
}
  1. ALTER:修改字段属性。
  2. ADD:表示向表中添加新的字段列,后面可以跟多个字段的定义信息,多个字段之间使用逗号隔开。
  3. DROP:删除表中的字段,可以同时删除多个字段,多个字段之间使用逗号分隔开。

【例5.6】在更改过名称的company数据库中,向tb_emp1数据表中添加名称为birth的字段列,数据类型为date,要求非空,输入语句如下:

复制代码
USE company
GO
ALTER TABLE tb_emp1 ADD  birth DATE NOT NULL

【例5.7】删除tb_emp1表中的birth字段列,输入语句如下:

复制代码
USE company
GO
ALTER TABLE tb_emp1 DROP COLUMN birth
相关推荐
胚芽鞘6814 小时前
关于java项目中maven的理解
java·数据库·maven
sun0077007 小时前
mysql索引底层原理
数据库·mysql
workflower10 小时前
MDSE和敏捷开发相互矛盾之处:方法论本质的冲突
数据库·软件工程·敏捷流程·极限编程
Tony小周10 小时前
实现一个点击输入框可以弹出的数字软键盘控件 qt 5.12
开发语言·数据库·qt
lifallen10 小时前
Paimon 原子提交实现
java·大数据·数据结构·数据库·后端·算法
TDengine (老段)10 小时前
TDengine 数据库建模最佳实践
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
Elastic 中国社区官方博客11 小时前
Elasticsearch 字符串包含子字符串:高级查询技巧
大数据·数据库·elasticsearch·搜索引擎·全文检索·lucene
Gauss松鼠会11 小时前
GaussDB应用场景全景解析:从金融核心到物联网的分布式数据库实践
数据库·分布式·物联网·金融·database·gaussdb
守城小轩12 小时前
Chromium 136 编译指南 - Android 篇:开发工具安装(三)
android·数据库·redis
尽兴-12 小时前
如何将多个.sql文件合并成一个:Windows和Linux/Mac详细指南
linux·数据库·windows·sql·macos