网上有很多大牛已经写了很多关于MySql的知识和用法,这里只是记录一下一些个人觉得常用的写法和案例
以下仅是模拟,自己做时按需求来定
数据库名:demo
表名:user
字段名 | 数据库设计 | 数据类型 | 长度 | 可空 | 约束 | 备注 |
ID | id | VARCHAR | 64 | 否 | 主键 | 唯一编号 |
姓名 | name | VARCHAR | 32 | 否 | 无 | 用户姓名 |
账号 | login_name | VARCHAR | 100 | 否 | 无 | |
密码 | password | VARCHAR | 100 | 否 | 无 | 登陆密码 |
年龄 | age | TINYINT | 3 | 是 | 无 | 用户年龄 |
创建时间 | created_at | TIMESTAMP | 否 | 无 | 当前时间 | |
更新时间 | updated_at | TIMESTAMP | 否 | 无 | 最后更新时间 |
DROP TABLE IF EXISTS `user`;
CREATE TABLE IF NOT EXISTS `user` ( `id` VARCHAR(64) primary key,`name` varchar(32) NOT NULL ,
`login_name` varchar(100) NOT NULL, `password` varchar(100) NOT NULL COMMENT '登陆密码', `age` TINYINT(3) COMMENT '用户年龄', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
其中,TIMESTAMP类型有以下几种用法
1.在创建新纪录和修改现有记录的时候都对这个数据列刷新
TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
2.在创建新纪录的时候把这个字段设置为当前时间,但以后修改时,不再刷新它
TIMESTAMP DEFAULT CURRENT_TIMPSRAMP
3.在创建新纪录的时候把这个字段设置为0,以后修改时刷新它
TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
4.在创建新纪录时把这个字段设置为给定值,以后修改时再刷新它
TIMESTAMP DEFAULT 'yyyy-mm-dd hh:mm:ss' ON UPDATE CURRENT_TIMESTAMP
关于TIMESTAMP的具体具体用法可参考:http://www.jb51.net/article/51794.htm