如何使用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基本使用和简单的CRUD操作
Apr 05 SQL Server
SQL Server 数据库实验课第五周——常用查询条件
Apr 05 SQL Server
SQL Server2019数据库之简单子查询的具有方法
Apr 27 SQL Server
解决sql server 数据库,sa用户被锁定的问题
Jun 11 SQL Server
sql server删除前1000行数据的方法实例
Aug 30 SQL Server
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
Sep 04 SQL Server
SQL SERVER实现连接与合并查询
Feb 24 SQL Server
Sql Server之数据类型详解
Feb 28 SQL Server
SQL Server表分区降低运维和维护成本
Apr 08 SQL Server
使用MybatisPlus打印sql语句
Apr 22 SQL Server
在SQL Server中使用 Try Catch 处理异常的示例详解
Jul 15 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
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
php使用sql数据库 获取字段问题介绍
2013/08/12 PHP
微信营销平台系统?刮刮乐的开发
2014/06/10 PHP
destoon调用discuz论坛中带图片帖子的实现方法
2014/08/21 PHP
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
PHP创建XML接口示例
2019/07/04 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
新页面打开实际尺寸的图片
2006/08/25 Javascript
浅谈javascript 面向对象编程
2009/10/28 Javascript
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
2013/01/06 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
2013/11/25 Javascript
一个用jquery写的判断div滚动条到底部的方法【推荐】
2016/04/29 Javascript
基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
2016/09/02 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
更强大的vue ssr实现预取数据的方式
2019/07/19 Javascript
vue柱状进度条图像的完美实现方案
2019/08/26 Javascript
layui固定下拉框的显示条数(有滚动条)的方法
2019/09/10 Javascript
在Python的Django框架中更新数据库数据的方法
2015/07/17 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
python实现汉诺塔算法
2021/03/01 Python
Python+Pyqt实现简单GUI电子时钟
2021/02/22 Python
Python3.7黑帽编程之病毒篇(基础篇)
2020/02/04 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
2020/05/09 Python
python安装cx_Oracle和wxPython的方法
2020/09/14 Python
英国领先的珍珠首饰品牌:Orchira
2016/09/11 全球购物
ECCO爱步美国官网:来自丹麦的鞋履品牌
2016/11/23 全球购物
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
大学生军训广播稿
2014/01/24 职场文书
医学生求职自荐书
2014/06/12 职场文书
委托书的样本
2015/01/28 职场文书
教师节简报
2015/07/20 职场文书
修辞手法有哪些?
2019/08/29 职场文书
在JavaScript中如何使用宏详解
2021/05/06 Javascript
浅谈MySQL user权限表
2021/06/18 MySQL
SpringBoot前端后端分离之Nginx服务器下载安装过程
2022/08/14 Servers