SQL语句中,创建标识列、默认值及各种约束的语法介绍
虽然创建表中字段的主外键、标识列、唯一约束、check约束等可以使用视图法创建,但最基本的还是应该会使用sql语句来创建这些吧,咱废话少说,直接上干货!!!
标识列:
在创建表的字段时加上identity即可
如:创建字段SID为标识列
SID int primary key identity not null
如果原先表已经建好,可以使用sql语句创建标识列
alter table <表名> add <标识字段> int identity(1,1)
注:identity表示该字段的值会自动更新,不需要我们维护,通常情况下我们不可以直接给identity修饰的字符赋值,也不能在修改表的操作中是修改标识列,否则编译时会报错
identity(m,n),m表示的是初始值,n表示的是每次自动增加的值,如果m和n的值都没有指定,默认为(1,1),要么同时指定m和n的值,要么m和n都不指定,不能只写其中一个值,不然会出错
添加默认值:
alter table <表名> add constraint df_<字段名> default <默认值内容> for <字段名>
添加主键约束:
alter table <表名> add constraint pK_<字段名> primary key (<字段名>)
添加唯一约束:
alter table <表名> add constraint uq_<字段名> unique (<字段名>)
添加check约束:
alter table <表名> add constraint ck_<字段名> check(<约束内容>)
示例如下,有一个BBS数据库,库中有四张表:
alter table BBSReply add constraint pK_RID primary key (RID) --添加主键约束alter table BBSReply add constraint fk_RTID foreign key(RTID) references BBSTopic(TID) --添加主外键约束alter table BBSReply add constraint uq_RContents unique (RContents) --添加唯一约束alter table BBSReply add constraint df_RTime default getdate() for RTime --添加默认值
如果不建议的话, 可以参考在下以前用sql语句创建的一些数据库的例子:
SQL Server第一次上机操作实例:用sql语句创建BBS数据库、表、约束以及建立其数据库关系图
SQL语句中,创建标识列、默认值及各种约束的语法介绍相关推荐
- SQL Server中的标识列
一.标识列的定义以及特点 SQL Server中的标识列又称标识符列,习惯上又叫自增列. 该种列具有以下三种特点: 1.列的数据类型为不带小数的数值类型 2.在进行插入(Insert)操作时,该列的值 ...
- SQL Server 重置Identity标识列的值(INT爆了)
一.背景 SQL Server数据库中表A中Id字段的定义是:[Id] [int] IDENTITY(1,1),随着数据的不断增长,Id值已经接近2147483647(int的取值范围为:-2 147 ...
- SQL Server中Identity标识列
SQL Server中,经常会用到Identity标识列,这种自增长的字段操作起来的确是比较方便.但它有时还会带来一些麻烦. SQL Server中,经常会用到Identity标识列,这种自增长的字段 ...
- executeupdate mysql_使用Mysql中的executeUpdate在SQL语句中创建表
我有以下内容doGet(): protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ...
- 关于SQL Server数据库中的标识列
2019独角兽企业重金招聘Python工程师标准>>> 一.标识列的定义以及特点 SQL Server中的标识列又称标识符列,习惯上又叫自增列. 该种列具有以下三种特点: 1.列的数 ...
- 当 IDENTITY_INSERT 设置为 OFF 时,不能为表中的标识列插入显式值
{"当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'OrderList' 中的标识列插入显式值"} 对于这个异常可以从两个角度来处理:A:数据库执行语句 B: ...
- oracle创建列默认值,表列添加默认值的方法
在修改表结构时,有时候会涉及到添加默认值. 下面是在11.2.0.3版本数据库中进行测试的结果: Connected to Oracle Database 11g Enterprise Edition ...
- 仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表中为标识列指定显式值问题...
今天在处理数据库过程中碰到这样的问题在插入一条数据到表中 系统报这样的错误 仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表中为标识列指定显式值问题 表有一列是自增长的 ...
- 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'WLog' 中的标识列插入显式值。
在使用SQLServer数据库的时候,在进行数据报错过程中,出现如下异常: 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'WLog' 中的标识列插入显式值. 当前表没有设置关联关 ...
最新文章
- 为你的组织设计自己的障碍消除流程
- Spring Security-用户密码自定义国密SM2加密
- eayUi panel实现上一页下一页
- vant按需引入没样式_传统背景墙早看腻了,不如走一圈石膏线简单好看,8种样式随意选...
- 备份到云端,准备好了吗?
- oracle添加文件,ORACLE---添加控制文件
- Java中的适配器设计模式
- leetcode337. 打家劫舍 III(dfs)
- 删除用户和用户下的所有表
- 【Python3网络爬虫开发实战】 1.5.4-RedisDump的安装
- ASP.NET服务器控件刷新后仍旧保持滚动位置
- 性能分析工具Linux perf使用经验
- JS的this指向问题(史上最全)
- Acrobat如何将word文件转换成pdf格式
- 基于R语言的文本挖掘技术
- 谷歌浏览器自定义标签页 newtab
- 溯源系统服务器,区块链溯源服务平台系统架构!
- [codeforces 1333A] Little Artem 读懂题+找规律+多举例
- 离散数学 (II) 习题 1
- Arduino案例实操 -- 语音播放模块(DY-SV5W)
热门文章
- win7旗舰版太卡怎么办
- win10 edge默认浏览器设置更改教程
- 记一次生成唯一ID的问题
- 形参和实参是什么?? shim和polyfil是什么意思??
- qtabwidget放大_Qt自定义弹窗屏蔽父窗口(QWidget设置setWindowModality(Qt::ApplicationModal);以后再show)...
- mysql 统计当天,本周,本月,上一月的数据
- BOM -- browser object model
- mysql一共有多少引擎_MySQL存储引擎你们知道多少?
- 人工智能只能用python吗_为什么人工智能用Python?
- 计算机科学与技术排名中澳合作,计算机科学与技术(中澳合作)2018培养方案.docx...