数据定义语言CREATE的应用

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

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

SQL Server数据库技术_夏天又到了的博客-CSDN博客

数据定义语言(Data Definition Language,DDL)是用于描述数据库中要存储的现实世界实体的语言。作为数据库管理系统的一部分,DDL用于定义数据库的所有特性和属性,例如行布局、字段定义、文件位置,常见的数据定义语句有CREATE DATABASE、CREATE TABLE、CREATE VIEW、DROP VIEW、ALTER TABLE等。本节将分别介绍各种数据定义语句。

5.1.1  CREATE的应用

作为数据库操作语言中非常重要的部分,CREATE用于创建数据库、数据表以及约束等。下面将详细介绍CREATE的具体应用。

1. 创建数据库

创建数据库是在系统磁盘上划分一块区域用于数据的存储和管理,创建数据库时需要指定数据库的名称、文件名称、数据文件大小、初始大小、是否自动增长等内容。SQL Server中可以使用CREATE DATABASE语句,或者通过对象资源管理器创建数据库。这里主要介绍CREATE DATABASE的用法。CREAETE DATABASE语句的基本语法格式如下:

CREATE DATABASE database_name 
[ ON [ PRIMARY ]
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| % ] ] 
]   [ ,...n ]
  1. database_name:数据库名称,不能与SQL Server中现有的数据库实例名称相冲突,最多可以包含128个字符。
  2. ON:指定显式定义用来存储数据库中数据的磁盘文件。
  3. PRIMARY:指定关联的<filespec>列表定义的主文件,在主文件组的<filespec>项中指定的第一个文件将生成主文件,一个数据库只能有一个主文件。如果没有指定PRIMARY,那么CREATE DATABASE语句中列出的第一个文件将成为主文件。
  4. LOG ON:指定用来存储数据库日志的日志文件。LOG ON后跟以逗号分隔的用以定义日志文件的<filespec>项列表。如果没有指定LOG ON,将自动创建一个日志文件,其大小为该数据库的所有数据文件大小总和的25%或512KB,取两者之中的较大者。
  5. NAME:指定文件的逻辑名称,引用文件时在SQL Server中使用的逻辑名称。
  6. FILENAME:指定创建文件时由操作系统使用的路径和文件名,执行CREATE DATABASE 语句前,指定路径必须存在。
  7. SIZE:指定数据库文件的初始大小,如果没有为主文件提供size,数据库引擎将使用model 数据库中的主文件的大小。
  8. MAXSIZE:指定文件可增大到的最大大小,可以使用KB、MB、GB和TB做后缀,默认值为MB。max_size是整数值。如果不指定max_size,则文件将不断增长直至磁盘被占满。UNLIMITED 表示文件一直增长到磁盘充满。
  9. FILEGROWTH:指定文件的自动增量。文件的FILEGROWTH设置不能超过MAXSIZE设置。该值可以MB、KB、GB、TB或百分比(%)为单位指定。默认单位为MB。如果指定%,则增量大小为发生增长时文件大小的指定百分比。值为0时表明自动增长被设置为关闭,不允许增加空间。

【例5.1】创建名称为test_db数据库,输入语句如下:

CREATE DATABASE test_db ON  PRIMARY 
(
NAME = test_db_data1,        							--数据库逻辑文件名称
FILENAME ='C:\SQL Server 2022\test_db_data.mdf',		--主数据文件的存储位置
SIZE = 5120KB ,      									--主数据文件大小
MAXSIZE =20,      									--主数据文件最大增长空间为20MB
FILEGROWTH =1     									--文件增长大小设置为1MB
)

这段代码创建了一个名称为test_db的数据库,设定数据库的主数据文件名称为test_db_data1,主数据文件大小为5MB,增长大小为1MB。注意,这段代码没有指定创建事务日志文件,但是系统默认会创建一个数据库名称加上_log的日志文件,该日志文件的大小为系统默认值2MB,增量为10%,因为没有设置增长限制,所以事务日志文件的最大增长空间将是指定磁盘上的所有剩余可用空间。

2. 创建数据表

在创建完数据库之后,接下来的工作是创建数据表。所谓创建数据表,指的是在已经创建好的数据库中建立新表。创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性约束的过程。创建数据表使用CREATE TABLE语句,CREATE TABLE语句的基本语法格式如下:

