Sql Server系列:数据表操作
表是用来存储数据和操作数据的逻辑结构,用来组织和存储数据,关系数据库中的所有数据都表现为表的形式,数据表由行和列组成。SQL Server中的数据表分为临时表和永久表,临时表存储在tempdb系统数据库中,当不再使用或退出SQL Server时,临时表会自动删除;永久表一旦创建之后,除非用户删除,否则将一直存在数据库文件中。
创建数据表的两种方法:(1) 通过对象资源管理器创建;(2) 通过Transact-SQL语句进行创建。
1 Transact-SQL创建表
1.1 语法
CREATE TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name ( { <column_definition> | <computed_column_definition> | <column_set_definition> }[ <table_constraint> ] [ ,...n ] ) [ ON { partition_scheme_name ( partition_column_name ) | filegroup | "default" } ] [ { TEXTIMAGE_ON { filegroup | "default" } ] [ FILESTREAM_ON { partition_scheme_name | filegroup | "default" } ][ WITH ( <table_option> [ ,...n ] ) ] [ ; ]<column_definition> ::= column_name <data_type>[ FILESTREAM ][ COLLATE collation_name ] [ NULL | NOT NULL ][ [ CONSTRAINT constraint_name ] DEFAULT constant_expression ] | [ IDENTITY [ ( seed ,increment ) ] [ NOT FOR REPLICATION ] ][ ROWGUIDCOL ] [ <column_constraint> [ ...n ] ] [ SPARSE ] <data type> ::= [ type_schema_name . ] type_name [ ( precision [ , scale ] | max | [ { CONTENT | DOCUMENT } ] xml_schema_collection ) ] <column_constraint> ::= [ CONSTRAINT constraint_name ] { { PRIMARY KEY | UNIQUE } [ CLUSTERED | NONCLUSTERED ] [ WITH FILLFACTOR = fillfactor | WITH ( < index_option > [ , ...n ] ) ] [ ON { partition_scheme_name ( partition_column_name ) | filegroup | "default" } ]| [ FOREIGN KEY ] REFERENCES [ schema_name . ] referenced_table_name [ ( ref_column ) ] [ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] [ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] [ NOT FOR REPLICATION ] | CHECK [ NOT FOR REPLICATION ] ( logical_expression ) } <computed_column_definition> ::= column_name AS computed_column_expression [ PERSISTED [ NOT NULL ] ] [ [ CONSTRAINT constraint_name ]{ PRIMARY KEY | UNIQUE }[ CLUSTERED | NONCLUSTERED ][ WITH FILLFACTOR = fillfactor | WITH ( <index_option> [ , ...n ] )]| [ FOREIGN KEY ] REFERENCES referenced_table_name [ ( ref_column ) ] [ ON DELETE { NO ACTION | CASCADE } ] [ ON UPDATE { NO ACTION } ] [ NOT FOR REPLICATION ] | CHECK [ NOT FOR REPLICATION ] ( logical_expression ) [ ON { partition_scheme_name ( partition_column_name ) | filegroup | "default" } ] ] <column_set_definition> ::= column_set_name XML COLUMN_SET FOR ALL_SPARSE_COLUMNS< table_constraint > ::= [ CONSTRAINT constraint_name ] { { PRIMARY KEY | UNIQUE } [ CLUSTERED | NONCLUSTERED ] (column [ ASC | DESC ] [ ,...n ] ) [ WITH FILLFACTOR = fillfactor |WITH ( <index_option> [ , ...n ] ) ][ ON { partition_scheme_name (partition_column_name)| filegroup | "default" } ] | FOREIGN KEY ( column [ ,...n ] ) REFERENCES referenced_table_name [ ( ref_column [ ,...n ] ) ] [ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] [ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] [ NOT FOR REPLICATION ] | CHECK [ NOT FOR REPLICATION ] ( logical_expression ) } <table_option> ::= {DATA_COMPRESSION = { NONE | ROW | PAGE }[ ON PARTITIONS ( { <partition_number_expression> | <range> } [ , ...n ] ) ] }<index_option> ::= { PAD_INDEX = { ON | OFF } | FILLFACTOR = fillfactor | IGNORE_DUP_KEY = { ON | OFF } | STATISTICS_NORECOMPUTE = { ON | OFF } | ALLOW_ROW_LOCKS = { ON | OFF} | ALLOW_PAGE_LOCKS ={ ON | OFF} | DATA_COMPRESSION = { NONE | ROW | PAGE }[ ON PARTITIONS ( { <partition_number_expression> | <range> } [ , ...n ] ) ] } <range> ::= <partition_number_expression> TO <partition_number_expression>
2 Transact-SQL修改表
2.1 语法
ALTER TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name { ALTER COLUMN column_name { [ type_schema_name. ] type_name [ ( { precision [ , scale ] | max | xml_schema_collection } ) ] [ COLLATE collation_name ] [ NULL | NOT NULL ] [ SPARSE ]| {ADD | DROP } { ROWGUIDCOL | PERSISTED | NOT FOR REPLICATION | SPARSE }} | [ WITH { CHECK | NOCHECK } ]| ADD { <column_definition>| <computed_column_definition>| <table_constraint> | <column_set_definition> } [ ,...n ]| DROP {[ CONSTRAINT ] { constraint_name [ WITH ( <drop_clustered_constraint_option> [ ,...n ] ) ] } [ ,...n ]| COLUMN {column_name } [ ,...n ]} [ ,...n ]| [ WITH { CHECK | NOCHECK } ] { CHECK | NOCHECK } CONSTRAINT { ALL | constraint_name [ ,...n ] } | { ENABLE | DISABLE } TRIGGER { ALL | trigger_name [ ,...n ] }| { ENABLE | DISABLE } CHANGE_TRACKING [ WITH ( TRACK_COLUMNS_UPDATED = { ON | OFF } ) ]| SWITCH [ PARTITION source_partition_number_expression ]TO target_table [ PARTITION target_partition_number_expression ][ WITH ( <low_lock_priority_wait> ) ]| SET ( FILESTREAM_ON = { partition_scheme_name | filegroup | "default" | "NULL" } )| REBUILD [ [PARTITION = ALL][ WITH ( <rebuild_option> [ ,...n ] ) ] | [ PARTITION = partition_number [ WITH ( <single_partition_rebuild_option> [ ,...n ] ) ]]]| <table_option>| <filetable_option>} [ ; ]
2.2 示例
修改表添加新列
ALTER TABLE [dbo].[Product] ADD [UnitPrice] DECIMAL(18,2) NULL
ALTER TABLE [dbo].[Product] ADD [UnitsInStock] INT NULL, [UnitsOnSale] INT NULL
修改列
ALTER TABLE [dbo].[Product] ALTER COLUMN [ProductName] VARCHAR(100) NOT NULL
删除列
ALTER TABLE [dbo].[Product] DROP COLUMN [UnitPrice]
3 Transact-SQL删除表
3.1 语法
DROP TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name [ ,...n ][ ; ]
4 表操作示例
查看数据库中全部的表
USE [Portal] GO SELECT * FROM INFORMATION_SCHEMA.TABLES GO
INFORMATION_SCHEMA是一个特定的访问路径,用于显示系统数据库及其内容的相关元数据。如INFORMATION_SCHEMA.VIEWS、INFORMATION_SCHEMA.SCHEMATA。
查看表的属性
存储过程sp_help的功能是查看任意数据库对象、用户自定义数据类型或SQL Server数据类型的信息。
执行存储过程sp_help的语法结构:
EXEC sp_help <name>
查看Product表的属性:
EXEC sp_help Product
转载于:https://www.cnblogs.com/libingql/p/4087155.html
Sql Server系列:数据表操作相关推荐
- 【数据库实验课堂】实验二 使用SQL Server管理数据表
实验二 使用SQL Server管理数据表: 1.请在指定数据库内完成以下内容: 1) 依据数据表的结构创建相对应的数据表,表结构如下所示: **学生信息表(student)**字段名称 字段类型及长 ...
- 使用SQL Server管理数据表
<数据库系统概论>实验报告 日期 2020/9/13 题目:使用SQL Server管理数据表 姓名 学号 实验环境: 已安装SQL Server 2005/2008版的计算机 实验内容及 ...
- SQL Server打开数据表中的XML内容时报错的解决办法
从SQL Server2005开始提供了一种新的数据类型XML type,它允许用户将数据以XML文件的格式直接存储到数据表中.结合在ASP.NET中使用Linq to Sql,我们可以非常方便地将X ...
- Sql Server系列:数据库操作
1 创建数据库 1.1 CREATE DATABASE语法 CREATE DATABASE database_name [ ON [ PRIMARY ] <filespec> [ ,... ...
- SQL Server 新增数据表数据
新增数据表数据 1. DML是数据库的操纵语言 ,使用DML方便了用户操作数据库数据 INSERT语句,用于新增记录到数据库表: 2. INSERT语句 新增表数据时所有字段都需要赋值的话,字段名可以 ...
- SQL Server为数据表增加列(字段)的SQL语句
下面是一个示例: ALTER TABLE TableName ADD NewField DECIMAL(18, 2) NOT NULL DEFAULT ((0)) 上面的代码为"TableN ...
- SQL Server大数据表的分区存储
为什么80%的码农都做不了架构师?>>> 1. 建立分区存储的文件组(filegroup)和文件(file) ALTER DATABASE Student ADD FILEGR ...
- SQL Server 查询数据表数据
查询数据表数据 1.查询数据表所有字段的数据信息: 2.查询部分列的所有数据: 3.查询部分列的所有数据,过滤重复行信息:
- SQL Server 删除数据表数据
删除数据表数据 1.DELETE语句删除数据表数据 2.删除数据表的所有数据不包括数据框架: delete命令删除的数据将存储在系统回滚段中,需要的时候,数据可以回滚恢复,而truncate命令删除的 ...
- SQL Server 更新数据表记录
更新数据表记录 1.UPDATE语句用于更新数据表中的数据,可以一次更新一列和多列数据, 对数据表的字段相应列进行全部的更新 更新一列数据表语法: update student set 字段=值 更新 ...
最新文章
- c实现面向对象编程(3)
- 全新池化方法AdaPool | 让ResNet、DenseNet、ResNeXt等在所有下游任务轻松涨点
- eclipse安装反编译插件jd-eclipse
- redis相关知识记录整理
- IntelliJ IDEA使用(一)基本设置与类、方法模板设置
- 建立一颗二叉排序树,并删除该二叉排序树上的某个节点
- OAF_OAF组件系列1 - Item Style汇总(概念)
- winform,wpf全屏 还显示任务栏的解决方法
- DATASNAP数据序列之FIREDAC的TFDJSONDataSets
- Android 360分包,如何安装分包app安装包
- html表格 超链接无效,excel表格超链接失效的解决方法
- 计算机上睡眠和休眠区别,计算机睡眠和休眠的区别
- 抖音小姐姐太好看了,我用Python把视频全部爬取下来
- XTU 1148 三角形
- VBA 工作表 worksheet.add 方法
- Java、计算税收(Java8)
- imp oracle错误3114,imp时发生错误ORA-01114
- 【NOIP 2016】Day1 T2 天天爱跑步
- 万圣节html代码大全,基于Jquery实现万圣节快乐特效
- 谈谈我做拼音搜索的一点经验
热门文章
- 网上银行等电子支付平台的WEB登陆安全性简要分析
- ubuntu系统工具记录
- Libevent源码分析-----日志和错误处理
- do_initcalls 的原理
- 解决方案】VMware无法从主机向虚拟机跨系统复制粘贴拖动文件/文本
- 如何安装Scrapy
- Linux用管道移动文件夹,linux常用命令(示例代码)
- 根据pid查端口_PID控制原理:看完这几个故事你就明白了
- flask html 得到文本框 input的内容_Python的Web框架Flask + Vue 生成漂亮的词云
- 2018计算机java二级题库6_2018年计算机二级考试JAVA试题及答案六