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 约束和表修改语句的更多相关文章

  1. SQL 两种表复制语句

    1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Tab ...

  2. oracle——表修改语句集合

     alter table table_name modify column_name default 0; 

  3. mysql关联表修改语句

    UPDATE tb_irms_trans_pip2optseg a,`tb_irms_trans_pip` b SET a.district=b.district WHERE a.prop_id=b. ...

  4. SQL语法基础之UPDATE语句

    SQL语法基础之UPDATE语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看UPDATE语句的帮助信息 1>.查看UPDATE的帮助信息 mysql> ? ...

  5. 数据库-SQL语句:删除和修改语句-列类型-列约束

    使用MySQL客户端连接服务器的两种方式: (1)交互模式: ——查 mysql.exe  -h127.0.0.1  -uroot  -p mysql   -uroot (2)脚本模式:——增删改 m ...

  6. 【SQL Server DBA】维护语句:删除并创建外键约束、获取建表语句

    原文:[SQL Server DBA]维护语句:删除并创建外键约束.获取建表语句 1.删除外键约束,建立外键约束 先建立3个表: /* drop table tb drop table tb_b dr ...

  7. SQL CREATE TABLE 语句\SQL 约束 (Constraints)\SQL NOT NULL 约束\SQL UNIQUE 约束

    CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表. SQL CREATE TABLE 语法 CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据 ...

  8. Hibernate原生SQL查询多表关联,SQL语句要注意的问题

    Hibernate原生SQL查询多表关联,SQL语句要注意的问题 @for&ever 2009-9-4 系统环境: MySQL5.1 Hibernate3.3 有如下的假定: 实体类 Ques ...

  9. SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解(SQL数据库和Oracle数据库的区别)

    https://www.cnblogs.com/mq0036/p/4155136.html 我们经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个tabl ...

随机推荐

  1. spark2.0在IDE运行的问题

    spark2.0搭建到服务器跑很方便,但是本地跑和之前1.6还是有点区别,鼓捣了一点到半夜2点多总算能跑了.. 遇到的问题 1.idea千万要用file---setting-----plugins的s ...

  2. Eclipse 中安装 CDT 插件编写 C/C++

    使用到的软件 1.Eclipse 开发工具 2.MinGW 编译器 一.Eclipse 中安装 CDT 插件 打开 Eclipse 插件市场 搜索 CDT,并找到如下的插件.插件的版本名字可能不太一样 ...

  3. BP 算法之一种直观的解释

    0. 前言 之前上模式识别课程的时候,老师也讲过 MLP 的 BP 算法, 但是 ppt 过得太快,只有一个大概印象.后来课下自己也尝试看了一下 stanford deep learning 的 wi ...

  4. Mac配置maven环境命令

    1.安装:解压下载好的maven的文件,解压到你想要的文件夹底下. 2.配置 1)打开终端输入命令 vim ~/.bash_profile (编辑环境变量配置文件) 2)按下i,进入编辑模式 3)在环 ...

  5. python相关软件安装流程图解————————python安装——————python-3.7.1-amd64

    首先查看自己的系统版本 是32位的还是64位的 https://www.python.org/downloads/windows/ —————————python下载安装 开始———————————— ...

  6. python中检测mysql的主键唯一性异常

    有两种方法: 1.直接检测是什么异常(查mysql文档找出异常代码) import os import mysql_operate.mysql_connect as mysql import re d ...

  7. hibernate使用truncate清空表 截断表

    public void truncateTable(Session session, String tableNameInDb) { String sql = " truncate tabl ...

  8. Delphi-DLL远程注入

    1. 代码描述 枚举进程,然后向指定进程注入DLL 在被注入的进程窗口按下指定的键码值(#HOME),显示或者隐藏被注入的DLL窗口 未解决的问题: 卸载DLL DLL向exe发送消息 卸载键盘钩子 ...

  9. An invalid property 'jdbcType ' was found in mapping

    大概2种原因: 1 放进去的类型与字段的类型不匹配 2 比较变态,xml中=两边不能有空格! 错误示例如下:  #{plat,jdbcType = INTEGER}, 去掉空格后: #{plat,jd ...

  10. docker中使用源码方式搭建SRS流媒体服务

    一.背景 搭建流媒体服务的方式一般会采用nginx+rtmp和srs服务两种,前者是nginx加上插件所用,而后者是专门为了为了流媒体而生,在这一节中我们将从头搭建srs流媒体服务 二. 运行环境 为 ...