Mysql主键 外键笔记:一起来简单谈谈sql语句
来源:互联网 发布:被猎头找到 知乎 编辑:程序博客网 时间:2024/05/14 11:29
SQL的主键和外键的概念:
主键(primary key) 能够唯一标识表中某一行的属性或属性组。一个表只能有一个主键,但可以有多个候选索引。主键常常与外键构成参照完整性约束,防止出现数据不一致。主键可以保证记录的唯一和主键域非空,数据库管理系统对于主键自动生成唯一索引,所以主键也是一个特殊的索引。
外键(foreign key) 是用于建立和加强两个表数据之间的链接的一列或多列。外键约束主要用来维护两个表之间数据的一致性。简言之,表的外键就是另一表的主键,外键将两表联系起来。一般情况下,要删除一张表中的主键必须首先要确保其它表中的没有相同外键(即该表中的主键没有一个外键和它相关联)。
PS:定义主键和外键主要是为了维护关系数据库的完整性:
主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。
外键用于与另一张表的关联,是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。
主键外键的添加:
创建一个普通的表:
CREATE TABLE t(
id int not null,
name char(20)
);
方法一:在表创建的时候直接创建主键或者外键
其一:
CREATE TABLE t1(
id int not null primary key,
f_id int,
name char(20),
foreign key(f_id) references f_t(f_id)
);
其二:
CREATE TABLE t1(
id int not null,
name char(20),
PRIMARY KEY (id
)
);
其三:复合主键
CREATE TABLE t1(
id int not null,
name char(20),
primary key (id,name)
);
方法二:在表创建好之后进行主外键的添加
主键:
alter table 表名
add constraint PK_字段名–“PK”为主键的缩写,字段名为要在其上创建主键的字段名,’PK_字段名’就为约束名
primary key (字段名) –字段名同上
外键:
alter table 表名
add constraint FK_字段名–“FK”为外键的缩写
foreign key (字段名) references 关联的表名(关联的字段名) –注意’关联的表名’和’关联的字段名’
alter table order add constraint fk_user_id foreign key(user_id) references t_user(user_id);–自己的order表和user表对应
删除外键
语法: ALTER TABLE table-name DROP FOREIGN KEY key-id;
例: ALTER TABLE order
DROP FOREIGN KEY user_id
记录下。。。。。
- Mysql主键 外键笔记:一起来简单谈谈sql语句
- SQL语句外键主键的一些笔记以及Mysql简单创建表
- mysql 创建 表 sql语句 带主键和外键
- sql 语句,主键外键详解
- sql 语句,主键外键详解
- MySQL 创建主键,外键和复合主键的语句
- MySQL 创建主键,外键和复合主键的语句
- MySQL 创建主键,外键和复合主键的语句
- Mysql主键相关的sql语句集锦
- Mysql笔记+sql语句
- myeclipse链接mysql以及简单的sql语句操作,笔记
- 3.笔记 MySQL学习——简单执行SQL语句
- 通过sql语句修改表的主键和外键
- PowerDesigner15 导出sql语句,但是没有主键外键
- SQL语句删除和添加外键、主键
- sql基本语句,主键外键约束与视图
- SQL语句删除和添加外键、主键
- SQL语句删除和添加外键、主键
- MissingResourceException: Can't find resource for bundle java....错误解决
- Android:SwipeRefreshView嵌套DockingExpandableListView 悬停标题外加上拉刷新下拉加载
- iOS 内存管理规则中的例外
- D3.js学习中总结的那些金句
- JS正则表达式元字符
- Mysql主键 外键笔记:一起来简单谈谈sql语句
- jsp中使用<jsp:include />在切换tomcat版本时遇到的问题
- ireport各个版本的下载地址分享
- 日期格式化yyyy年MM月dd日aHH:mm
- 转载:基于java的网络爬虫框架(实现京东数据的爬取,并将插入数据库)
- 人脸识别之人脸对齐(九)--SDM算法
- Linux下Solr的安装和配置
- OKhttp get同步请求方式 获取数据
- 指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针