mysql特别注意语句

  1. 当一条语句中有group by的话,select后面只能跟分组函数和参与分组的字段。

  2. distinct去重关键字select distinct job from emp;

  3. distinct只能出现在所有字段的最前面。

  4. 笛卡尔积现象:当两张表进行连接查询的时候,没有任何条件进行限制,最终的查询结果条数是两张表记录条数的乘积。

  5. 怎么避免笛卡尔积现象?当然是加条件进行过滤。
    思考:避免了笛卡尔积现象,会减少记录的匹配次数吗?
    不会,次数还是56次。只不过显示的是有效记录。

  6. 使用外连接的话,AB两张表中有一张表是主表,一张表是副表,主要查询主表中的数据,捎带着查询副表,当副表中的数据没有和主表中的数据匹配上,副表自动模拟出NULL与之匹配。

  7. limit分页查询 limit startIndex, length
    startIndex表示起始位置,从0开始,0表示第一条数据。
    length表示取几个

  8. varchar 可变长字符串(StringBuffer/StringBuilder)

  9. char 定长字符串(String)
    优点:不需要动态分配空间,速度快
    缺点:使用不当可能对导致空间的浪费

  10. insert into 表名(字段名1,字段名2,字段名3,....) values(值1,值2,值3,....)

  11. create table 表名 as select语句;
    将查询结果当做表创建出来。

  12. 将查询结果插入到一张表中?
    mysql> insert into dept1 select * from dept;
    mysql> select * from dept1;

  13. 语法格式:
    update 表名 set 字段名1=值1,字段名2=值2... where 条件;

  14. 将部门10的LOC修改为SHANGHAI,将部门名称修改为RENSHIBU
    update dept1 set loc = 'SHANGHAI', dname = 'RENSHIBU' where deptno = 10;

  15. 删除数据?
    语法格式:
    delete from 表名 where 条件;
    delete语句删除数据的原理
    表中的数据被删除了,但是这个数据在硬盘上的真实存储空间不会被释放!!!
    缺点:删除效率比较低
    优点:支持回滚,后悔了可以再恢复数据!!!

  16. 常见的约束有哪些呢?
    非空约束(not null):约束的字段不能为NULL
    唯一约束(unique):约束的字段不能重复
    主键约束(primary key):约束的字段既不能为NULL,也不能重复(简称PK)
    外键约束(foreign key):...(简称FK)
    检查约束(check):注意Oracle数据库有check约束,但是mysql没有,目前mysql不支持该约束。

  17. 谁用了其他表的字段谁就是那个表的子表,被引用字段的那个表就是父表。

    1. 删除数据的时候,先删除子表,再删除父表。
      添加数据的时候,先添加父表,在添加子表。
      创建表的时候,先创建父表,再创建子表。
      删除表的时候,先删除子表,在删除父表。
  18. 什么是事务?一个事务是一个完整的业务逻辑单元,不可再分。

  19. 事物怎么做到多条DML语句同时成功和同时失败的呢?

    InnoDB存储引擎:提供一组用来记录事务性活动的日志文件

  20. mysql数据库默认的隔离级别是:可重复读。

  21. 事务隔离性存在隔离级别,理论上隔离级别包括4个:读未提交(read uncommitted),读已提交(read committed),可重复读(repeatable read),序列化读/串行化读(serializable)(最高)。

  22. 什么是索引?有什么用?

    索引就相当于一本书的目录,通过目录可以快速的找到对应的资源。

    索引是在数据库表的字段上添加的。

    在数据库方面,查询一张表的时候有两种检索方式:

    第一种方式:全表扫描

    第二种方式:根据索引检索(效率很高)

  23. 注意:主键和具有unique约束的字段自动会添加索引。

    根据主键查询效率较高。尽量根据主键检索。索引底层采用的数据结构是:B + Tree

  24. 数据库设计三范式

    1. ​​​​​​​​​​​​​​第一范式:任何一张表都应该有主键,并且每一个字段原子性不可再分。

    2. 第二范式:建立在第一范式的基础之上,所有非主键字段完全依赖主键,不能产生部分依赖。

    3. 第三范式:建立在第二范式的基础之上,所有非主键字段直接依赖主键,不能产生传递依赖。

相关推荐
ybwycx1 分钟前
PostgreSQL 中进行数据导入和导出
大数据·数据库·postgresql
你觉得脆皮鸡好吃吗1 分钟前
SQL注入总概述
数据库·sql·网络安全学习
2301_815279522 分钟前
golang如何编译iOS库_golang编译iOS库实践
jvm·数据库·python
2402_854808373 分钟前
C#怎么开发CAD自定义命令_C#如何调用AutoCAD的API【教程】
jvm·数据库·python
m0_716430075 分钟前
mysql乐观锁更新失败如何处理_应用层重试逻辑编写建议
jvm·数据库·python
qq_654366986 分钟前
SQL嵌套查询中的变量传值_优化存储过程逻辑
jvm·数据库·python
Austindatabases6 分钟前
阿里云MongoDB 部署安全吗? 多可用区怎么搞?
数据库·安全·mongodb·阿里云·云计算
m0_748920369 分钟前
持久化存储如何与后端接口同步?解决本地缓存与数据库不一致痛点
jvm·数据库·python
qq_3300379910 分钟前
Python如何安装特定架构包_32位与64位系统兼容性处理
jvm·数据库·python
y = xⁿ14 分钟前
MySQL常见八股:索引
数据库·mysql