mysql(三)
短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
代码块
use company;
#创建部门表
CREATE TABLE department (
id int PRIMARY key auto_increment,
dep_name varchar(10) not null
);
#创建员工表
CREATE TABLE employee(
id int PRIMARY key auto_increment,
emp_name varchar(10) not null,
dep_id int
-- CONSTRAINT dep_id_fk FOREIGN key (dep_id) REFERENCES company(id) on DELETE CASCADE on UPDATE CASCADE
#上面的外键约束没有也可以,外键约束不影响表与表之间关联,影响的是表插入数据的约束
);
#向部门表中插入数据
insert into department(dep_name) VALUES ('网盟营销'),('大数据中心')
#向员工表中插入数据
insert into employee(emp_name,dep_id) VALUES('wangsiyu',1),('alex',2)
查询员工的ID,姓名,部门的名称:
代码块
select employee.id,emp_name,dep_name from employee,department WHERE department.id=employee.dep_id;
注意:对于两个表都同名的字段,应该在查询该字段的前面加上对应的表,否则电脑不知道你这个字段是哪个表的
连接查询(内连接,左连接,右连接,全连接)
代码块
内连接: 只连接匹配的行
select * from employee inner join department on employee.dep_id=department.id;
左连接 显示左表的全部记录
select * from employee left join department on employee.dep_id=department.id;
右连接:显示右表的全部记录
select * from employee right join department on employee.dep_id=department.id;
全连接:显示两个表的全部记录,没有对应的就用空表示
select * from employee full join department on employee.dep_id=department.id;
not null 非空约束
default 默认值约束
unique 唯一约束
primary key 主键约束
auto_increment 自增
foreign key 外键约束
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341