在进行数据库开发时,建表是一个必须掌握的技能。Mysql是一个非常流行的关系型数据库,下面我们将通过一个简单的例子来介绍如何使用Mysql建表脚本。
CREATE TABLE `users` (`id` int(11) unsigned NOT NULL AUTO_INCREMENT,`username` varchar(50) COLLATE utf8_unicode_ci NOT NULL,`password` varchar(255) COLLATE utf8_unicode_ci NOT NULL,`email` varchar(255) COLLATE utf8_unicode_ci NOT NULL,`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (`id`),UNIQUE KEY `users_username_unique` (`username`),UNIQUE KEY `users_email_unique` (`email`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
上面的代码中定义了一个名为users的表,包含id、username、password、email、created_at和updated_at六个字段。其中id字段为自增主键,username和email字段具有唯一性约束,password、email、created_at和updated_at字段都不允许为空。
必要字段定义如下:
int(11) unsigned:整数类型,长度为11位,无符号varchar(50):可变长字符串,最大长度为50个字符timestamp:时间戳,精确到秒not null:不允许为空default xxx:默认值为xxxcollate xxx:指定字符集unique key xxx:定义唯一性约束primary key xxx:定义主键表的创建需要根据实际情况灵活运用,并且需要符合第一范式(1NF)。通过建表脚本创建表可以提高生产效率,减少错误率,同时也是必备技能之一。