CREATE TABLE  [database_name.[ schema_name ].] table_name
{column_name  <data_type>
[ NULL | NOT NULL ] | [ DEFAULT constant_expression ] | [ ROWGUIDCOL ]
{ PRIMARY KEY | UNIQUE } [CLUSTERED | NONCLUSTERED][ ASC | DESC ] 
}[ ,...n ]
  1. database_name:要在其中创建表的数据库名称,若不指定数据库名称,则默认使用当前数据库。
  2. schema_name:新表所属架构的名称,若此项为空,则默认新表的创建者在当前架构。
  3. table_name:创建的数据表的名称。
  4. column_name:数据表中的各个列的名称,列名称必须唯一。
  5. data_type:指定字段列的数据类型,可以是系统数据类型,也可以是用户定义数据类型。
  6. NULL | NOT NULL:确定列中是否允许使用空值。
  7. DEFAULT:用于指定列的默认值。
  8. ROWGUIDCOL:指示新列是行GUID列。对于每个表,只能将其中的一个uniqueidentifier 列指定为ROWGUIDCOL列。
  9. PRIMARY KEY:主键约束,通过唯一索引对给定的一列或多列强制创建实体完整性约束。每个表只能创建一个 PRIMARY KEY 约束。PRIMARY KEY 约束中定义的所有列都必须定义为 NOT NULL。
  10. UNIQUE:唯一性约束,该约束通过唯一索引为一个或多个指定列提供实体完整性。一个表可以有多个 UNIQUE 约束。
  11. CLUSTERED | NONCLUSTERED:指示为 PRIMARY KEY 或 UNIQUE 约束创建聚集索引还是非聚集索引。PRIMARY KEY 约束默认为 CLUSTERED,UNIQUE 约束默认为 NONCLUSTERED。在CREATE TABLE语句中,可只为一个约束指定CLUSTERED。如果在为UNIQUE约束指定CLUSTERED的同时又指定了RIMARY KEY 约束,则PRIMARY KEY将默认为NONCLUSTERED。
  12. [ ASC | DESC ]:指定加入表约束中的一列或多列的排序顺序,ASC为升序排列,DESC为降序排列,默认值为ASC。

【例5.2】在test_db数据库中创建员工表tb_emp1,结构如表5-1所示。

表5-1  tb_emp1表结构

字段名称

数据类型

   

id

INT(11)

员工编号

name

VARCHAR(25)

员工名称

deptId

CHAR(2)

所在部门编号

salary

SMALLMONEY

工资

输入语句如下:

USE test_db
CREATE TABLE tb_emp1
(id       INT PRIMARY KEY,name   VARCHAR(25) NOT NULL,deptId  CHAR(2) NOT NULL,salary  SMALLMONEY NULL
);

这段代码将在test_db数据库中添加一个名称为tb_emp1的数据表。读者可以打开表的设计窗口,看到该表的结构,如图5-1所示。

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

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

相关文章

IGZO基底无电容DRAM单元前景看好

1.DRAM技术简介 DRAM&#xff08;Dynamic Random Access Memory&#xff0c;动态随机存取存储器&#xff09;是一种用于计算机和其他电子设备中的主存储器类型&#xff0c;其主要由存储单元阵列构成&#xff0c;而每一个存储单元由一个电容器和一个晶体管组成&#xff0c;如图…

EasyAR自定义相机RTSP视频流(CustomCamera)

EasyAR可以使用视频源作为输入源&#xff0c;官方给出了示例和文档&#xff0c;但是对于大部分Unity开发人员来说看了文档还是一头雾水。 在Android Studio中将custom-camera.jar添加libs中&#xff0c;就可以查看源代码了 分析其源代码&#xff0c;主要是ExternalCameraSampl…

AI数字人直播爆火,数字人虚拟主播成品牌闲时直播最佳选择!

近年来&#xff0c;随着互联网的普及和发展&#xff0c;电商和直播平台在我国迅速崛起。根据中国网络信息中心的数据显示&#xff0c;我国直播用户7.5亿&#xff0c;使用率已经超过70%&#xff0c;直播已经成为企业重要的营销和销售通道。 一、在经历了几年的爆发式增长后&…

日期类的实现- 计算日期之间相差多少天-解决单参数构造

个人主页&#xff1a;Jason_from_China-CSDN博客 所属栏目&#xff1a;C系统性学习_Jason_from_China的博客-CSDN博客 所属栏目&#xff1a;C知识点的补充_Jason_from_China的博客-CSDN博客 这里有坑&#xff0c;这里有坑&#xff0c;这里有坑 首选我们直接上代码&#xff0c;因…

Unity场景内画车道线(根据五阶曲线系数)

之前做过使用Dreamteck Splines插件构建车道线之前需求是给定车道线的点位&#xff0c;根据点位来进行构建。 由于AI识别出来的点位不线性&#xff0c;画出来的车道线经常是歪七扭八&#xff0c;所以使用五阶曲线系数进行构建。 使用在线图形计算器进行测试构建&#xff0c;公式…

【C++】STL标准模板库容器set

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C ⚙️操作环境:Visual Studio 2022 目录 &#x1f4cc;关联式容器set(集合)简介 &#x1f4cc;set(集合)的使用 &#x1f38f;set(集合)的模板参数列表 &#x1f38f;set(集合)的构造函数 &#x1f38f;set(集合)的迭代…

Vue 项目实战4-无缝轮播图

养成好习惯&#xff0c;先赞后看&#xff0c;感谢对作者大大的支持 一、话不多说&#xff0c;直接上效果图&#xff1a; 完整视频展示链接如下&#xff1a; https://item.taobao.com/item.htm?ftt&id833405684191 二、实现思路 HTML结构 文档头部设置&#xff1a;定义…

