文档章节

T-SQL 创建表- 修改表默认字段数值 SQL SERVER

rhythmk
 rhythmk
发布于 2014/08/16 16:37
字数 607
阅读 10
收藏 0

 

在一个SQL Server数据库中,可以创建多达两万亿个表

输入一条Create Table 语句 指定下列内容

1.包含表的数据库

2.表的所有者

3.表名,在同一个数据库中和同一个所有者下,改表名必须与任何其他基表或视图不同

4.指定11024个列

5.主键约束(可选)

6.1250Uniquer约束(可选)

7.1253个外键约束(可选)

8.1个或者多个Check约束 ,限制插入表中的数据(可选)

9.存储表的文件组(可选)

/* 创建表 */
use  databaseName
go
create   Table  tbName
(
   tb_id 
int   Not   Null   check (tb_id > 0 ),
   UserName 
varchar ( 50 )   NOT   NULL   CHECK (UserName <> '' ) ,
   Sex      
int          not   Null      Default   1  ,  
  price    
Money      NOT   NULL   CHECK ((price  is   NULL  )  OR  (price >= 0 )),
constraint  tbPriKey     Primary   Key  (tb_id)
)

-- --修改表--
--
1.新增字段-
Alter   Table  tbName
  
add   tbNewColumn  int    Null
/* 在为原来的表添加一条字段的时候需要注意的是 不允许指定该列为【 NOT NULL 】 */

-- -2.删除字段------
Alter   Table  tbName   drop   column  tbNewColumn
   
-- -3.修改字段---
Alter   Table  tbName  Alter   column  tbNewColumn  char ( 30 null

-- --4.新建约束-------
ALTER   Table  tbName  ADD   constraint  tbNewRestrain   check (tb_id > 0 )

-- ---5.删除约束---------
Alter   Table  tbName  Drop   constraint  tbNewRestrain

-- -----6.新建默认值--------
Alter   Table  tbName  Add   constraint  tbNewDefault   Default    ' 10 '   for  tb_id

-- -----7.删除默认值----------
Alter   Table  tbName  drop   constraint  tbNewDefault 



select   *   from  tbName

2.表约束
 

   在我们创建表的时候,可以有选择的制定四种类型的约束:

1.主键

2.唯一性

3.外键

4.检查



create   table  student
(
s_id 
int   identity ( 1 , 1 primary   key ,
s_name 
varchar ( 20 not   null ,
s_age 
int
)

create   table  test
(
test_no 
int   identity ( 1 , 1 primary   key ,
test_name 
varchar ( 30 ),
nax_marks 
int   not   null   default ( 0 ),
min_marks 
int   not   null   default ( 0 )
)
create   table  marks
(
s_id 
int   not   null ,
test_no 
int   not   null ,
marks 
int   not   null   default ( 0 ),
primary   key (s_id,test_no),
foreign   key (s_id)  references  student(s_id),
foreign   key (test_no)  references  test(test_no)
)





3. 索引以及视图的创建

----- 视图的建立 -------
create view  视图名
(
字段1,
字段2,
..
)
as  select a.字段1 ,a.字段2,.. from tableName  as  a  where  


------ 索引的创建 --------
create index indexName
on TableName
(字段1,字段2,字段3)

----  修改表默认字段数值 SQL SERVER
IF EXISTS ( SELECT * FROM syscolumns WHERE id = OBJECT_ID('cg_CgProcReturnBid') AND name = 'WinBidPrice' )
Begin

DECLARE @tablename VARCHAR(100), @columnname VARCHAR(100), @tab VARCHAR(100)
SET @tablename='cg_CgProcReturnBid'
SET @columnname='WinBidPrice'
declare @defname varchar(100)
declare @cmd varchar(100)
select @defname = name FROM sysobjects A JOIN sysconstraints sc ON A.id = sc.constid WHERE object_name(A.parent_obj) = @tablename AND A.xtype = 'D'AND sc.colid =(SELECT colid FROM syscolumns WHERE id = object_id(@tablename) AND name = @columnname)
select @cmd='alter table '+ @tablename+ ' drop constraint '+ @defname if @cmd is null print ''exec (@cmd)

end;
GO

© 著作权归作者所有

共有 人打赏支持
rhythmk
粉丝 1
博文 62
码字总数 40987
作品 0
广州
私信 提问
追踪记录每笔业务操作数据改变的利器——SQLCDC

对于大部分企业应用来用,有一个基本的功能必不可少,那就是Audit Trail或者Audit Log,中文翻译为追踪检查、审核检查或者审核记录。我们采用Audit Trail记录每一笔业务操作的基本信息,比如...

长平狐
2012/09/04
70
0
MySQL语法速查1:基础命令篇

[TOC] 1.1. 关于 SQL SQL 是 Structure Query Language(结构化查询语言)的缩写,是关系型数据库的基本语言,由 IBM 在 20 世纪 70 年代开发出来,作为 IBM 关系数据库原型 System R 的原型...

whoru
2018/12/13
0
0
SQL --优化小结

对查询进行优化 0.任何地方都不要使用 select from t_tble,要用具体的字段代替 号,尽量不要返回用不到的字段。 1.尽量避免全表扫描,即如下语句 select * from t_test 理论上不会存在如上业...

求是科技
2016/05/04
71
0
MySQL数据库(三)

数据导入与导出 (1)数据导入mysql>load data infile "目录/文件名" into table 表名 /默认目录为 /var/lib/mysql-files,可修改配置文件改变默认目录,如不修改配置文件,默认且一定要在这个...

ww魏伟
2018/01/02
0
0
RDBMS-mysql初步

rdbms: 1、数据库的建立删除 2、表单的创建、删除、修改 3、索引的创建和删除 4、用户和权限 5、数据的增删改 6、查询 DML:数据操作语言 INSERT REPLACE DELETE UPDATE DDL:数据定义语言 ...

jyxcto
2017/05/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JavaEE开发的颠覆者SpringBoot实战摘要笔记

一、注解理解 1.spring注解 1)@Configuration/@ComponentScan/@Bean注解实现java方式的配置。 @Configuration代替xml文件 @ComponentScan指定扫描范围 @Bean代替bean标签 2)@Bean、@Componen...

啃不动地大坚果
19分钟前
1
0
跨链技术的分析和思考

当前的区块链底层技术平台百花齐放,不同的业务、不同的技术底层的区块链之间缺乏统一的互联互通的机制,这极大限制了区块链技术和应用生态的健康发展。跨链的需求由此而来,本文通过分析几种...

Tiny熊
20分钟前
0
0
使用css预处理器sass轻松生成margin、padding四个方向多个值的css样式代码

直接在scss文件上复制这段scss代码: $directions:("t":"top", "b":"bottom", "l":"left", "r":"right");$dimensions:("p":"padding", "m":"margin");//获取padding margin间隔@each $......

祖达
38分钟前
0
0
gearman安装,提示错误:configure: error: could not find boost

背景及最终解决方案 在CentOS 7上安装gearman时,提示错误:configure: error: could not find boost,最终解决方案是: 先安装: # yum install -y boost boost-devel 发现问题还是没解决,...

暗夜在火星
44分钟前
2
0
NFS服务

问题1: A机器上传了一张图片,结果B机器访问的时候就提示404. NFS,Network File System。网络文件系统,即通过网络,对在不同主机上的文件进行共享。 NFS最早由Sun公司开发,分2,3,4三个...

wzb88
45分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部