加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

在sqlserver中创建表

发布时间:2020-12-12 14:05:41 所属栏目:MsSql教程 来源:网络整理
导读:1:在sql语句中,临时表有两类,分别是局部(local)和全局(global)临时表,局部临时表只在其会话(事务)中可见,全局临时表可以被会话(事务)中的任何程序或者 ? 模块访问 2:创建局部临时表 ? ? ? [sql] view plain copy print ? use?db_sqlserver?? go?? cre

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

? 模块访问


2:创建局部临时表

? ? ?

[sql] view plain copy print ?
  1. use?db_sqlserver??
  2. go??
  3. create?table?#db_local_table??
  4. (??
  5. ??id??int,??
  6. ??name?varchar(50),??
  7. ??age?int,??
  8. ??area?int??
  9. )??
创建的临时表不能与其他会话共享,当会话结束时,行和表的定义都将被删除


3:创建全局临时表

[sql] view plain copy print ?
  1. use?db_sqlserver??
  2. go??
  3. create?table?##db_local_table??
  4. (??
  5. ??id??int,??
  6. ??area?int??
  7. )??

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


4:创建主键、外键关联的数据库表 [sql] view plain copy print ?
  1. use?db_sqlserver;??
  2. go??
  3. create?table?db_table5??
  4. (??
  5. ??职工编号?int?primary?key,??
  6. ??职工号??varchar(50)?unique,??
  7. ??仓库号??varchar(50),??
  8. ??工资???int??
  9. )??
  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 plain copy print ?
  1. use?db_sqlserver;??
  2. go??
  3. create?table?db_table7??
  4. (??
  5. ??仓库编号?int?primary?key,??
  6. ??工资???int,??
  7. ??面积??int?check(面积>=600?and?面积<=1800)??
  8. )??

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

??

[sql] view plain copy print ?
  1. use?db_sqlserver;??
  2. go??
  3. create?table?db_table8??
  4. (??
  5. ??职工编号?int?primary?key,??
  6. ??职工号?varchar(50)?unique,??
  7. ??仓库号?varchar(50),??
  8. ??基本工资?int?check(基本工资>=800?and?基本工资<=2100),??
  9. ??加班工资?int,??
  10. ??奖金?int,??
  11. ??扣率?int,??
  12. ??应发工资?as?(基本工资?+?加班工资?+?奖金?-?扣率)??
  13. )??

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

? ??

[sql] view plain copy print ?
  1. use?db_sqlserver;??
  2. go??
  3. create?table?db_table9??
  4. (??
  5. ???仓库编号?int?identity(1,1)?primary?key,??
  6. ???仓库号?varchar(50)?unique,??
  7. ???城市?varchar(50)?default('青岛'),??
  8. ???面积?int?check(面积>=300?and?面积<=1800)??
  9. )??

向表中添加记录:

[sql] view plain copy print ?
  1. insert?into?[db_sqlserver].[dbo].[db_table9](仓库号,?面积)?values('400',?1600);??
仓库编号会自动增加


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

[sql] view plain copy print ?
  1. create?table?db_table10???
  2. (??
  3. ???仓库编号?int?identity(1,?1)?primary?key,??
  4. ???仓库号?varchar(50)?collate?french_CI_AI?not?null,??
  5. ???城市?varchar(50)?default?'青岛',??
  6. ???面积?int?check(面积>=300?and?面积<=1800)??
  7. )??

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

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


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

[sql] view plain copy print ?
  1. use?db_sqlserver;??
  2. go??
  3. if(Exists(select?*?from?sys.sysobjects?where?id=OBJECT_ID('db_table9')))??
  4. ??print?'数据库表名已经存在'??
  5. ????
  6. else???
  7. ??print?'该数据库表名不存在,可以利用该名创建表'??

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

?

[sql] view plain copy print ?
  1. use?db_sqlserver;??
  2. go??
  3. execute?sp_help?db_table9;??


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

[sql] view plain copy print ?
  1. use?db_sqlserver;??
  2. go??
  3. select?*?from?sysobjects?where?type='U'??

12:重命名数据库表
[sql] view plain copy print ?
  1. use?db_sqlserver;??
  2. go??
  3. execute?sp_rename?"db_table9",?"db_renametable"??

13:增加数据库表的新字段
?? [sql] view plain copy print ?
  1. use?db_sqlserver;??
  2. go??
  3. alter?table?db_table1?add?电子邮件?varchar(50)??
  4. alter?table?db_table1?add?联系方式?varchar(50)?default?'0532-88886396'??
  5. ??
  6. select?name?字段名,?xusertype?类型编号,?length?长度?from?syscolumns?where?id?=?object_id('db_table1')??





14:修改数据库表的字段
[sql] view plain copy print ?
  1. use?db_sqlserver;??
  2. go??
  3. alter?table?db_table1?alter?column?电子邮件?varchar(200)??
  4. ??
  5. ??
  6. select?name?字段名,?length?长度?from?syscolumns?where?id?=?object_id('db_table1')??



15:删除数据库表字段

[sql] view plain copy print ?
  1. use?db_sqlserver;??
  2. go??
  3. alter?table?db_table1?drop?column?电子邮件???
  4. ??
  5. ??
  6. select?name?字段名,?length?长度?from?syscolumns?where?id?=?object_id('db_table1')??




16:删除数据库表
? [sql] view plain copy print ?
  1. use?db_sqlserver;??
  2. go??
  3. drop?table?db_table1??
  4. drop?table?db_table1,?db_table2??

如果删除有依赖关联的数据库表,即主键、外键关键表、则要删除两个表之间的关联约束,然后才能删除表。注意,也可以先删除引用该表的数据库表,然后
即可删除该表,
文章转自?http://blog.csdn.net/woshisap/article/details/7333893

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读