如何使用SQL Server语句创建表


Posted in SQL Server onApril 12, 2022

前言

SQL Server创建表是最常见也是最常用的操作之一,下面就为您介绍SQL Server创建表的语句写法,供您参考,希望可以让您对SQL Server创建表方面有更深的认识。

方法如下:

1:在sql语句中,临时表有两类,分别是局部(local)和全局(global)临时表,局部临时表只在其会话(事务)中可见,全局临时表可以被会话(事务)中的任何程序或者模块访问

2:创建局部临时表

use db_sqlserver
go
create table #db_local_table
(
  id  int,
  name varchar(50),
  age int,
  area int
)

创建的临时表不能与其他会话共享,当会话结束时,行和表的定义都将被删除

3:创建全局临时表

use db_sqlserver
go
create table ##db_local_table
(
  id  int,
  name varchar(50),
  age int,
  area int
)

全局临时表对所有用户都是可见的,在每个访问该表的用户都断开服务器连接时,全局临时表才会被删除

4:创建主键、外键关联的数据库表

use db_sqlserver;
go
create table db_table5
(
  职工编号 int primary key,
  职工号  varchar(50) unique,
  仓库号  varchar(50),
  工资   int
)
 
go
create table db_table6
(
  订单编号 int primary key,
  订单号  varchar(50) unique,
  职工号 varchar(50) references db_table5(职工号),
  订购日期 datetime,
  销售金额 int
)

5:创建具有check约束字段的数据库表

use db_sqlserver;
go
create table db_table7
(
  仓库编号 int primary key,
  职工号  varchar(50) unique,
  仓库号  varchar(50),
  工资   int,
  面积  int check(面积>=600 and 面积<=1800)
)

6:创建含有计算字段的数据库表

use db_sqlserver;
go
create table db_table8
(
  职工编号 int primary key,
  职工号 varchar(50) unique,
  仓库号 varchar(50),
  基本工资 int check(基本工资>=800 and 基本工资<=2100),
  加班工资 int,
  奖金 int,
  扣率 int,
  应发工资 as (基本工资 + 加班工资 + 奖金 - 扣率)
)

7:创建含有自动编号字段的数据库表

use db_sqlserver;
go
create table db_table9
(
   仓库编号 int identity(1,1) primary key,
   仓库号 varchar(50) unique,
   城市 varchar(50) default('青岛'),
   面积 int check(面积>=300 and 面积<=1800)
)

向表中添加记录:

insert into [db_sqlserver].[dbo].[db_table9](仓库号, 面积) values('400', 1600);

仓库编号会自动增加

8:创建含有排序字段的数据表

create table db_table10 
(
   仓库编号 int identity(1, 1) primary key,
   仓库号 varchar(50) collate french_CI_AI not null,
   城市 varchar(50) default '青岛',
   面积 int check(面积>=300 and 面积<=1800)
)

仓库号是一个排序字段,其中CI(case insensitive)表示不区分大小写,AI(accent insensitive)表示不区分重音,即创建的是一个不区分大小写

和不区分重音的排序。如果要区分大小和和区分排序,修改代码为:French_CS_AS

9:动态判断数据库表是否存在

use db_sqlserver;
go
if(Exists(select * from sys.sysobjects where id=OBJECT_ID('db_table9')))
  print '数据库表名已经存在'
  
else 
  print '该数据库表名不存在,可以利用该名创建表'

10:查看表的各种信息,可以查看指定数据库表的属性、表中字段属性、各种约束等信息

use db_sqlserver;
go
execute sp_help db_table9;

11:用select语句查看数据库表的属性信息

use db_sqlserver;
go
select * from sysobjects where type='U'

12:重命名数据库表

use db_sqlserver;
go
execute sp_rename "db_table9", "db_renametable"

13:增加数据库表的新字段 

use db_sqlserver;
go
alter table db_table1 add 电子邮件 varchar(50)
alter table db_table1 add 联系方式 varchar(50) default '0532-88886396'
 
select name 字段名, xusertype 类型编号, length 长度 from syscolumns where id = object_id('db_table1')

如何使用SQL Server语句创建表

14:修改数据库表的字段

use db_sqlserver;
go
alter table db_table1 alter column 电子邮件 varchar(200)
 
 
select name 字段名, xusertype 类型编号, length 长度 from syscolumns where id = object_id('db_table1')

