mysql表与表之间创建外键关系
来源:互联网 发布:阿里云免费空间 编辑:程序博客网 时间:2024/04/30 01:53
CREATE DATABASE bankDB;
USE bankDB;
##drop TABLE user_info
CREATE TABLE user_info(
user_id INT AUTO_INCREMENT PRIMARY KEY,
user_name NVARCHAR(30),
user_sex NVARCHAR(4)
);
##drop TABLE card_type
CREATE TABLE card_type(
usertype_id INT AUTO_INCREMENT PRIMARY KEY,
usertype_Name NVARCHAR(30)
);
##DROP TABLE user_card
CREATE TABLE user_card(
usercard_id INT AUTO_INCREMENT PRIMARY KEY,
usercard_number NVARCHAR(30),
usercard_pwd INT,
usercard_remark TEXT,
cardtype_id INT,#外键user_type
user_id INT,#外键user_info
FOREIGN KEY(cardtype_id) REFERENCES card_type(usertype_id) ON DELETE CASCADE,##创建外键关系语句
FOREIGN KEY(user_id) REFERENCES user_info(user_id) ON DELETE CASCADE ##创建外键关系语句
)TYPE=INNODB;
INSERT INTO user_card VALUES (NULL,'500226198705088574',123456,'备注',1,1);
INSERT INTO user_card VALUES (NULL,'500226199995088574',123456,'备注',2,1);
INSERT INTO user_card VALUES (NULL,'500226155505088574',123456,'备注',3,1);
INSERT INTO user_card VALUES (NULL,'500226198705088574',123456,'备注',1,2);
INSERT INTO user_card VALUES (NULL,'500226777705088574',123456,'备注',1,3);
INSERT INTO user_card VALUES (NULL,'500226192115088574',123456,'备注',1,4);
INSERT INTO user_card VALUES (NULL,'500226097050488574',123456,'备注',1,6);
INSERT INTO user_card VALUES (NULL,'500226777705088574',123456,'备注',2,3);
INSERT INTO user_card VALUES (NULL,'500226192115088574',123456,'备注',3,4);
INSERT INTO user_card VALUES (NULL,'500226097050488574',123456,'备注',1,8);
INSERT INTO user_info VALUES (NULL,'张三0','男');
INSERT INTO user_info VALUES (NULL,'张三1','女');
INSERT INTO user_info VALUES (NULL,'张三2','男');
INSERT INTO user_info VALUES (NULL,'张三3','男');
INSERT INTO user_info VALUES (NULL,'张三4','男');
INSERT INTO user_info VALUES (NULL,'张三5','男');
INSERT INTO user_info VALUES (NULL,'张三6','女');
INSERT INTO user_info VALUES (NULL,'张三7','女');
INSERT INTO card_type VALUES (NULL,'信贷卡');
INSERT INTO card_type VALUES (NULL,'借记卡');
INSERT INTO card_type VALUES (NULL,'消费卡');
SELECT * FROM user_info;
SELECT * FROM card_type;
SELECT * FROM user_card;
######查询卡:信贷卡的用户信息记录#######
##方法一:
SELECT user_info.user_id,user_info.user_name,user_info.user_sex
FROM user_info,user_card,card_type
WHERE user_info.user_id=user_card.user_id
AND user_card.cardtype_id=card_type.usertype_id
AND card_type.usertype_Name='信贷卡';
SELECT * FROM user_info,user_card,card_type
##方法二
SELECT * FROM user_info WHERE user_id IN(
SELECT user_id FROM user_card WHERE cardtype_id =(
SELECT usertype_id FROM card_type WHERE usertype_Name='信贷卡')
);
##左连接(以user_info为显示基础,user_card没有符合条件则以null填充显示)
SELECT DISTINCT * FROM user_info LEFT JOIN user_card ON user_info.user_id=user_card.user_id
##右连接(与上面相反)
SELECT DISTINCT * FROM user_info RIGHT JOIN user_card ON user_info.user_id=user_card.user_id
##内连接(ON等同于where)
SELECT DISTINCT * FROM user_info INNER JOIN user_card ON user_info.user_id=user_card.user_id
- mysql表与表之间创建外键关系
- [Beginner]MySQL 主机名与权限表之间的关系
- 表与表之间关系 --------实体与实体之间关系
- Devperience 12.1 ,XPObject创建表之间关系
- MySQL数据库-表之间的关系(精华)
- 创建对象与括号之间的关系
- 数据库表与表之间的关系
- 表与表之间的关系
- hibernate 表与表之间的关系
- 表与表之间关系回顾
- MySQL---数据库从入门走向大神系列(四)-子查询、表与表之间的关系
- 关系型数据库表与表之间的关系
- Oracle-数据库、表空间、用户、表之间关系以及创建
- iMatrix平台中如何创建表之间的关系
- 如何创建数据库表之间的关联关系
- mysql学习(5):多表之间的关系
- 表之间的关系
- mysql:day3--java访问数据库、CASE...WHEN、无关/相关子查询、表与表之间的关系
- CListBox & CCheckListBox 使用技巧
- VC++ 中对注册表的操作
- 【转】剪贴板的操作
- 加分
- 【原】VC++ 中实现进制2进制,10进制,16进制的相互转换
- mysql表与表之间创建外键关系
- Android平台的发展
- UBUNTU网络环境配置(VMWARE虚拟机)
- VC++动态链接库(DLL)编程深入浅出(一)
- 【转】杀死已知应用程序名的进程
- WPF/Silverlight ListBox 数据横向显示的实现
- GLib学习笔记
- 打造自己的reset.css
- Gstreamer应用程序指南学习笔记