一、约束概述
1、约束保证数据的【完整性和一致性】
2、约束分为表级约束(针对多列)和列级约束(针对一列)
3、按功能分类包括:
· NOT NULL非空约束
· PRIMARY KEY主键约束
· UNIQUE KEY唯一约束
· DEFAULT默认约束
· FOREIGN KEY外键约束
二、FOREIGN KEY
0 保证数据一致性,和完整性。
1、参照表为子表,被参照表为父表
2、【语法】子表中单起一列:FOREIGN KEY 子表(外键列) REFERENCES 父表(参照列)
2、实现一对一或一对多关系
3、要求如图:
· 表:相同引擎InnoDB,不能临时表
· 列:【相同数据类型】,数字等长\同符号,字符长度可不同
· 列:必须创建索引,系统自动为外键列创建
子表中的外键会参照父表中的主键,新系统会自动创建索引。
外键约束参数操作
一、删除或更新父表数据,控制参数
1、语法:FOREIGN KEY 子表(外键列)REFERENCES 父表(参考列)【ON DELETE】 参数
2、参数
当父表删除和更新操作时:
· CASCADE:子表也删除和更新
· SET NULL:子表设置为NULL,但子表外键列不能设置为NOT NULL(矛盾)
· RESTRICT:拒绝对父表的删除或者更新操作。
· NO ACTION:标准SQL关键字,MYSQL中与RESTRICT相同
更新父表时候子表要进行的操作
表级约束与列级约束
1、对一个列创建的约束为列级约束
2、对多个列创建的约束为表级约束
3、列级约束既可以在列定义时声明,也可以在列定义后声明
4、表级约束只能在列定义后声明
5、并不是所有的约束都有表级约束,如NOT NULL、DEFAULT…
(三)约束以及修改数据表——修改列
1、添加单列:ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name]。若不添加具体位置,则默认添加到最后。
2、添加多列:ALTER TABLE tbl_name ADD [COLUMN] (col_name1 column_definition1,...)只能添加到末尾
3、删除列:ALTER TABLE tbl_name DROP [COLUMN] col_name1,...
4、多个操作:ALTER TABLE tbl_name DROP col_name1,ADD col_name2...
约束以及修改数据表——修改约束
1、添加主键约束:
ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] PRIMARY KEY[index_type] (col_name);
2、添加唯一约束
ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] UNIQUE KEY[index_type] (col_name1,col_name2...);
3、添加爱外键约束
ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] FOREIGN KEY [index_type](外键列) REFERENCES 父类(参考列);
4、添加/删除默认DEFAULT约束
ALTER TABLE tbl_name ALTER col_name SET DEFAULT literal / DROP DEFAULT;
constraint 是给起一个名字
添加和删除默认约束
约束以及修改数据表——删除约束
1、删除主键约束
ALTER TABLE tbl_name DROP PRIMARY KEY;
2、删除唯一约束
ALTER TABLE tbl_name DROP {INDEX|KEY} index_name(引索通过SHOW INDEXES tbl_name查看);
3、删除外键约束
ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol(约束名字:通过SHOW CREATE TABLE tbl_name查看);
删除主键约束
删除唯一约束,唯一约束有名字,可以从表结构中查看
删除外键约束
约束以及修改数据表——修改列定义和名称
***不要随意更改列名和表名:引用问题
1、修改列定义 (位置)
ALTER TABLE tbl_name 【MODIFY】 [COLUMN] col_name colum_definition [FIRST | AFTER col_name]
2、修改列名称(属性位置)CHANGE > MODIFY
ALTER TABLE tbl_name 【CHANGE】 [COLUMN] old_col_name new_col_name column_definition [FIRST | AFTER col_name]
3、数据表更名
· 方法1:ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name
· 方法2:RENAME TABLE tbl_name TO new_tbl_name[,tbl_name2 TO new_tbl_name2...]
相关推荐
SQL 语句总结,包括增删改查,建库,表,修改表结构,增删约束与字段等 SQL 语句是关系数据库管理系统的核心组成部分,用于管理和操作数据库。下面是 SQL 语句的总结,包括创建数据库、创建表、修改表结构、增删...
本文将深入探讨Oracle约束的基本语法以及如何修改表结构。 首先,Oracle约束可以分为五种类型: 1. **NOT NULL约束**:不允许字段值为空,确保了字段必须有值。 2. **UNIQUE约束**:确保字段中的值是唯一的,但...
`ALTER TABLE`允许我们对现有的数据库表进行各种类型的修改操作,比如添加新列、删除旧列、修改列的数据类型、增加约束等。这对于数据库的日常管理和维护至关重要。 ### 常用的ALTER TABLE语句详解 #### 1. 添加新...
本篇文章将详细介绍如何利用Oracle中的`ALTER TABLE`命令来修改表结构,包括添加字段、修改字段、删除字段、重命名表以及添加注释等功能。 #### 二、添加字段 添加字段是最常见的需求之一,通常用于扩展已有表的...
此外,`ALTER TABLE`语句可用于后期修改表结构,添加、删除或修改约束;`INSERT INTO`用于向表中插入数据;`SELECT`用于查询数据;`UPDATE`和`DELETE`分别用于更新和删除数据。这些都是SQL Server中常用的操作。 ...
在IT行业中,数据库管理和开发是核心任务之一,而创建和修改表结构是数据库设计的关键步骤。这个名为"创建、修改表结构_代码生成器"的工具显然旨在简化这一过程,帮助开发者快速、高效地构建和调整数据库模式。下面...
除了以上基本操作外,有时还需要对现有的表结构进行修改,包括添加字段、删除字段或修改字段属性,这通常通过`ALTER TABLE`语句完成。例如: - 添加字段:`ALTER TABLE [表名] ADD [字段名] 数据类型 [NULL/NOT ...
Excel的便利性和灵活性使得用户可以方便地编辑和调整表结构,如添加、删除或修改列,设置主键、外键和索引等。工具会读取这些信息并自动生成相应的SQL脚本。 在使用这个工具时,用户首先需要在Excel中创建一个模板...
1. **图形化界面**:表结构设计器通常配备有直观的拖拽式界面,用户可以通过这个界面直接添加、删除或调整表的列,以及设置列的属性,如数据类型、长度、是否允许为空等。 2. **数据类型选择**:在设计表结构时,...
如果需要清空数据库中的所有表数据,但保留表结构,可以使用以下SQL语句: ```sql SELECT 'TRUNCATE TABLE ' + name FROM sys.tables ``` 这条语句同样会生成一系列`TRUNCATE TABLE`命令,每个命令对应一个表。`...
本篇将详细阐述如何使用DB2的ALTER命令来修改表结构,主要包括:更改列名、修改字段类型、添加字段、删除主键约束、添加主键约束、删除字段默认值、添加字段默认值、删除非空约束以及添加非空约束。同时,还将介绍...
用户可以通过添加、删除和修改字段,设定数据类型,指定主键和外键,以及创建索引来定制表结构。此外,还可以设置表的其他属性,如字符集、排序规则等,以满足特定的数据存储需求。 另一关键特性是逆向工程或反向...
1. **表结构修改**:使用`ALTER TABLE`语句添加、删除和修改列及约束。例如,向`Depts`表添加`系主任`和`学生人数`列,向`Students`表添加`班级`等列,向`Reports`表添加`学年度`和`学期`列。 2. **删除列和约束**...
这可能涉及到添加或删除字段、调整字段类型、修改约束条件等。软件提供了一种安全的方式来执行这些变更,确保在修改过程中不会破坏现有数据的完整性。 “远程建表”功能使得用户可以在不同地理位置的数据库服务器上...
这种操作涉及到SQL语言中的ALTER TABLE语句,该语句允许数据库管理员或具有相应权限的用户对现有的表结构进行更改,包括添加列、修改列属性、重命名列或表、以及删除列等。以下是对【标题】:“在Oracle 9i中修改表...
"修改表"则涉及对已有表进行更新,如添加、删除或修改字段,调整字段顺序,改变字段属性,或者更改表的其他元数据。例如,若要向上述`Users`表中添加一个`CreateDate`字段,可使用如下SQL语句: ```sql ALTER TABLE ...
在实际应用中,可能会遇到需要修改表结构的情况,如更改字段名称、调整字段顺序或改变数据类型等。常见的修改场景包括: - **更改字段数据类型**:当原始设计的数据类型不再满足业务需求时,可能需要进行更改。 - *...
mysql实例之使用alter table命令修改表结构 mysql alter table语句可以修改表的基本结构,例如添加字段、删除字段、添加主键、添加索引、修改字段数据类型、对表重命名等等操作,本文章通过两个简单的实例向大家介绍...
4. ALTER TABLE语句用于修改已有表结构。例如,要向“成绩”表中添加一列“科目”,可以使用`ALTER TABLE 成绩 ADD 科目 VARCHAR(50)`。 5. DELETE TABLE语句删除表,如`DROP TABLE 成绩`会彻底移除名为“成绩”的...
表结构包括字段名、字段类型及可能的一些约束条件。 **语法示例:** ```sql CREATE TABLE 表名 ( 字段1 类型 [约束], 字段2 类型 [约束], ... ); ``` 例如,根据给定的部分内容,创建一个表: ```sql CREATE ...