C# 委托(Delegate)二

一.委托的多播&#xff08;Multicasting of a Delegate&#xff09;&#xff1a; 委托对象&#xff0c;使用 "" 运算符进行合并&#xff0c;一个合并委托调用它所合并的两个委托。使用"-" 运算符从合并的委托中移除组件委托。 注&#xff1a;只有相同类型…

C语言编译和链接详解(通俗易懂,深入本质)

我们平时所说的程序,是指双击后就可以直接运行的程序,这样的程序被称为可执行程序(Executable Program)。在 Windows 下,可执行程序的后缀有.exe和.com(其中.exe比较常见);在类 UNIX 系统(Linux、Mac OS 等)下,可执行程序没有特定的后缀,系统根据文件的头部信息来判…

小小扑克牌算法

1.定义一个扑克牌类Card&#xff1a; package democard; public class Card {public String suit;//表示花色public int rank;//表示牌点数Overridepublic String toString() {return "{"suit rank"}";}//实例方法&#xff0c;初始化牌的点数和花色public…

Redis篇(初识Redis)

目录 一、数据库 二、NoSQL 三、认识Redis 三、关系数据库与非关系数据库对比 1. 结构化与非结构化 2. 关联和非关联 3. 查询方式 4. 事务 5. 存储方式 6. 扩展性 7. 总结 7.1. 图形梳理 7.2. 表格梳理 7.3. 优缺点 关系型数据库 非关系型数据库 四、再次认识R…

word中的表格全部设置宽度100%

1、背景 我们用工具将数据库或其他的数据导出成word时&#xff0c;表格有的会大于100%&#xff0c;超过了边界。word没有提供全局修改的方法。如果我们想改成100%。 一种方式是通过宏&#xff0c;全局改。一种是手动改。 2、宏修改 如果表格多&#xff0c;可以通过这种方式。…

【Qt】前后端交互---DataCenter类

设计目的 前后端交互系统中&#xff0c;创建并使用数据核心类的目的就是让该类作为客户端的数据中心&#xff0c;也就是说其负责管理客户端的所有数据与服务器的网络通信。 数据持久化 初始化数据文件 该函数设计的目的就是用于检查所需要的文件和目录是否存在&#xff0c;如…

You are not allowed to push code to this project

原因1 用户权限不够。 具体查看用户权限路径&#xff1a; 原因2 vscode之前都能提交代码&#xff0c;但是突然就提交不上了。 表现为:前端代码能拉取&#xff0c;但是不能提交。使用idea进行前端代码的提交&#xff0c;完全没问题。 解决方案&#xff1a;修改TortoiseG…

新160个crackme - 066-Andrnalin.3

运行分析 文字是德语&#xff0c;需要破解Key PE分析 VB程序&#xff0c;32位&#xff0c;无壳 静态分析&动态调试 使用 VB Decompiler 静态分析&#xff0c;发现逻辑如下&#xff1a;1、提取Key每个字符 102、计算后的Key要与"kXy^rO|yXom\kMuOn*"相等 算法分析…

25 基于51单片机的温度电流电压检测系统(压力、电压、温度、电流、LCD1602)

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机&#xff0c;通过DS18B20检测温度&#xff0c;滑动变阻器连接数模转换器模拟电流、电压&#xff0c;通过LCD1602显示&#xff0c;程序里设置温度阈值为40&#xff0c;电流阈值为60&am…

[大语言模型-论文精读] 以《黑神话:悟空》为研究案例探讨VLMs能否玩动作角色扮演游戏?

1. 论文简介 论文《Can VLMs Play Action Role-Playing Games? Take Black Myth Wukong as a Study Case》是阿里巴巴集团的Peng Chen、Pi Bu、Jun Song和Yuan Gao&#xff0c;在2024.09.19提交到arXiv上的研究论文。 论文: https://arxiv.org/abs/2409.12889代码和数据: h…

openKylin--安装 .net6.0

编辑profile文件 cd .. //切换到根目录 cd /etc //切换到etc目录 vim profile //b编辑profile文件 1. 按→键移动到文件末尾 2. 按Insert键进入编辑模式 3. 按Enter另起一行开始编辑 export DOTNET_ROOT/home/dotnetexport PATH$PATH:/home/dotnet 可以通过右键--粘贴 的…

使用Crawler实例进行网页内容抓取

网页内容抓取的背景 随着互联网的快速发展&#xff0c;网页上的信息量日益庞大。如何从海量的网页中快速、准确地抓取所需信息&#xff0c;成为了一个技术挑战。网页内容抓取技术通过自动化的方式&#xff0c;模拟用户浏览网页的过程&#xff0c;获取网页上的文本、图片、链接…

通信工程学习:什么是FDD频分双工

FDD:频分双工 FDD(频分双工,Frequency Division Duplexing)是一种无线通信技术,它通过将频谱划分为上行和下行两个不重叠的频段来实现同时双向通信。以下是FDD频分双工的详细解释: 一、定义与原理 定义: FDD是一种无线通信系统的工作模式,其中上行链路(从移动…