• mysql timestamp 类型自动更新

    日期:

    mysql创建表时,如果使用timestamp类型没有指定默认值,它会把第一个使用timestamp的字段默认值设定为CURRENT_TIMESTAMP,如果后面还有其他字段使用timestamp,则指定为0000-00-00 00:00:00,同时Extra列中看到on update CURRENT_TIMESTAMP,注意它会在更新...

  • MySql 获取表的字段名

    日期:

    mysql安装成功后可以看到已经存在mysql、information_schema和test这个几个数据库,information_schema库中有一个名为COLUMNS的表,这个表中记录了数据库中所有表的字段信息。知道这个表后,获取任意表的字段就只需要一条select语句即可。例如: select COLU...

  • Mysql如何修改unique key

    日期:

    mysql可以使用unique key来确保数据的准确性,unique key可以是一个字段,也可以是多个字段,对应已经存在的unique key如何修改呢?目前我使用的方法是分两步来完成,先drop掉,然后在创建。需要注意的是drop时关键字是index,而创建时关键词是unique key,...

  • mysql 语法 on duplicate key update

    日期:

    需要根据某个时间点来统计数量,例如统计每天网站的访问量,本人以前的做法是先查询当前有没有记录,如果存在就更新访问量的值,否则就插入一条。其实在Mysql中可以一条SQL语句来搞定,只要使用ON DUPLICATE KEY UPDATE即可。例如: insert into daypv(day,c...

  • Mysql设置自增长主键的初始值

    日期:

    Mysql可以使用AUTO_INCREMENT来设定主键的值为自增长的,其默认值是1,如果想把它的初始值设置为1000,比较笨的办法是先插入一条记录并指定主键的值为999,然后delete改行记录,例如: insert into test(pk) values(999);delete from test where pk = 999;...

  • mysql ifnull

    日期:

    mysql内置的ifull函数可以用在查询时候为NULL值字段给一个默认值,例如: select ifnull(col1, default-value), col2 from test; 当test表的col1字段为NULL时,数据库返回的结果就为default-value,否则就返回本身的值。但是当col1字段的值为空字符串(),...

  • mysql date_add date_sub

    日期:

    mysql中内置函数date_add和date_sub能对指定的时间进行增加或减少一个指定的时间间隔,语法如下: DATE_ADD(date,INTERVAL expr type)DATE_SUB(date,INTERVAL expr type) 其中date是指定的日期,INTERVAL为关键词,expr是具体的时间间隔,type是时间单位。注...

  • mysql 查看数据库中所有表的记录数

    日期:

    mysql使用select count(*) from table_name可以查询某个表的总记录数。想快速的知道数据库中所有表的记录数信息怎么办?如果使用mysql的版本在5.0及以上,可以通过查询information_schema库中的tables表来获取,该表中使用table_rows记录表的行数信息。例如...

  • mysql 关闭 bin-log 日志

    日期:

    当开启bin-log日志时,会生成很多mysql-bin.0000*类似的文件,而且可能会占用很大的硬盘空间。对于自己的测试机器或硬盘比较紧张的vps,而又不需要做master,slave的配置,完全可以关闭日志功能。 关闭操作很简单,找到配置文件my.cnf,对于linux,一般默认...

  • mysql 清除relay-log文件

    日期:

    今天在本机的mysql数据目录下发现了许多类似hostname-relay-bin.0000*的文件,该文件一般是在mysql slave实例上存在。主要用途是记录主从同步的信息,正常情况下会自动删除的。 本机未配置过master、slave,对于其来源还真不太清楚。既然是用在slave上的,那...