SQL约束名创建与修改添加
PRIMARY KEY约束与 FOREIGN KEY约束创建
主键PRIMARY创建:
格式1:
CREATE TABLE <表名>
(
<列名1> 数据类型 PRIMARY KEY,
<列名2> 数据类型
)
如:创建表g1并且设置g_id为主键
CREATE TABLE g1(
g_id CHAR(6) PRIMARY KEY,
g_name VARCHAR(20)
)
格式2:
CREATE TABLE <表名>
(
<列名1> 数据类型 ,
<列名2> 数据类型 ,
.....,
CONSTRAINT 约束名 PRIMARY KEY(列或者列的组合)
)
如:创建表stu 定义主键为s_id
CREATE TABLE stu
(
s_id CHAR(10) ,
s_name VARCAHR(30) ,
s_sex CHAR(2),
CONSTRAINT pk PRIMARY KEY(s_id)
)
FOREIGN KEY 约束
创建时的FOREIGN KEY约束:
CREATE TABLE <表名>
(
<列名> 数据类型 REFERENCES <被引用的表名> (被引用的列名)
例:
CREATE TABLE Types
(
t_id CHAR(2) PRIMARY KEY,
t_Name VARCAHR(2)
)
CREATE TABLE goods
(
g_id CHAR(6) ,
g_Name VARCHAR(30) ,
t_id CHAR(2) REFERENCES Types(t_id)
)
//goods的外键引用的Types的t_id必须为Types的主键,
一个表可以有多个外键,每个外键是每个引用表的主键。
修改添加外键约束:
ALTER TABLE <表名>
ADD CONSTRAINT <约束名> FOREIGN KEY (字段名) REFERENCES <被引用的表名> (被引用的列名)
例:
ALTER TABLE goods
ADD CONSTRAINT fg_t_id FOREIGN KEY (t_id)
REFERENCES Types(t_id)
CHECK例子:
关于LENGTH:
DataLength()函数返回的是字符串字节的长度,包含后缀空格。而Len()函数返回的是字符串的字符长度,不包含后缀的空格。
设置Customers表的c_CarID的长度只能为15或者18位
ALTER TABLE Customers ADD CONSTRAINT
ck_CarID CHECK(len(c_CarID)=15 OR len(c_CarID=18)) //限定了输入字符长度为15或者18
电子邮箱中(e-Email)必须包含“@”符号
ALTER TABLE Customers ADD CONSTRAINT
ck_email CHECK ([c_E-mail] LIKE '%@%')
UNIQUE 约束 : 确保列中不输入重复值来保证数据的完整性
创建UNIQUE
CREATE TABLE <表名>
(....
<列名> 数据类型 UNIQUE,
...)
修改设置UNIQUE约束
ALTER TABLE <表名>
ADD CONSTRAINT <约束名> UNIQUE (字段)
//使用sp_help <表名>查看到约束名
SQL约束名创建与修改添加相关推荐
- mysql中创建表并添加约束_创建表并添加约束
--创建学生表并创建约束 create table Student ( StuNo int identity(1,1) primary key(StuNo), --identity:自增列pr ...
- sqlsever2019:SQL视图的创建与修改
一.前言 前面的基础造作我已经讲过用界面方式创建,这里主要是介绍SQL创建. ctrl+s保存: 二.创建视图 创建查询Student数据表中所有记录的视图view2: use db_Test go ...
- MySQL默认库可以删_个人总结:Sql(一:创建删除修改库表||附:mysql数据类型及默认值)...
个人总结:Sql(一:创建&删除&修改库&表||附:mysql数据类型及默认值)createdatabasecreate tablealterdatabasealtertabl ...
- SQL Server语句创建表
今天介绍一下如何使用SQL Server语句创建表并添加数据 首先先了解一下表的模式,在数据库中根据模式进行分组避免表名称的冲突 在SQL Server 2014中直接新建表是默认的前缀dbo 而命名 ...
- 数据库——MySQL(一)(数据库常用命令、数据类型、创建表与修改表结构、约束、约束修改添加)
MySQL数据库的概述: MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库信息增.删.查.改管理 - ...
- 数据库(概念、语法、DBMS、SQL语言:创建数据库、表格,添加、修改、删除数据记录)...
关系型数据库:以表作为实体,以主键和外键关系作为联系的一种数据结构. 主键:在关系型数据库中,用一个唯一的标识符来标志每一行,这个标识符就是主键.主键有两个特点:非空和不能重复. 外键:在关系型数据库 ...
- sql在已创建的表上添加约束
有时候我们需要在创建好的sql表上对一些列添加约束,可以这么做: 在一个已创建的表的 "Age" 字段中添加 NOT NULL 约束如下所示: ALTER TABLE Person ...
- Mysql的基础使用之SQL原生语句的使用:表的 创建 删除 修改 (一)
上一篇主要讲的是关于Mysql的分支MariaDB在Linux下的安装 顺利安装完成的小伙伴,就可以接着来试试SQL的魅力了 红色为命令 蓝色为自定义名 查看数据库 MariaDB [(none)]& ...
- SQL Server触发器创建、删除、修改、查看
http://blog.csdn.net/tianwailaibin/article/details/8111766 本教程为大家介绍SQL Server触发器创建.删除.修改.查看方法. 一.触发器 ...
最新文章
- Centos7如何开启端口
- java mysql failover_MySQL MMM 双主在Failover时挂起
- 获取分组后取某字段最大一条记录(求每个类别中最大的值的列表)
- python 用递归求质数_编写一个递归函数,它接受和整数,如果它的所有数字都是质数,则返回“True”...
- 数据结构与算法 / 霍夫曼树、霍夫曼编码和解码
- 从NetBeans运行和调试WildFly Swarm应用程序
- 影响PoE交换机不稳定的因素
- 根据id获取多维数组路径_程序员的进阶课-架构师之路(2)-数组
- C#任务调度——LimitedConcurrencyLevelTaskScheduler
- Custom Basic Authentication for IIS
- 数据结构折半查找例题_山东2011专升本计算机专业数据结构练习题 - 图文
- [AST实战]从零开始写一个wepy转VUE的工具
- 更快的 Chrome?谷歌正在测试“永不变慢”模式
- SCM供应链协同管理系统解决方案
- 消防工程师 10.1 火灾自动报警系统-组成和工作原理
- python字符串介绍_python字符串详解
- android 移动拼图效果实现
- JZOJ 1266. 玉米田
- 酷派大观4 8970 刷android 4.4,极速达百兆! 移动4G版酷派大观4网络体验
- php ssl 465,帝国CMS邮件无法发送 SSL465端口无法发送的问题解决办法