在sqlserver中创建表
1:在sql语句中,临时表有两类,分别是局部(local)和全局(global)临时表,局部临时表只在其会话(事务)中可见,全局临时表可以被会话(事务)中的任何程序或者
模块访问
2:创建局部临时表
- use db_sqlserver
- go
- create table #db_local_table
- (
- id int,
- name varchar(50),
- age int,
- area int
- )
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
- )
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
- )
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)
- )
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 (基本工资 + 加班工资 + 奖金 - 扣率)
- )
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)
- )
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);
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)
- )
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 '该数据库表名不存在,可以利用该名创建表'
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;
use db_sqlserver;
go
execute sp_help db_table9;
11:用select语句查看数据库表的属性信息
- use db_sqlserver;
- go
- select * from sysobjects where type='U'
use db_sqlserver;
go
select * from sysobjects where type='U'
12:重命名数据库表
- use db_sqlserver;
- go
- execute sp_rename "db_table9", "db_renametable"
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')
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')

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

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

16:删除数据库表
- use db_sqlserver;
- go
- drop table db_table1
- drop table db_table1, db_table2
use db_sqlserver;
go
drop table db_table1
drop table db_table1, db_table2
如果删除有依赖关联的数据库表,即主键、外键关键表、则要删除两个表之间的关联约束,然后才能删除表。注意,也可以先删除引用该表的数据库表,然后 即可删除该表,
在sqlserver中创建表的更多相关文章
- SqlServer中创建Oracle连接服务器
转自太祖元年的:http://www.cnblogs.com/jirglt/archive/2012/06/10/2544025.html参考:http://down.51cto.com/data/9 ...
- SqlServer中创建Oracle链接服务器
SqlServer中创建Oracle链接服务器 第一种:界面操作 (1)展开服务器对象-->链接服务器-->右击“新建链接服务器” (2)输入链接服务器的IP (3)链接成功后 第二种:语 ...
- 【转载】Sqlserver在创建表的时候如何定义自增量Id
在Sqlserver创建表的过程中,有时候需要为表指定一个自增量Id,其实Sqlserver和Mysql等数据库都支持设置自增量Id字段,允许设置自增量Id的标识种子和标识自增量,标识种子代表初始自增 ...
- Sqlserver中判断表是否存在
在sqlserver(应该说在目前所有数据库产品)中创建一个资源如表,视图,存储过程中都要判断与创建的资源是否已经存在 在sqlserver中一般可通过查询sys.objects系统表来得知结果,不 ...
- Oracle SQLserver数据库创建表ID字段的自动递增_序列
Oracle 将表t_uaer的字段ID设置为自增:(用序列sequence的方法来实现) ----创建表 Create table t_user( Id ),userid ),loginpasswo ...
- 如何导出sqlserver中的表数据,sqlserver2008
sqlserver数据库中的表数据,我们通常想使用一下,可是怎样获取这些数据呢? 1.选择任务->生成脚本 2.选择数据库 3.设置配置,让编写数据的脚本为true 4.保存为sql 5.完成 ...
- SQL Server 向数据库中创建表并添加数据
创建表,展开数据库中新建的数据库,下面有一个选项-表.在该选项上右键就可以选择-新建-表. 然后出现的界面上是需要自己填写列列名.数据类型和选择是否允许空值. 其中数据类型我是参考: http://w ...
- mysql中,创建表的时候指定if not exists参数的作用?
需求说明: 在创建表的时候,如果指定if not exists语句,有什么作用,在此做个实验,并且官方手册, 理解下这个参数的作用. 操作过程: 1.创建测试表test01 mysql> cre ...
- Sql语句在SqlServer中创建数据库、表格并添加约束
通过Sql语句来创建数据库与架构 创建数据库 数据库的创建首先是要引用主数据库的,需要在master数据库的环境下进行创建.大致的语法如下: -- 使用master数据库 use master -- ...
随机推荐
- Element UI - DatePicker 自定义日期选择期间
<el-date-picker v-else v-model="searchForm.data_Selected" type="daterange" un ...
- 【解决】虚拟windows7无法安装VMware Tools
VMware安装虚拟windows7,在虚拟windows7上安装VMware Tools 报错VMware Alias Manager and Ticket 服务失败. Windows 无法启动 V ...
- 万字长文,Python数据分析实战,使用Pandas进行数据分析
文章目录 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家 ...
- Android(java)开发之将double类型,强制保留到小数点后两位解决方法。
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 前提:当我们进行double数据类型与double进行运算的时候,可能会遇到 得到小数点后好多位,但是 ...
- Android开发之数组类的面试题目,android工程师java程序员必备
1,定义一个长度为5的数组 int [] arr=new int[5]; 2,写出静态初始化一个数组的方法 int [] arr={1,2,3,4}; 3,写出可变参数的使用规则 1,只能做为方 ...
- pybind11: C++ 工程如何提供 Python 接口
C/C++ 工程提供 Python 接口,有利于融合进 Python 的生态.现在 Python 在应用层,有其得天独厚的优势.尤其因为人工智能和大数据的推波助澜, Python 现在以及未来,将长期 ...
- vue问题整理
生命周期面试题 1.什么是 vue 生命周期 vue 实例从创建到销毁的过程就是生命周期. 也就是从开始创建.初始化数据.编译模板.挂在 dom -> 渲染.更新 -> 渲染.卸载等一系列 ...
- nginx 启动报错“var/run/nginx/nginx.pid" no such file or directory
nginx 启动报错“var/run/nginx/nginx.pid" no such file or directory 今天刚搭建的nginx服务器启动时,报错“var/run/ngin ...
- 关于取表中id最大值+1的select语句,哪种效率更高?
需求:取stock表中id最大值+1,作为下一个id值. 特殊情况:考虑到表中会没有值,max(id)会返回空,因此需要用case when进行判断. 实现一:select (case max(id) ...
- asp.net中 使用Nginx 配置 IIS站点负载均衡
这是一偏初学者入门的内容,发现有问题的地方,欢迎留言,一起学习,一起进步 本文主要记录一下在Windows平台中,IIS站点如何使用Nginx 做一个简单的负载均衡 一. 准备工作: 官网下载安装包 ...