1.多表之间的建表原则

  一对多:商品和分类

    建表原则:在多的一方添加一个外键,指向一的一方的主键

  多对多:老师和学生,学生和课程

    建表原则:建立一张中间表,将多对多的关系,拆分成一对多的关系,中间表至少要有两个外键,分别指向原来的两张表

  一对一:班级和班长,公民和身份证,国家和国旗

    建表原则:  

      将一对一的情况,当做是一对多的情况处理,在任意一张表添加一个外键,并且这个外键要唯一指向另外一张表

      直接将两张表合并成一张表

      将两张表的主键建立起连接,让两张表里面的主键相等

    多表之间的关系如何维护:外键约束:foreign key

      添加一个外键:alter table 表名 add foreign key(列名) references 表名(列名);

        创建时添加:foreign key(列名) reference 表名(列名)

        删除的时候,先删除外键关联的所有数据,再才能删除分类的数据

    主键约束:默认就是不能为空,唯一

      外键都是指向另外一张表的主键

      主键一张表只能有一个

    唯一约束:列里面的内容,必须是唯一,不能出现重复的情况,可以为空

      唯一约束不可以作为其他表的外键

      可以有多个唯一约束

2.多表查询内链接

  内连接查询:

    隐式内链接:

      select * from 表名 p,表名 c where p.cno=c.cid;

    显示内链接:

      select * from 表名 p inner join 表名 c on p.cno=c.cid;

    区别:

      隐式内链接:在查询出结果的基础上去做的where条件过滤

      显示内链接:带着条件去查询结果,执行效率要高

3.多表外连接查询;

    左外连接;  

      会将左表中的所有元素都查询出来,如果右表中没有对应的数据,用NULL代替

      select * from 表名 p left outer join 表名 c on p.列名(外键约束)=c.列名;

    右外连接:

      会将右表所有的数据都查询出来,如果左表中没有对应的数据的话,用NULL代替

      select * from 表名 p right outer join 表名 c on p.列名(外键约束)=c.列名;

4.分页查询

  每页数据3

  起始索引从0

  第1页:0

  第2页:3

    起始索引;index代表显示第几页

    每页显示3条数据

    starindex=(index-1)*3

  第一个参数是索引

  第二个参数每页是显示的个数

  eg:select * from 表名 limit 0.3;

    select * from 表名 limit 3,3;

5.子查询

  select * from product where

  

最新文章

  1. ie9始终提示文档预览需要最新版本的Flash Player支持的解决方法:
  2. Cloudera Manager5安装总结遇到问题及解决办法
  3. ios专题 - 单例模式的实现
  4. linux crontab 计划任务 atd和windows下的计划任务
  5. 6月19日 NSFileHandle文件类的常用方法
  6. linq中给字段添加别名
  7. jquery获得表格可见行的大小数量
  8. Hibernate批量操作(一)
  9. GIT如何从本地上传代码到github
  10. python函数式编程之装饰器(一)
  11. Android WebView那些坑之上传文件
  12. 【Unity】微软的一款依赖注入组件
  13. django - 总结
  14. git忽视上传规则文件 .gitignore
  15. MySQL的一些操作(学习记录_备忘)
  16. coding云(git)远程创建版本库和上传文件
  17. C语言使用pthread多线程编程(windows系统)一
  18. tomcat安装出现问题及解决方法
  19. DLL文件
  20. 【Linux】(2013-7-19)配置tftp与开发板传送文件

热门文章

  1. ArcMap复制粘贴问题
  2. Spring Boot Logback日志配置
  3. angularjs - 自定义指令(directive)
  4. 爬虫基础之urllib库
  5. Maven,gradle的搭建工具
  6. Winform中Picture控件图片的拖拽显示
  7. .NET中的StringBuilder
  8. HTML复习 2019-2-11
  9. macbook远程连接报错no matching cipher found
  10. Day 15 模块