10、SQL基础整理(约束2)
约束
除主键约束、外键约束外
唯一约束(主键列、索引列的候选索引)
设计---右键---索引/键---需要修改的列----是唯一的----忽略重复键
代码方式:
cid varchar (20) unique
联合主键
所谓主键就是可以唯一确定该行数据,由此可以知道,当一个字段不能决定该行的值时,就要考虑采用多个字段作为主键。比如,对于学校来说,班号可以决定班级,但是决定不了班级里的某个人,表示班级里的某个人就需要用
班号+该学生在该班内的编号(当然也可以用唯一的学号来决定,这里只是举个例子)
create table WIZ_META
(
META_NAME varchar(50), ---不写null或not null就默认null,如果是主键会默认not null
META_KEY varchar(50),
META_VALUE varchar(30),
DT_MODIFIED char(19),
primary key (META_NAME, META_KEY) ---这个就是联合主键,两个字段都为主键
)
check约束
check约束——表达式——写上需要约束的范围(一个值不能同时给定两个范围)
查看表代码:
右键---编写表脚本为---CREATE到---新查询编辑器窗口
如:
USE [newData]
GO
/****** Object: Table [dbo].[sstable] Script Date: 11/04/2014 16:18:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[sstable](
[code] [int] NOT NULL,
[name] [varchar](20) NULL,
[sex] [varchar](10) NULL,
[age] [int] NULL,
[cid] [varchar](20) NULL,
PRIMARY KEY CLUSTERED
(
[code] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[sstable] WITH CHECK ADD CONSTRAINT [CK_sstable] CHECK (((0)<[age] AND [age]<(150)))
GO
ALTER TABLE [dbo].[sstable] CHECK CONSTRAINT [CK_sstable]
GO
10、SQL基础整理(约束2)的更多相关文章
- SQL基础--> 约束(CONSTRAINT)
--============================= --SQL基础--> 约束(CONSTRAINT) --============================= 一.几类数据完 ...
- 8、SQL基础整理(约束)
约束 主键约束 防止在新增数据时出错,有约束性,起唯一标志的作用,在新增条目的时候防止不慎添加重复内容(不允许有null值) 1. 右键—设计—设置主键 2.在创建表格时设置 code int pr ...
- 必杀技———SQL基础整理系列(一)
SQL(Structured Query Language)——结构化查询语言 SQL语言的组成部分 数据定义语言 (DDL:Data Definition Language) 负责数据结构定义与数据 ...
- (大数据工程师学习路径)第四步 SQL基础课程----约束
一.简介 约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性.唯一性.本节实验就在操作中熟悉MySQL中的几种约束. 二.内容 1.约束分类 听名字就知道,约束是一种限制,它通过 ...
- 11、SQL基础整理(变量)
变量 定义变量:declare @hello varchar(20) 赋值:set @hello = ‘你好’ select(结果框显示)/print(消息框显示) @hello *三行必须同时 ...
- 四、SQL基础知识--约束和视图
--创建约束的方式 --一.在字段创建时将约束添加到字段之后 CREATE TABLE ZYJ_YUESHU( ZYJ_ID VARCHAR(20) NOT NULL PRIMARY KEY, --创 ...
- SQL基础(2)-约束
1. 添加主键约束 a.创建表时添加主键(默认系统命名主键) create table pt_ticket_info( id varchar2(50) primary key not null, -- ...
- 16、SQL基础整理(触发器.方便备份)
触发器(方便备份) 本质上还是一个存储过程,只不过不是通过exec来调用执行,而是通过增删改数据库的操作来执行(可以操作视图) 全部禁用触发器 alter table teacher disable ...
- 14、SQL基础整理(存储过程)
存储过程procedure(proc) 数据库—可编程性—存储过程 新建存储过程: create proc firstproc as select *from fenshu go 执行存储过程: 存储 ...
随机推荐
- finally块中的代码一定会执行吗?
在Sun Tutorial中有这样一句话:The finally block always executes when the try block exits. This ensures that t ...
- 如何用SQL返回两个日期之间的所有连续日期
在层次查询中,Oracle引入了一个伪列level,用来表示当前行(节点)对应的level, 它从1开始计数,每多一层level的值就加1. 我们可以据此实现对两个日期/整数之间所有日期/整数的遍历. ...
- go——搭建Win7下的Go开发环境
1.首先需要下载下载go平台安装包 安装程序 下载地址:https://golang.org/dl/ (墙内下载地址http://www.golangtc.com/download),如果是您的系统是 ...
- springmvc 配置直接访问页面
<mvc:view-controller path="/" view-name="/home"/> 在mvc中配置,访问路径就可以了
- qml 相关的博客
http://qt-project.org/wiki/SpaceAppsChallengeResources http://www.ics.com/blog https://www.ics.com/d ...
- POJ 2632 Crashing Robots 模拟 难度:0
http://poj.org/problem?id=2632 #include<cstdio> #include <cstring> #include <algorith ...
- visual studio 2013连接Oracle 11g并获取数据:(二:实现)
1.VS中新建一个winform窗体 (1)一个按钮 (2)一个数据表格视图(在里面显示得到的数据表) 2.双击按钮进入代码 (1)添加 using System.Data.OracleClient; ...
- Oracle连接出现TNS:no listener或者ORA-12514: TNS:listener does not currently know
1.Message 850 not found; No message file for product=network, facility=NL 提示框:TNS:no listener 解决办法: ...
- 2.4.2电子书fb.c文件
显示层面头文件 定义结构体,为显示统一标准 int (*DeviceInit)(void); 显示类驱动初始化 int (*ShowPixel)(int iPenX, int iPenY, unsig ...
- Android双击返回按钮退出程序
//双击退出事件 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KE ...