• Mysql(多表查询)


    分页查询:

    语法:select .... limit  start, rows

    表示从start+1行开始取,取出rows行,start从0开始计算

    公式:limit  每页显示记录数 *(第几页-1),每页显示记录数

    自连接:

    概念:在同一张表的连接查询(将同一张表看作两张表)

    特点:1.同一张表当作两张表使用

               2.需要给表取别名   表名   表别名

               3.列名不明确,可以指定列的别名  列名  as  列的别名

    子查询:

    概念:嵌入在其它sql语句中的select语句,也叫嵌套查询

    单行子查询:指只返回一行数据的子查询语句

    多行子查询:指返回多行数据的子查询    使用关键字in

    all和any关键字:

    select ename,sal,deptno from emp
            where sal > any/all (select sal from emp
                                            where deptno = 30);

     多列子查询:

    概念:指查询返回多列数据的子查询语句

    select * from emp
            where (deptno,job) = (
                    select deptno,job from emp
                            where ename = 'ALLEN')
                    and ename != 'ALLEN';    

    外连接:

    左外连接(如果左边的表完全显示,则称为左外连)

    select ...  from  表1  left  join  表2  on  条件[表1:左表,表2:右表]

    右外连接(如果右边的表完全显示,则称为右外连)

    select ...  from  表1  right  join  表2  on  条件[表1:左表,表2:右表]

    mysql约束:

    主键字段名  字段类型  primary key 或  表定义最后写  primary key(列名)

    1.用于唯一的标示表行的数据,当定义主键约束后,该列不能重复且不能为null

    2.一张表只能有一个主键,但是可以复合主键,例如:primary key( id , name )

    not null(非空)如果在列上定义了not null,那么当插入数据时,必须为列提供数据

    unique(唯一):当定义了唯一约束后,该列值是不能重复的

    1.如果没有指定not null,则unique字段可以有多个null

    2.一张表可以有多个unique字段

    外键:用于定义主表和从表之间的关系,外键约束要定义在从表上,主表则必须具有主键约束或是unique约束,当定义外键约束后,要求外键列数据必须在主表的主键列存在或是为null

    foreign key(本表字段名)references  主表名(主键名或unique字段名)

    注意事项:

    1.外键指向的表的字段,要求是primary key或者是unique

    2.表的类型是innodb,这样的表才支持外键

    3.外键字段的类型要和主键字段的类型一致(长度可以不同)

    4.外键字段的值,必须在主键字段中出现过,或者为null(前提是外键字段允许为null)

    5.一旦建立主外键的关系,数据就不能随意删除了

    check用于强制行数据必须满足的条件

    列名  类型  check(check条件)

    自增长:从1开始自动的增长

    字段名  整型  primary  key  auto_increment

    方式:

    1. insert  into  xxx (字段1,字段2....)  values(null,'值' ....)

    2.insert  into  xxx(字段2,.....)values('值'....)

    3.insert  into xxx  values(null,'值'......)

  • 相关阅读:
    15天深度复习JavaWeb的详细笔记(六)——HTTP、Tomcat、Servlet
    java毕业设计购物管理系统(附源码、数据库)
    新型大数据解决方案,数据湖如何建设?
    NodeJs实战-待办列表(7)-connect组件简化代码
    增加并行度后,发现Flink窗口不会计算的问题。
    .Net(C#)常用转换byte转uint32、byte转float等
    Java基于SpringBoot的藏区特产销售系统的研究与实现
    DMNet复现(一)之数据准备篇:Density map guided object detection in aerial image
    go语言float64保留2位小数
    Tomcat和Servlet
  • 原文地址:https://blog.csdn.net/weixin_63954483/article/details/126272470