sql server创建表相关
1,设置主键的sql的三种方式
a、字段名 int primary key
b、字段名 int constraint 主键名 primary key clustered(字段名)
c、创建表是,后置一句:constraint 主键名 primary key clustered【聚集索引】(字段名)
2,给两个字段创建索引的语句
constraint 主键名 primary key clustered(字段名1,字段名2)---只要两个字段的值不相同即可
一个表只能创建一个主键,一个主键可以包含多个列,主键不能为null也不能重复,主键会自动创建为聚集索引。
3,一个数据库里的主键名不能相同
查看数据库主键的sql
select * from sys.Objects where type='pk'
---为已经存在的表增加主键 alter table 表名 add constraint 主键名 primary key clustered(列名)
---删除主键的sql alter table 表名 drop constraint 主键名
4,创建唯一键
a,创建表时,字段名 数据类型 后面跟 constraint uq_唯一键名 unique nonconstered【非聚集索引】(字段名)
注意的几点:唯一键允许一行数据的值为空,唯一键默认创建非聚集索引unique最多可以有249个。
查看数据库唯一键的sql
select * from sys.Objects where type='uq'
5,check约束
例如年龄大于0的约束:创建表时 列名 数据类型 constraint check_约束名 check(sage>0)
例如性别只能是男或女:constraint check_约束名 check (sex in('男','女'))
例如手机号码:constraint check_smobile check (smobileNO like '[1][34578][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
---通配符
%表示可以匹配0个或多个字符
_表示匹配一个字符
例如是邮箱:constraint check_email check (semail like '%_[@]%_[.]%_')
[]这个包括的表示一个字符,其中有多个字符的话,只要是其中的一个字符就行
6,外键
创建外键的sql,先创建一个表的字段例如是sno
再创建另外一个表是,如果这个表的sno是第一个表的外键
sql:列名 数据类型 constraint fk_外键名 foreign key(sno)references 第一个表的(sno)
外键在主表中的数据不能重复,不管是主键还是唯一键都可以作为其它表的外键
sql server创建表相关的更多相关文章
- SQL Server 创建表分区
原文:SQL Server 创建表分区 先准备测试表 CREATE TABLE [dbo].[Employee] ( EmployeeNo ,) PRIMARY KEY, EmployeeName ) ...
- SQL Server创建表超出行最大限制解决方法
问题的现象在创建表A的时候,出现“信息 511,级别 16,状态 1,第 5 行 无法创建大小为 的行,该值大于允许的最大值 8060.”的信息提示.很奇怪,网上查了一下,是因为要插入表的数据类型的 ...
- SQL Server 创建表
SQL Server 创建表 我们在上一节中完成了数据库的创建,在本节,我们要往这个新的数据库中加入点数据,要想将数据添加到数据库,我们就必须在数据库中添加一个表,接下来来看看具体的操作. 我们的数据 ...
- SQL Server 创建表 添加主键 添加列常用SQL语句
--删除主键 alter table 表名 drop constraint 主键名 --添加主键 alter table 表名 add constraint 主键名 primary key(字段名1, ...
- SQL Server 创建表 添加主键 添加列常用SQL语句【转】
--删除主键alter table 表名 drop constraint 主键名--添加主键alter table 表名 add constraint 主键名 primary key(字段名1,字段名 ...
- SQL SERVER创建表
创建表 create table table_name ( column_name_1 data_type, column_name_2 data_type NOT NULL, column_name ...
- Sql Server 创建表添加说明
http://bbs.csdn.net/topics/340184487 在此感谢 提供参考 CREATE TABLE ToPayFee ( Id INT IDENTITY(1,1) PRIMA ...
- SQL server 创建表,索引,主键,外键
if object_id('student', 'U') is not null drop table student go create table student( sno varchar(20) ...
- sql server系统表和视图相关的语句
一.系统表 数据字典的详细信息请查SQL SERVER BOL,这里仅列出一部分. 1.1.sysservers 1.查看所有本地服务器及链接服务器 select * from master..sys ...
随机推荐
- WatchKit Learning Resources
查看原文:http://leancodingnow.com/watch-kit-learning-resources/ WatchKit是Apple发布的用来开发Apple Watch应用的框架,本 ...
- wbadmin与vssadmin
wbadmin作为应用程序,在备份的时候调用vssadmin进行卷影副本备份. 创建分区还原点也是利用了vssadmin. 试验: 1.通过wsb对一个文件夹进行备份,备份完成后在wsb中会有一个副本 ...
- JavaWeb-10(会话技术之session&JSP)
JavaWeb-会话技术之session&JSP 会话管理之Session技术 一.Session 在WEB开发中,server能够为每一个用户浏览器创建一个会话对象(session对象),注 ...
- SetWindowsHookEx 相关
SetWindowsHookEx function https://msdn.microsoft.com/en-us/library/windows/desktop/ms644990(v=vs.85) ...
- 解决从内部存储设备安装apk提示Permission Denied
做应用商店,下载apk,考虑一种情况,如果没有sd卡的情况下就将apk下载到 Internal Cache目录下. 下载都正常,但是在安装的时候提示Permission Denied /data/da ...
- codechef Arranging Cup-cakes题解
Arranging Cup-cakes Our Chef is catering for a big corporate office party and is busy preparing diff ...
- Codeforces Round #180 (Div. 2) D. Fish Weight 贪心
D. Fish Weight 题目连接: http://www.codeforces.com/contest/298/problem/D Description It is known that th ...
- Android语音搜索
前言 在现有的软件的搜索框中基本上都会加上语音搜索的图标,以方便用户输入.我们xxxx的搜索框其实也可以借鉴这样的输入方式,提高用户体验.语音识别有3种方式实现①使用intent调用语音识别程序;②通 ...
- 使用ServiceStackRedis链接Redis简介 [转]
注:关于如何在windows,linux下配置redis,详见这篇文章:) Discuz!NT中的Redis架构设计 目前网上有一些链接Redis的C#客户端工具,这里介绍其中也 ...
- c++笔试题两道,求解当中一道
1.Implement a functionthat prints the numbers from 1 to 100.But for multiples of three(3) print &quo ...