如何使用SQL Server语句创建表

15:删除数据库表字段

use db_sqlserver;
go
alter table db_table1 drop column 电子邮件 
 
 
select name 字段名, xusertype 类型编号, length 长度 from syscolumns where id = object_id('db_table1')

如何使用SQL Server语句创建表

16:删除数据库表

use db_sqlserver;
go
drop table db_table1
drop table db_table1, db_table2

如果删除有依赖关联的数据库表,即主键、外键关键表、则要删除两个表之间的关联约束,然后才能删除表。注意,也可以先删除引用该表的数据库表,然后
即可删除该表,

总结

到此这篇关于在sqlserver中创建表的文章就介绍到这了!

SQL Server 相关文章推荐
SQL Server数据定义——模式与基本表操作
Apr 05 SQL Server
SQLServer2019 数据库环境搭建与使用的实现
Apr 08 SQL Server
SQLServer2008提示评估期已过解决方案
Apr 12 SQL Server
sqlserver2017共享功能目录路径不可改的解决方法
Apr 16 SQL Server
sql通过日期判断年龄函数的示例代码
Jul 16 SQL Server
Spark SQL 2.4.8 操作 Dataframe的两种方式
Oct 16 SQL Server
SQLServer中exists和except用法介绍
Dec 04 SQL Server
SQL SERVER实现连接与合并查询
Feb 24 SQL Server
SQLServer RANK() 排名函数的使用
Mar 23 SQL Server
sqlserver连接错误之SQL评估期已过的问题解决
Mar 23 SQL Server
SQL Server携程核心系统无感迁移到MySQL实战
Jun 01 SQL Server
SQL中的连接查询详解
Jun 21 SQL Server
MSSQL基本语法操作
Apr 11 #SQL Server
SQL Server数据库查询出现阻塞之性能调优
Apr 10 #SQL Server
sql server偶发出现死锁的解决方法
SQL Server的存储过程与触发器以及系统函数和自定义函数
Apr 10 #SQL Server
SQL Server表分区降低运维和维护成本
SQL Server使用导出向导功能
SQL Server内存机制浅探
You might like
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
2007/09/30 PHP
解析PHP缓存函数的使用说明
2013/05/10 PHP
php实现查询百度google收录情况(示例代码)
2013/08/02 PHP
浅谈Eclipse PDT调试PHP程序
2014/06/09 PHP
php_pdo 预处理语句详解
2016/11/21 PHP
Yii2框架控制器、路由、Url生成操作示例
2019/05/27 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
javascript 设置某DIV区域内的checkbox复选框
2009/11/30 Javascript
详细讲解JS节点知识
2010/01/31 Javascript
jquery键盘事件介绍
2011/01/31 Javascript
Javascript引用指针使用介绍
2012/11/07 Javascript
js读取cookie方法总结
2014/10/31 Javascript
node.js中的fs.closeSync方法使用说明
2014/12/17 Javascript
javascript面向对象之定义成员方法实例分析
2015/01/13 Javascript
12个超实用的JQuery代码片段
2015/11/02 Javascript
Ionic默认的Tabs模板使用实例
2016/08/29 Javascript
js实现StringBuffer的简单实例
2016/09/02 Javascript
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
2017/10/13 jQuery
layui 地区三级联动 form select 渲染的实例
2019/09/27 Javascript
[01:02:53]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第二局
2016/03/06 DOTA
[44:40]2018DOTA2亚洲邀请赛3月30日 小组赛A组Liquid VS OG
2018/03/31 DOTA
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
python自动化测试之从命令行运行测试用例with verbosity
2014/09/28 Python
全面理解Python中self的用法
2016/06/04 Python
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
python 使用 requests 模块发送http请求 的方法
2018/12/09 Python
python矩阵/字典实现最短路径算法
2019/01/17 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
如何通过50行Python代码获取公众号全部文章
2019/07/12 Python
庆中秋节主题活动方案
2014/02/03 职场文书
机械专业技术员求职信
2014/06/14 职场文书
经济国贸专业求职信
2014/06/18 职场文书
巾帼文明岗事迹材料
2014/12/24 职场文书
项目战略合作意向书
2015/05/08 职场文书
同事欢送会致辞
2015/07/31 职场文书
什么是检讨书?检讨书的格式及范文
2019/11/05 职场文书