
💝博客主页:红目香薰_CSDN博客-大数据,MySQL,Java领域博主💝 ✍本文由在下【红目香薰】原创,首发于CSDN✍ 🤗2022年最大愿望:【服务百万技术人】🤗
本文属于系列文章,分别为: MySQL复习资料(一)——MySQL环境安装 MySQL复习资料(二)——MySQL-DDL语句 MySQL复习资料(三)——MySQL-DML语句 MySQL复习资料(四)——MySQL-聚合函数 MySQL复习资料(五)——MySQL-索引 MySQL复习资料(六)——MySQL-多表联合查询 MySQL复习资料(七)——MySQL-存储过程 MySQL复习资料(八)——MySQL-事务 MySQL复习资料(九)——MySQL-图形化工具使用
目录
CREATE TABLE users (
id int(8) NOT NULL AUTO_INCREMENT,
createDate datetime NOT NULL,
userName varchar(32) NOT NULL,
passWord varchar(36) NOT NULL,
age int(3) NOT NULL,
phone varchar(11) NOT NULL,
introduce varchar(20) NOT NULL,
PRIMARY KEY (id)
) DEFAULT CHARSET=utf8;
insert into users values(0,now(),'admin','123456',22,'15912345678','喜欢学习.');
insert into users values(0,now(),'zhangsan','123456',32,'15912345678','喜欢做饭.');
insert into users values(0,now(),'lisi','123456',42,'15912345678','喜欢化妆.');
insert into users values(0,now(),'wangwu','123456',52,'15912345678','喜欢武术.');
insert into users values(0,now(),'zhaoliu','123456',16,'15912345678','喜欢舞蹈.');
insert into users values(0,now(),'ruanxiaoqi','123456',27,'15912345678','喜欢泡妞.');CREATE TABLE user_address (
id int(8) NOT NULL AUTO_INCREMENT,
uid int(8) NOT NULL,
inName varchar(32) NOT NULL,
inPhone varchar(11) NOT NULL,
address varchar(200) NOT NULL,
PRIMARY KEY (id)
) DEFAULT CHARSET=utf8;
insert into user_address values
(0,1,'superadmin','18112345671','hebei shijiazhuang'),
(0,1,'admin','18112345672','guangxi nanning'),
(0,2,'zhangsan','18112345673','heilongjiang haerbin'),
(0,2,'zhangsan','18112345674','hubei wuhan'),
(0,3,'lisi','18112345675','hebei zhangjiakou'),
(0,4,'wangwu','18112345676','hebeisheng xingtai'),
(0,5,'zhaoliu','18112345677','jiangwusheng hangzhoushi'),
(0,9,'shigandang','18112345678','shanghaishi');不必要加外键,如果需要添加,需要将MySQL的引擎改为【InnoDB】。
show create table users;
只有在【InnoDB】下才可以添加外键。
原因:禁止使用外键,如果要保证完整性,应由应用程式实现——参考《阿里内部mysql规范》

select * from users,user_address;共计查询64条,计算方式:A表users 8条数据,B表user_address 8条数据,8*8=64条。
交叉相乘,相当于计算了两个表的笛卡尔积。

select * from users,user_address where users.id=user_address.uid;
由于有两个id,需要说明都是谁的ID,故而需要进行单独修改名称,如果只有一个列名可以直接使用。
select u.id '用户id',createDate,userName,passWord,age,phone '手机',introduce,a.id '地址id',inName '收获人',inPhone '收货人手机号',address '收货人地址' from users u,user_address a where u.id=a.uid;
在常规的数据基础上做筛查即可。