您的位置:首页 > 数据库 > MySQL

MySQL最标准建表语句

2016-05-18 16:10 483 查看
SQL分类:DDL(数据定义语言)、DML(数据操纵语言)、DCL(数据控制语言)

MySQL建表DDL示例:

CREATE TABLE `t_wxuser_trade_log` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '序号',
`order_id` bigint(20) NOT NULL COMMENT '订单ID:微秒时间戳+4位随机数(18位)',
`ordertype` tinyint(4) NOT NULL DEFAULT '0' COMMENT '订单类型0默认1复投2转投3赎回',
`order_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '投资状态:1等待付款;2等待还款中;3已回款,交易成功;4买家取消订单,交易已关闭;5交易失败;6交易成功;7超时未支付订单自动关闭;',
`order_date` int(11) NOT NULL COMMENT '年月日(格式yyyyMMdd)- 用户来查询报表需要',
`order_month` int(11) NOT NULL COMMENT '年月(格式yyyyMM)- 用户来查询报表需要',
`wxshop_id` int(11) NOT NULL COMMENT '微店ID',
`wxuser_id` int(11) NOT NULL COMMENT '用户ID',
`accountstatus` tinyint(4) NOT NULL DEFAULT '0' COMMENT '到账状态(0处理中,1转账成功(到账),-1转账失败)',
`accounttime` datetime DEFAULT NULL COMMENT '到账时间',
`tradetype` tinyint(4) NOT NULL DEFAULT '1' COMMENT '交易方式:1在线支付',
`paytype` tinyint(4) NOT NULL DEFAULT '0' COMMENT '支付方式:1宝付支付',
`payid` varchar(50) DEFAULT NULL COMMENT '支付单号:pay+微秒时间戳+4位随机数(18位)',
`batchid` varchar(50) DEFAULT NULL COMMENT '宝付批次号(用户于查询用户交易状态)',
`paystatus` tinyint(4) NOT NULL DEFAULT '1' COMMENT '支付状态(1未支付,2支付成功,3支付失败)',
`paytime` datetime DEFAULT NULL COMMENT '支付时间',
`trademoney` decimal(18,6) DEFAULT NULL,
`payemoney` decimal(18,6) DEFAULT NULL,
`servicecharge` decimal(8,2) NOT NULL DEFAULT '0.00' COMMENT '手续费',
`category_id` tinyint(4) DEFAULT NULL COMMENT '产品类型(0其它(充值、提现等非产品),1投资产品,2体验金)',
`product_id` int(11) DEFAULT NULL COMMENT '产品Id(若投资产品,则为企业标第Id;若为体验金,则为体验金ID)',
`account_type` tinyint(4) NOT NULL COMMENT '操作人:1用户,2商家,3系统',
`comefrom` varchar(20) DEFAULT NULL COMMENT '来源',
`account` varchar(50) NOT NULL COMMENT '操作帐号',
`operation_title` varchar(50) NOT NULL COMMENT '操作标题',
`operation_type` tinyint(4) NOT NULL COMMENT '操作类型(1充值、2提现、3投资(转入)、4转出、5收益、6佣金、7活动、8大额支付、101员工存入)',
`activity_type` int(11) DEFAULT '0' COMMENT '活动类型',
`operation` varchar(100) DEFAULT NULL COMMENT '操作说明',
`recorddate` datetime DEFAULT NULL COMMENT '记录时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=556536 DEFAULT CHARSET=utf8 COMMENT='用户交易记录日志表'


注意点:

1、MySQL的SQL特性:表名和字段名需要加反引号引住;

2、我们写SQL语句一般不加,如果要手写SQL,建议在SQLlog等软件上先新建查询,将SQL语句格式化粘到需要用到的位置;

3、decimal(8,2)类型可用于交易金额;

4、COMMENT对于一些使用MySQL connector的人来说,阅读方便,建议写上;

5、ENGINE=InnoDB 选择数据表引擎;

6、DEFAULT CHARSET=utf8 选择合适的编码;

7、AUTO_INCREMENT=556536 目前的最大自增索引号;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql sql 标准