sqlserver创建表

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

  模块访问




2:创建局部临时表

     



[sql] view plaincopy
01.use db_sqlserver  
02.go  
03.create table #db_local_table  
04.(  
05.  id  int,  
06.  name varchar(50),  
07.  age int,  
08.  area int  
09.)  

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



3:创建全局临时表



[sql] view plaincopy
01.use db_sqlserver  
02.go  
03.create table ##db_local_table  
04.(  
05.  id  int,  
06.  name varchar(50),  
07.  age int,  
08.  area int  
09.)  


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

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


[sql] view plaincopy
01.use db_sqlserver;  
02.go  
03.create table db_table5  
04.(  
05.  职工编号 int primary key,  
06.  职工号  varchar(50) unique,  
07.  仓库号  varchar(50),  
08.  工资   int  
09.)  
10.  
11.go  
12.create table db_table6  
13.(  
14.  订单编号 int primary key,  
15.  订单号  varchar(50) unique,  
16.  职工号 varchar(50) references db_table5(职工号),  
17.  订购日期 datetime,  
18.  销售金额 int  
19.)  




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


[sql] view plaincopy
01.use db_sqlserver;  
02.go  
03.create table db_table7  
04.(  
05.  仓库编号 int primary key,  
06.  职工号  varchar(50) unique,  
07.  仓库号  varchar(50),  
08.  工资   int,  
09.  面积  int check(面积>=600 and 面积<=1800)  
10.)  


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



[sql] view plaincopy
01.use db_sqlserver;  
02.go  
03.create table db_table8  
04.(  
05.  职工编号 int primary key,  
06.  职工号 varchar(50) unique,  
07.  仓库号 varchar(50),  
08.  基本工资 int check(基本工资>=800 and 基本工资<=2100),  
09.  加班工资 int,  
10.  奖金 int,  
11.  扣率 int,  
12.  应发工资 as (基本工资 + 加班工资 + 奖金 - 扣率)  
13.)  



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

    



[sql] view plaincopy
01.use db_sqlserver;  
02.go  
03.create table db_table9  
04.(  
05.   仓库编号 int identity(1,1) primary key,  
06.   仓库号 varchar(50) unique,  
07.   城市 varchar(50) default('青岛'),  
08.   面积 int check(面积>=300 and 面积<=1800)  
09.)  



向表中添加记录:



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

仓库编号会自动增加 



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




[sql] view plaincopy
01.create table db_table10   
02.(  
03.   仓库编号 int identity(1, 1) primary key,  
04.   仓库号 varchar(50) collate french_CI_AI not null,  
05.   城市 varchar(50) default '青岛',  
06.   面积 int check(面积>=300 and 面积<=1800)  
07.)  


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

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




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




[sql] view plaincopy
01.use db_sqlserver;  
02.go  
03.if(Exists(select * from sys.sysobjects where id=OBJECT_ID('db_table9')))  
04.  print '数据库表名已经存在'  
05.    
06.else   
07.  print '该数据库表名不存在,可以利用该名创建表'  




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

 



[sql] view plaincopy
01.use db_sqlserver;  
02.go  
03.execute sp_help db_table9;  






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



[sql] view plaincopy
01.use db_sqlserver;  
02.go  
03.select * from sysobjects where type='U'  


 12:重命名数据库表



[sql] view plaincopy
01.use db_sqlserver;  
02.go  
03.execute sp_rename "db_table9", "db_renametable"  


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


[sql] view plaincopy
01.use db_sqlserver;  
02.go  
03.alter table db_table1 add 电子邮件 varchar(50)  
04.alter table db_table1 add 联系方式 varchar(50) default '0532-88886396'  
05.  
06.select name 字段名, xusertype 类型编号, length 长度 from syscolumns where id = object_id('db_table1')  






 14:修改数据库表的字段



[sql] view plaincopy
01.use db_sqlserver;  
02.go  
03.alter table db_table1 alter column 电子邮件 varchar(200)  
04.  
05.  
06.select name 字段名, xusertype 类型编号, length 长度 from syscolumns where id = object_id('db_table1')  




 15:删除数据库表字段




[sql] view plaincopy
01.use db_sqlserver;  
02.go  
03.alter table db_table1 drop column 电子邮件   
04.  
05.  
06.select name 字段名, xusertype 类型编号, length 长度 from syscolumns where id = object_id('db_table1')  





 16:删除数据库表
 


[sql] view plaincopy
01.use db_sqlserver;  
02.go  
03.drop table db_table1  
04.drop table db_table1, db_table2  


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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值