MySql-Mysql技术内幕~SQL编程学习笔记(1)

1、MySQL的历史,一些相关概念。

2、MySQL数据类型

   *通常一个页内可以存放尽可能多的行,那么数据库的性能就越好,选择一个正确的数据类型至关重要。

   1》UNSIGNED类型:

      将数字类型无符号化。

   2》ZEROFILL:

     可以格式化整形显示,一旦启用该属性,MySQL数据库为列自动添加UNSIGNED属性。0填充。

   3》日期和时间类型

                                                                                     日期数据类型占用空间的情况

    MySql-Mysql技术内幕~SQL编程学习笔记(1)

类型 起始范围 结束范围
DATETIME 1000-01-01 00:00:00 9999-12-31 23:59:59
DATE 1000-01-01 9999-12-31
TIMESTAMP 1970-01-01 00:00:00 2038-01-19 03:14:07
 YEAR    
 TIME    

     TIMESTAMP与DATETIME显示的格式一样,但有些不同的地方:

         1>表示的时间范围不同

         2>TIMESTAMP类型的列可以设置一个默认值,而DATETIME类型不可以。

         3>TIMESTAMP类型在更新表时可以设置自动更新为当前时间。

   3》和日期时间相关的函数

      1>获取当前系统时间:now()、current_timestamp()、sysdate()

           1>>now():返回执行sql时的时间

           2>>current_timestamp():返回执行sql时的时间

           3>>sysdate():返回执行到当前sql时的时间

      2>时间加减函数:

           1>>date_add(date,interval expr unit):date_add(now(),interval 1 day)。expr可正可负。unit的值有year、month、day、hour、minute、second、microsecond、week。

           2>>date_sub(date,interval expr unit):date_sub(now(),interval 1 day)。expr可正可负。unit的值有year、month、day、hour、minute、second、microsecond、week。

       3>时间格式化函数

          1>>date_format:根据用户指定的格式打印日期。

    4》数字类型

      1>整型

       MySql-Mysql技术内幕~SQL编程学习笔记(1)

 

     2>浮点型(非准确型)

        1>>float:

        2>>double precision:

     3>高精度类型:decimal、numeric在mysql中被视为相同的类型。必须指明精度和标度。精度表示保存值的主要位数,标度表示小数点后面可以保存的位数。

     4>位类型:即bit类型,可以保存位字段的值。

     5>字符类型:

         1>>char和varchar:

         2>>binary和varbinary:

         3>>blob和text:

         4>>enum和set:

3、查询处理:逻辑查询处理、物理查询处理

  1》逻辑查询处理

     1.逻辑查询处理,步骤序号

        MySql-Mysql技术内幕~SQL编程学习笔记(1)