IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> SQL Server创建表和添加列 -> 正文阅读

[大数据]SQL Server创建表和添加列

撰写时间:2022 年 4 月 27日

			  	  SQLServer创建表和添加列

SQL Server创建表:
表用于在数据库中存储数据;表在数据库和模式中唯一命名。每个表包含一个或多个列。每列都有一个相关的数据类型,用于定义它可以存储的数据类型,例如:数字,字符串和日期。要创建新表,请使用create table 语句,如下所示:

Create table [database_name.][schema_name.]table_name (
pk_column data_type primary key,
column_1 data_type not null,
column_2 data_type,
…,
Table_constraints
);

在上面的语法中,首先,指定创建表的数据库名称。database_name必须是现有数据库的名称。如果未指定,则database_name默认为当前数据库。其次,schema_name指定新表所属的模式。第三table_name指定新表的名称。第四,每个表应该有一个由一个列或多个列组成的主键。通常,首先列出主键列,然后列出其他列。如果主键只包含一列,则可以在列名后使用 primary key 关键字。 如果主键由两列或更多列组成,则需要将 primary key约束指定为表约束。 每个列都在语句中的名称后面指定了关联的数据类型。 列可能具有一个或多个列约束,例如: not null 和 unique 。第五,表可能在表约束部分中指定了一些约束,例如: foreign key, primary key , unique 和 check。

SQL Server CREATE TABLE示例
以下语句创建一个名为 visits 的新表来跟踪客户的店内访问:
CREATE TABLE sales.visits (
visit_id INT PRIMARY KEY IDENTITY (1, 1),
first_name VARCHAR (50) NOT NULL,
last_name VARCHAR (50) NOT NULL,
visited_at DATETIME, phone VARCHAR(20),
store_id INT NOT NULL,
FOREIGN KEY (store_id) REFERENCES sales.stores (store_id)
);
在这个示例中:
因为没有明确指定创建表的数据库名称,所以在 bb_stores 数据库中创建了 visits 表。但是已经明确指定模式,因此,在 sales 模式中创建了 visits 表。
visits 表中定义了 6 列,下面来看每一列的简介描述:
1、visit_id 列是表的主键列。 IDENTITY(1,1) 指示SQL Server自动生成从 1 开始的列的整数,并为每个新行递增 1 。2、 first_name 和 last_name 列是 VARCHAR 类型的字符串列。 这些列最多可以存储 50 个字符。3、visited_at 是 DATETIME 数据类型的列,记录客户访问商店的日期和时间。4、phone 列是一个接受 NULL 的 VARCHAR 字符串列。5、store_id 列存储标识客户访问商店的标识号。6、表定义的末尾是 FOREIGN KEY 约束。 此外键确保 visit 表的 store_id 列中的值必须在 stores表的 store_id 列中可用。可在后续教程中了解有关 FOREIGN KEY 约束的更多信息。
SQL Server标识列:
要为表创建标识列,请使用 IDENTITY 属性,如下所示:
IDENTITY[(seed,increment)]
在上面语法中,
seed 是表中的第一行的值(第一条记录标识列使用的值)。 increment 是添加到上一行标识值的增量值。seed 和 increment 的默认值是 1 ,即 (1,1) 。表示加载到表中的第一行的值为: 1 ,第二行的值为:2 (在上一行: 1 的基础上加 1 ),依此类推。
假设,希望第一行的标识列的值为 10 ,增量值为 2 ,可使用以下语法:
IDENTITY (10,2)
注:第一条记录标识列的值是:10,第二条记录标识列的值是:12,第三条记录标识列的值为:14,依此类推。

SQL Server允许每个表只有一个标识列。
创建一个名为 hr 的新模式用来练习:
CREATE SCHEMA hr;
以下语句在个人标识号( person_id )列上使用 IDENTITY 属性创建新表:
CREATE TABLE hr.person (
person_id INT IDENTITY(1,1) PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
gender CHAR(1) NOT NULL
);
重用标识值
SQL Server不能重用标识值。 如果在标识列中插入行并且执行 insert 语句失败或回滚,则标识值将丢失,并且不会再次生成。这会导致标识列中出现空白。
方法一:
使用Truncate
TRUNCATE TABLE name 可以删除表内所有值并重置标识值 ,但是表内的数据将丢失。
方法二:
你想要重置标识值(不删除数据)采用下面方法即可:

  1. DBCC CHECKIDENT (‘表名’, RESEED, new_value)(重置新的标识值,new_value为新值) 2. select IDENT_CURRENT(‘a’) 当前表标识列的最大值
  2. select @@IDENTITY 当前标识列的最大值

SQL Server向表添加列:
ALTER TABLE ADD 语句将一个或多个列添加到表中。
以下 ALTER TABLE ADD 语句将新列添加到表中:
ALTER TABLE table_name ADD column_name data_type column_constraint;
在上面语句中:
首先, table_name 指定要添加新列的表的名称。其次, column_name 指定列的名称, data_type 表示数据类型, column_constraint 表示约束(如果适用)。
如果要使用单个 ALTER TABLE 语句一次向表中添加多个列,请使用以下语法:
ALTER TABLE table_name
ADD
column_name_1 data_type_1 column_constraint_1,
column_name_2 data_type_2 column_constraint_2,
…,
column_name_n data_type_n column_constraint_n;
在此语法中,指定要在 ADD 子句之后添加到表中,以逗号分隔的列列表。
SQL Server ALTER TABLE ADD列示例
以下语句创建一个名为 sales.quotations 的新表:
CREATE TABLE sales.quotations (
quotation_no INT IDENTITY PRIMARY KEY,
valid_from DATE NOT NULL,
valid_to DATE NOT NULL
);
要将名为 description 的新列添加到 sales.quotations 表,请使用以下语句:
ALTER TABLE sales.quotations
ADD description VARCHAR (255) NOT NULL;
以下语句将两个名为 amount 和 customer_name 的新列添加到 sales.quotations 表中:
ALTER TABLE sales.quotations
ADD
amount DECIMAL (10, 2) NOT NULL,
customer_name VARCHAR (50) NOT NULL;

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-29 12:12:55  更:2022-04-29 12:13:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:38:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码