zoukankan      html  css  js  c++  java
  • mysql语法,5分钟,从进门到入门

    mysql增删改查

    插入: insert into 表名 values()
    更新:update 表名 set 列名 where 条件=""
    删除:delete from 表名 where 条件=""
    as起别名
    distinct去重
    ​ where 条件1and/or/between/<> 条件2
    ​ where 条件is = ""
    ​ where 列名like "李%" %代表任意个字符 _:表示一个字符

    聚合函数中的count统计的记录数量不包括null的数据
    分页查询: limit 跳过的数据量,查询几条数据量
    ​ order by asc/desc 默认正序
    ​ 分组查询
    ​ SELECT gender,COUNT(*) FROM student GROUP BY gender;
    ​ 统计数量,统记的是student的性别
    ​ 例: 男 3 女 2

    truncate 截断

    ​ 与delete不同的是,执行后会自动提交
    ​ truncate比delete快,会影响自增,truncate table 清空表

    外键

    ​ 假如有一个部门表,有一个员工表, 这些员工肯定都属于某个部门,在mysql靠外键来设置这个约束
    ​ 假如id用来表示部门表中每个部门, 员工表靠deptId来写自己属于哪个部门
    ​ 所以deptId一定不存在id中没有的值
    constraint 外键名 foreign key(自己的键) reference dept(参考的键)

    级联操作

    ​ 有了外键之后,希望修改主表的值,副表的值也受到影响
    在外键的语句后补加
    cascade汉语小瀑布

    级联修改: ON UPDATE CASCADE
    级联删除: ON DELETE CASCADE
    级联删除: ON DELETE SET NULL
    
    	`constraint 外键名 foreign key(自己的键) reference dept(参考的键) on..... on....`
    

    关联查询(多表查询)

    SELECT empName,deptName FROM employee,dept; 一般这样查询,会产生笛卡尔积的情况,会有很多重复记录

    ​ 使用频繁的是内连接查询(有条件的查询)

    SELECT empName,deptName       -- 2)确定哪些哪些字段
    FROM employee,dept    -- 1)确定查询哪些表
    WHERE employee.deptId=dept.id  -- 3)表与表之间连接条件
    

    ​ 内连接的另一种语法
    ​ SELECT empName,deptName
    ​ FROM employee
    ​ INNER JOIN dept
    ​ ON employee.deptId=dept.id;

    左(外)连接查询(就是无论另一个表有没有和自身匹配的,自身的数据都是全部显示的)

    SELECT d.deptName,e.empName
    FROM dept d
    LEFT OUTER JOIN employee e
    ON d.id=e.deptId;
    
  • 相关阅读:
    day19(上)_IO流2(BufferedReaer,BufferedWriter,BufferedInputStream,BufferedOutputStream)
    day19(下)_IO流4(InputStreamReader,OutputStreamWriter,流操作规律总结)
    Synchronized锁 IT
    Linux查看端口信息命令 IT
    ReentrantLock锁 IT
    让网站实时生成多种电子书:jar、umd、chm、pdf、epub
    mysql性能的检查和调优方法
    新型的大型bbs架构(squid+nginx)
    uchome中的防反复提交机制
    joymobiler V2.7发布,支持pdf文档的生成
  • 原文地址:https://www.cnblogs.com/qiuyehaha/p/13916316.html
Copyright © 2011-2022 走看看