数据库学习(1)外键约束、判断语句 where or while?

最近在学sql语言,遇到了两个小问题,记录一下
1.创建表时,添加外键约束

创建表时,添加外键约束的完整语句是:
`constraint 外键名称 foreign key (外键列名称) references 主表名称(主表列名称)`,

"constraint 外键名称"可以省略,不设置外键名称。
但省略后删除外键时,又需要外键名。

删除外键的语句:
ALTER TABLE 表名 DROP FOREIGN KEY 外键;

这个时候就不太好办了,虽然上面省略constraint 外键名称之后,我们没有设置外键名称,但系统是给了一个外键名的。
在这里插入图片描述
我这里给的是‘emp_idfk_1’用系统给的外键名删除外键

ALTER TABLE emp DROP FOREIGN KEY  emp_idfk_1;

还是报错,所以还是不要省略“constraint 外键名” 比较方便
2.条件查询 是where不是while

创建部门表
CREATE TABLE dept(
 id INT PRIMARY KEY AUTO_INCREMENT,
 NAME VARCHAR(20)
);
 创建员工表
CREATE TABLE emp (
	 id INT PRIMARY KEY AUTO_INCREMENT,
	 NAME VARCHAR(10),
	 gender CHAR(1), -- 性别
	 salary DOUBLE, -- 工资
	 join_date DATE, -- 入职日期
	 dept_id INT,
	 FOREIGN KEY (dept_id) REFERENCES dept(id) -- 外键,关联部门表(部门表的主键) ) 
	);
-- -- 查询员工的入职日期是2011年11月11日之后的员工信息和部门信息
SELECT * FROM dept t1 ,(SELECT * FROM emp WHILE emp.`join_date`>'2011-11-11') t2 
WHILE t1.id=t2.dept_id;

刚开始怎么都找不到错,后来发现,原来是WHERE,不是WHILE。。。
WHILE是条件满足时一直执行
WHERE是筛选条件满足的数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值