SQL 约束和表修改语句
1.约束作用:
约束的目的就是确保表中的数据的完整性
2.常用的约束类型如下
主键约束:(Primary Key constraint) 要求主键列唯一,并且不允许为空
唯一约束:(Unique Constraint) 要求该列唯一,允许为空,但只能出现一个空值
检查约束:(Check Constraint) 某列取值范围限制、格式限制等。如有关年龄的限制
默认约束:(Default Constraint) 某列的默认值,如我们的男性学员比较多,性别默认为男
外键约束:(Foreign Key Constraint) 用于在两表之间建立关系,需要指定引用主表的哪一列
3.添加约束语句
Alter Table 表名
Add Constraint 约束名 约束类型 具体的约束类型
示例:
---添加主键约束
Alter Table Table_Name
Add Constraint PK_Table_Name_Field primary Key(Field)
---添加唯一约束
Alter Table Table_Name
Add Constraint UQ_Table_Name_Field unique(Field)
---添加默认约束
Alter Table Table_Name
Add Constraint DF_Table_Name_Field default(defaultValue) for Field
---添加检查约束
Alter Table Table_Name
Add Constraint CK_Table_Name_Field check(Field between startvalue and endvalue)
---添加外键约束
Alter Table Table_Name
Add Constraint FK_Table_Name foreign key(Field ) references ParentTable(Field)
4.删除约束
Alter Table 表名
Drop Constraint 约束名
5.表修改语句
修改数据表名 ALTER TABLE OLD_TABLE_NAME RENAME TO NEW_TABLE_NAME 修改数据表
修改数据表 ALTER TABLE TABLE_NAME RENAME COLUMN OLD_COLUMN_NAME TO NEW_COLUMN_NAME
修改列的数据类型 ALTER TABLE TABLE_NAME MODIFY COLUMN_NAME NEW_DATATYPE
插入列 ALTER TABLE TABLE_NAME ADD COLUMN_NAME DATATYPE
删除列 ALTER TABLE TABLE_NAME DROP COLUMN COLUMN_NAME
为表添加描述信息 EXECUTE sp_addextendedproperty N'MS_Description', 'DESCRIPTION', N'user', N'dbo', N'table', N'TABLE_NAME', NULL, NULL
为字段添加描述信息 EXECUTE sp_addextendedproperty N'MS_Description', 'DESCRIPTION', N'user', N'dbo', N'table', N'TABLE_NAME', N'column', N'COLUMN_NAME'
更新表中列的描述属性 EXEC sp_updateextendedproperty 'MS_Description','DESCRIPTION','user',dbo,'table','TABLE_NAME','column', N'COLUMN_NAME'
SQL 约束和表修改语句的更多相关文章
- SQL 两种表复制语句
1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Tab ...
- oracle——表修改语句集合
alter table table_name modify column_name default 0;
- mysql关联表修改语句
UPDATE tb_irms_trans_pip2optseg a,`tb_irms_trans_pip` b SET a.district=b.district WHERE a.prop_id=b. ...
- SQL语法基础之UPDATE语句
SQL语法基础之UPDATE语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看UPDATE语句的帮助信息 1>.查看UPDATE的帮助信息 mysql> ? ...
- 数据库-SQL语句:删除和修改语句-列类型-列约束
使用MySQL客户端连接服务器的两种方式: (1)交互模式: ——查 mysql.exe -h127.0.0.1 -uroot -p mysql -uroot (2)脚本模式:——增删改 m ...
- 【SQL Server DBA】维护语句:删除并创建外键约束、获取建表语句
原文:[SQL Server DBA]维护语句:删除并创建外键约束.获取建表语句 1.删除外键约束,建立外键约束 先建立3个表: /* drop table tb drop table tb_b dr ...
- SQL CREATE TABLE 语句\SQL 约束 (Constraints)\SQL NOT NULL 约束\SQL UNIQUE 约束
CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表. SQL CREATE TABLE 语法 CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据 ...
- Hibernate原生SQL查询多表关联,SQL语句要注意的问题
Hibernate原生SQL查询多表关联,SQL语句要注意的问题 @for&ever 2009-9-4 系统环境: MySQL5.1 Hibernate3.3 有如下的假定: 实体类 Ques ...
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解(SQL数据库和Oracle数据库的区别)
https://www.cnblogs.com/mq0036/p/4155136.html 我们经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个tabl ...
随机推荐
- Python全栈开发:进程代码实例
进程与线程的关系 #!/usr/bin/env python # -*- coding;utf-8 -*- """ 多进程(主进程,子进程): 优点:能同时利用多个CPU ...
- 【JZOJ3379】查询
description 对于一个整数序列,查询区间第k大数可以在O(logN)的时间内轻松完成.现在我们对这个问题进行推广. 考虑带重复数的集合(multiset).定义在该类集合上的并操作" ...
- MaxCompute安全管理指南-案例篇
通过<MaxCompute安全管理-基础篇>了解到MaxCompute和DataWorks的相关安全模型.两个产品安全方面的关联,以及各种安全操作后,本篇主要给出一些安全管理案例,给安全管 ...
- 表单控件绑定v-model
<!DOCTYPE html> <html lang="zh"> <head> <title></title> < ...
- PAT甲级题目1-10(C++)
1001 A+B Format(20分) Calculate a+b and output the sum in standard format -- that is, the digits must ...
- jdk工具(转)
在JDK的bin目录下有很多命令行工具: 我们可以看到各个工具的体积基本上都稳定在27kb左右,这个不是JDK开发团队刻意为之的,而是因为这些工具大多数是jdk\lib\tools.jar类库的一层薄 ...
- 关于c.toArray might (incorrectly) not return Object[] (see 6260652)的问题解答
最近学习jdk1.8源码时,发现ArrayList(Collection<? extends E> c)这个构造函数中,有句有意思的描述:c.toArray might (incorrec ...
- 操作系统 Lab1(2)
中断很久,一看发现又多了一些内容. 打算完成了 Lab1 challenge 1 中断像量表设置的时候我们需要设置一个用于系统调用的 trap门 也就是 利用中断切换特权级 To kernel 调用 ...
- 从GoogLeNet至Inception v3
从GoogLeNet至Inception v3 一.CNN发展纵览 我们先来看一张图片: 1985年,Rumelhart和Hinton等人提出了后向传播(Back Propagation,BP)算法( ...
- Leetcode152. Maximum Product Subarray乘积的最大子序列
给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数). 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6. 示例 2 ...