数据定义语言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.mfbz.cn/a/884307.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Python】1.初始Python--打开Python的大门

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更…

Java Web —— 第十天(SpringBoot原理)

SpringBoot框架之所以使用起来更简单更快捷&#xff0c;是因为SpringBoot框架底层提供了两个非常重要的 功能&#xff1a;一个是起步依赖&#xff0c;一个是自动配置。 通过SpringBoot所提供的起步依赖&#xff0c;就可以大大的简化pom文件当中依赖的配置&#xff0c;从而解决…

游戏开发2025年最新版——八股文面试题(unity,虚幻,cocos都适用)

1.静态合批与动态合批的原理是什么&#xff1f;有什么限制条件&#xff1f;为什么&#xff1f;对CPU和GPU产生的影响分别是什么&#xff1f; 原理&#xff1a;Unity运行时可以将一些物体进行合并&#xff0c;从而用一个描绘调用来渲染他们&#xff0c;就是一个drawcall批次。 限…

微信占用空间太大,文件清理工具来了

今天分享几个安卓手机文件清理工具。 SD女佣 安卓经典系统清理利器&#xff0c;一键释放存储空间&#xff0c;能清理手机中的垃圾文件、临时文件和无用的应用程序数据&#xff0c;提升设备性能并节省存储空间&#xff0c;内置强大的文件浏览器&#xff0c;支持应用管理和系统…

LeetCode讲解篇之5. 最长回文子串

文章目录 题目描述题解思路题解代码 题目描述 题目链接 题解思路 从中心点先寻找和中心点相等的左右端点&#xff0c;在基于左右端点进行往外扩散&#xff0c;直至左右端点不相等或者越界&#xff0c;然后左右端点这个范围内就是我们找寻的回文串&#xff0c;我们遍历中心点…

AI 大模型浪潮下,大龄程序员怎样转型求变,攀登技术高峰?

前言 在信息技术迅猛发展的今天&#xff0c;程序员作为技术的创造者和实践者&#xff0c;正面临前所未有的挑战。技术的迭代速度日益加快&#xff0c;传统项目的生命周期不断缩短。同时&#xff0c;人工智能&#xff08;AI&#xff09;尤其是大模型技术的兴起&#xff0c;使得…

如何调整云桌面安装的虚拟机分辨率?

如何调整云桌面安装的虚拟机分辨率&#xff1f; 1. 编辑GRUB配置文件2. 修改分辨率3. 更新GRUB4. 重启虚拟机 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在云桌面环境中&#xff0c;虚拟机分辨率过低且无法调整时&#xff0c;可以通过以…

影刀RPA实战:java结合影刀同步采购订单数据

1.实战目标 本次实战我们用java语言结合影刀&#xff0c;实现从自用ERP系统同步订单到旺店通中&#xff0c;在工作中&#xff0c;有时候我们的运营数据不是直接在旺店通ERP中操作&#xff0c;比如我们有自己的ERP&#xff0c;完成一些特定的内部工作后&#xff0c;再把数据同步…

[3]Opengl ES着色器

术语&#xff1a; VertexShader&#xff1a;顶点着色器&#xff0c;用来描述图形图像位置的顶点坐标&#xff1b; FragmentShader&#xff1a;片元着色器&#xff0c;用来给顶点指定的区域进行着色&#xff1b; Vertex&#xff1a;顶点 Texture&#xff1a;纹理…

云 安 全 (Cloud Security)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 本人主要分享计算机核心技…

解决setMouseTracking(true)后还是无法触发mouseMoveEvent的问题

如图&#xff0c;在给整体界面设置鼠标追踪且给ui界面的子控件也设置了鼠标追踪后&#xff0c;运行后的界面仍然有些地方移动鼠标无法触发 mouseMoveEvent函数&#xff0c;这就令人头痛。。。 我的解决方法是&#xff1a;重载event函数&#xff1a; 完美解决。。。

【线程】线程的同步---生产消费者模型

本文重点&#xff1a;理解条件变量和生产者消费者模型 同步是在保证数据安全的情况下&#xff0c;让我们的线程访问资源具有一定的顺序性 条件变量cond 当一个线程互斥地访问某个变量时&#xff0c;它可能发现在其它线程改变状态之前&#xff0c;它什么也做不了&#xff0c;…

Vue中集中常见的布局方式

布局叠加 完整代码最外层的Container设置为relative&#xff0c;内部的几个box设置为absolute <template><div class"container"><div class"box box1">Box 1</div><div class"box box2">Box 2</div><d…

LeetCode讲解篇之53. 最大子数组和

文章目录 题目描述题解思路题解代码 题目描述 题解思路 该问题我们可以转换为求以i为最后一个元素的0 ~ i范围内的最大子数组和&#xff0c;然后其中的所有的最大子数组和的最大值就是我们要返回的答案 题解代码 func maxSubArray(nums []int) int {ans : nums[0]for i : 1;…

CLIP模型微调简明指南

CLIP 等多模态模型通过将图像等复杂对象与易于理解、生成和解析的文本描述联系起来&#xff0c;开辟了新的 AI 用例。但是&#xff0c;像 CLIP 这样的现成模型可能无法代表特定领域中常见的数据&#xff0c;在这种情况下&#xff0c;可能需要进行微调以使模型适应该领域。 这篇…

8.使用 VSCode 过程中的英语积累 - Help 菜单(每一次重点积累 5 个单词)

前言 学习可以不局限于传统的书籍和课堂&#xff0c;各种生活的元素也都可以做为我们的学习对象&#xff0c;本文将利用 VSCode 页面上的各种英文元素来做英语的积累&#xff0c;如此做有 3 大利 这些软件在我们工作中是时时刻刻接触的&#xff0c;借此做英语积累再合适不过&a…

【Java】虚拟机(JVM)内存模型全解析

目录 一、运行时数据区域划分 版本的差异&#xff1a; 二、程序计数器 程序计数器主要作用 三、Java虚拟机 1. 虚拟机运行原理 2. 活动栈被弹出的方式 3. 虚拟机栈可能产生的错误 4. 虚拟机栈的大小 四、本地方法栈 五、堆 1. 堆区的组成&#xff1a;新生代老生代 …

计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-22

计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-22 引言: 全球最热销的国产游戏-《黑神话: 悟空》不仅给世界各地玩家们带来愉悦&#xff0c;而且对计算机人工智能研究也带来新的思考。在本期的论文速读中&#xff0c;我们带来一篇关于视觉语言模型&#xff0…

深度解析与解决方案:U盘有盘符但无法打开的困境

引言&#xff1a;U盘困境初现 在日常工作与生活中&#xff0c;U盘作为便携式存储设备&#xff0c;扮演着数据传输与备份的重要角色。然而&#xff0c;不少用户会遇到这样一个棘手问题&#xff1a;U盘在插入电脑后能够正常显示盘符&#xff0c;但尝试打开时却遭遇拒绝访问或提示…

运维,36岁,正在经历中年危机,零基础入门到精通,收藏这一篇就够了

我今年36岁&#xff0c;运维经理&#xff0c;985硕士毕业&#xff0c;目前正在经历中年危机&#xff0c;真的很焦虑&#xff0c;对未来充满担忧。不知道这样的日子还会持续多久&#xff0c;突然很想把这些年的经历记录下来&#xff0c;那就从今天开始吧。 先说一下我的中年危机…