MySQL学习总结4:多表操作

来源:互联网 发布:java 兼职 编辑:程序博客网 时间:2024/06/08 16:07

一、外键

一对多:多建外键,指向一的主键,如商品表,和分类表。  声明:alter table product add constraint product_category_fk foreign key(category_id) references  category(cid);

注意:有constraint字段才可以加名称!

外键目的:保证数据完整性!


多对多:建立中间表,中间表至少2个字段,分别作为外键指向主表的主键,如学生和课程【就是拆分成2个一对多】


一对一(了解):如公司和地址,两种建表原则:

1.唯一外键对应,把地址当多的一方,加unique关键字

2.主键对主键


二、多表查询

1.交叉连接 ,select * from A,B; 乘积

2.内连接,select * from A inner join B on 主键=外键    inner可以省略

隐式内连接:select * from A,B where 条件;

3.外链接:left outer join  

                   right outer join


4.子查询:一条的结果作为另一条sql的条件

mysql> select * from product where category_id = (select cid from category where
 cname='化妆品');


三、实现properties加载

 1.ResourceBundle.getBundle("db")---------不要后缀名!

2.Properties对象:

加载src下资源:当前类.class.getClassLoader().getResourceAsStream("db.properties");

Properties     .load();prop.getProperty(key)




原创粉丝点击