基于mysql中一些易混淆知识点总结



在基于mysql数据库开发过程中,也许一些容易混淆的知识点没有引起你的注意,但是往往这些细节被忽略的知识点会阻碍进行。总结一些mysql中容易混淆的知识点:


(1)mysql中char和varchar区别,特点

        VARCHAR是一个可变长度字符串。
        CHAR是一个定长的字符串。   
	首先我们在使用char或varchar时,必须指定长度.例如 Char(20)  varchar(20)
	如果存储字符串长度为5,那么char就会在底层开辟20个长度来存储长度为5的字符串,而varchar会自动缩减,使用5个长度来存储信息,可以节省空间.
	注意:varchar它自动缩减,那么性能会受影响,相对而言,char性能会更高一些。
==========================================================================================================================
(2)TIMESTAMP与DATETIME类型区别
TIMESTAMP在进行insert操作时,如果没有赋值,会取系统当前时间值。
如果对记录进行update操作时,没有处理TIMESTAMP字段,那么它的值也会修改为当前系统时间,从而记录这条记录修改时间。
DATETIME字段,如果没有赋值,默认是就null.

==========================================================================================================================
(3)drop table 与delete from 及truncate table区别
若是在处理内容方面的不同:Drop table是用于删除表结构。
                          Delete from删除表中数据
	                  Truncate table 也是用于删除表中数据。
	
 那么同样是删除表内数据记录的Delete与truncate table区别在哪里?
      ①Delete from是一条一条记录删除.
          Truncate table它的作用是先将表结构删除,在重新创建表结构。
      ②两者处理数据的方式不同,从而导致两者在处理性能上的差异: 在删除表中所有数据操作上,truncate的性能更高。
      ③事务上:
       Delete是dml语句,受事务控制:以下之意就是在一个事务范围控制内,若是delete from指定表中所有数据,通过回滚rollback可以恢复删除的数据。
       Truncate是dcl语句,不受事务控制.删除表的记录之后,通常就是不能通过事务回滚方式恢复表记录。
===================================================================================================================================
(4)having与where的区别
      ①where是在group by之前使用  而having是在group by之后使用
      ②where后面不可以使用分组函数,而having后面可以使用分组函数.
==========================================================================================================================

(5)常见query关键字执行顺序:select [..] from [table] where [conditions] group by [..] having [conditions] order by [...];
 select 语句的解析顺序:
 ①From 表:先执行from语句查询指定表。 代表从哪张表中查询数据【确定数据源】
 ②where条件:通过where关键字后的条件过滤一部分数据,将表中所有不符合条件记录过滤。
 ③Group by:在得到的表记录中,根据指定的字段进行分组。
 ④Having 条件:用于在分组后使用指定的条件对分组后的结果进行再过滤。
 ⑤Select :指定要查询哪些数据【列属性】,将那些列字段数据提取到结果集。
 ⑥Order by: 最后在根据指定的列字段对最后显示地结果集进行排序。
====================================================================================================================================


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值