第二十七天学习java

总结

多表查询

  • 笛卡尔积

    1. 两个表的连接没有条件就会产生笛卡尔积,要避免这种情况,可以通过等值连接来避免
  • 外键约束

    1. 表的外键是另一个表的主键这就是外键约束
  • 内连接

    • 隐式内连接:就是没有用join 用的from和where
    • 显示内连接(取交集):用了join select e.* from emp e (inner)join dept d on e.deptno = d.deptno
  • 外连接

    • left join(左连接):以作左边的为主表,右边的表没有的就用null代替
    • right join(右连接):以作右边的为主表,左边的表没有的就用null代替
  • 自连接

    • 就是把自己看成两张表
  • 子查询

    一个查询语句嵌套了另一个查询语句,内嵌套的查询语句的结果可以作为外查询的条件

    • 单列子查询
      1. 查询语句得到的值可以当作一个整体放在where后面作比较等
    • 多列子查询
      1. 查询语句得到的表可以当作一个整体放在from后面当作另一个表使用

DML

  • 插入
    1. insert into 表名(列名)values(值)
    2. insert into 表名 values(值)
    3. insert into 表名(列名)values(值)(值)(值)
  • 修改
    1. update 表名 set 列名=值,列名=值 where 判断条件
  • 删除
    1. delete from 表名 where 判断条件(可以恢复,删除的数据)
    2. drop table 表名 (删除的结构,不能回复)
  • 数据的导出和导入(dos窗口中)
    1. 导出:mysqldump -uroot -p123456 --default-character-set=utf8 test>D:/test.sql
    2. 导入:mysql -uroot -p666 test<D:/test.sql

函数

  • cast函数
    1. 可以将字符串的值转为想要的类型 select cast(saleprice as decimal)
    2. 可以通过decimal(p,d)指定小数的范围 select cast(‘123.4’ as decimal(p,d))
  • covert函数
    1. select convert(‘123.4’,signed)
    2. cast和covert类型都不能四舍五入(字符串,其他类型好像会)
  • 类型:
    1. 二进制,同带binary前缀的效果 : BINARY
    2. 字符型,可带参数 : CHAR()
    3. 日期 : DATE
    4. 时间: TIME
    5. 日期时间型 : DATETIME
    6. 浮点数 : DECIMAL
    7. 整数 : SIGNED
    8. 无符号整数 : UNSIGNED
  • sql的执行顺序
    1. from
    2. join
    3. on
    4. where
    5. group by
    6. select
    7. having
    8. distinct
    9. order by
    10. limit

视图

-- 创建视图  相当于创建了另一个表
create view v_emp_dept as select e.ename,d.dname from emp e left join dept d on e.deptno=d.deptno
select * from v_emp_dept
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值