FOREIGN KEY 外键约束; UNIQUE和PRIMARY KEY 主键约束、CREATE INDEX建立索引的使用

1)foreign key 是个约束,意思是说如果你给A字段设置了外键约束,以后你要往A字段插入数据,这个数据一定是要在foreign key 后面跟的那个字段中存在的值。这个的意义就是约束了数据的完整性,不会插入错误的数据。

修改添加t_topic外键约束:

ALTER TABLE t_topic
ADD CONSTRAINT fk_userTopics
FOREIGN KEY (user_id)
REFERENCES t_users(id)

删除表t_topic外键:

ALTER TABLE t_topic
DROP FOREIGN KEY fk_userTopics

2)UNIQUED 可空,可以在一个表里的一个或多个字段定义

添加唯一键:

ALTER TABLE t_topic
ADD CONSTRAINT un_filed UNIQUE (id,title)

删除唯一键:

ALTER TABLE t_topic
DROP INDEX un_filed

3)PRIMARY KEY 不可空不可重复,在一个表中只能有一个Primary Key,而多个Unique Key可以同时存在。

建立唯一主键:

ALTER TABLE t_topic
ADD PRIMARY KEY (id)

删除主键:

ALTER TABLE t_topic
DROP PRIMARY KEY

4)CREATE INDEX 建立表的唯一索引 create unique index 和  create index

CREATE UNIQUE INDEX index_topic_id
ON t_topic (id)

原文地址:https://www.cnblogs.com/wanglijun/p/8919758.html

时间: 2024-10-05 04:58:45

FOREIGN KEY 外键约束; UNIQUE和PRIMARY KEY 主键约束、CREATE INDEX建立索引的使用的相关文章

SQL高级应用--约束(NOT NULL、UNIQUE、PRIMARY KEY、FOREIGN KEY、CHECK、DEFAULT)

一.SQL约束 约束用于限制加入标的数据的类型 可以在创建表的时候规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE语句) 主要探讨以下的几种约束: 1) NOT NULL 2) UNIQUE 3) PRIMARY KEY 4) FOREIGN KEY 5) CHECK 6) DEFAULT 二.SQL NOT NULL 约束 NOT NULL约束强制列不接受 NULL值 NOT NULL约束强制字段始终包含值.这意味着,如果不向字段添加值,就

SQL高级应用--约束二--(PRIMARY KEY、FOREIGN KEY)

四.SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录 主键必须包含唯一的值 主键列不能包含 NULL 值 每个表都应该有一个主键,并且每个表只能有一个主键 下面的SQL 在 Persons 表创建时在 Id_P列创建PRIMARY KEY 约束 MySQL CREATE TABLE Persons ( Id_P int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255),

19、约束之间的比较:主键约束、联合约束、唯一约束、外键约束

约束之间的比较:主键约束.联合约束.唯一约束.外键约束 1.主键约束,primary_key 能唯一确定一张表中的记录,也就是我们通过给某个字段添加约束,就可以使得改字段不重复且不为空. create table test1( id int primary key, name varchar(20) not null ); 1.2.联合约束,只要联合的主键值加起来不重复就可以了,且不为空 create table test2( id int, name varchar(20), password

关于主键的设计、primary key

主键:用于唯一标识一个表中一行数据. 外键:用于建立两个表之间的关系,A表中有一列是B表中的主键,那么A表中这列的数据就受到B表主键的约束. 那么关于主键应该如何设计呢,这里我说下优缺点: 1.用自动增长字段作为主键,这样的主键可以称之为 非业务主键(或逻辑主键.或代理主键),就是说这列与业务无关,仅仅是作为主键而设计. 优点:自增长字段往往是integer bigint类型,最多占8个字节.索引与外键 所占用的空间连带减少,增删改查 效率高.业务变化,不影响,不需要更新主键. 缺点:无法转移数

SQL Server 主表主键自增量,如何获取主键呢?

开发过程中经常存在主表的主键是自增量的情况,需要获取增量值才能插入字表数据,获取方法如下三种: IDENT_CURRENT 返回为某个会话和用域中的指定表生成的最新标识值. @@IDENTITY 返回为跨所有作用域的当前会话中的某个表生成的最新标识值. SCOPE_IDENTITY() 返回为当前会话和当前作用域中的某个表生成的最新标识值. 推荐使用IDENT_CURRENT ,不容易因为域和表产生错误值. 参考资料: 1.http://www.cnblogs.com/Gin-23333/p/3

MyBatista主键映射,执行inset返回主键

有点时候,我们的业务需要执行了insert语句后再返回主键,这时可以使用主键映射 首先,定义sql,以MySQL为例 1 <insert id="addUser" useGeneratedKeys="true" keyProperty="user_id" parameterType="com.entity.User"> 2 insert into user(name,xes,age)values('jack','男

oracle约束总结(not null/unique/primary key/foreign key/check)

约束(constraint):对创建的表的列属性.字段进行的限制.诸如:not null/unique/primary key/foreign key/check 作用范围: ①列级约束只能作用在一个列上 ②表级约束可以作用在多个列上(当然表级约束也可以作用在一个列上) 定义方式:列约束必须跟在列的定义后面,表约束不与列一起,而是单独定义. - -NOT NULL:不为空约束,只能定义在列级 CREATE TABLE employees( employee_id NUMBER(6), --<sp

SQL语句建表、设置主键、外键、check、default、unique约束

· 什么是数据库? 存放数据的仓库. · 数据库和数据结构有什么区别? 数据结构要解决在内存中操作数据的问题,数据库要解决在硬盘中操作数据的问题.数据结构研究一些抽象数据模型(ADT)和以及定义在该模型上的一些操作,数据库是由表.关系.操作组成. · 什么是主键? 主键用来标识记录的唯一性. · 什么是外键? 外键用来标识表与表之间的联系. · 什么是check约束? check约束限制了输入值的范围. · 什么是default约束? 给某个属性一个默认值. · 什么是unique约束? 限制某

mysql中key 、primary key 、unique key 与index区别

一.key与primary key区别 CREATE TABLE wh_logrecord ( logrecord_id int(11) NOT NULL auto_increment, user_name varchar(100) default NULL, operation_time datetime default NULL, logrecord_operation varchar(100) default NULL, PRIMARY KEY (logrecord_id), KEY wh