MySQL最标准建表语句

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 目前的最大自增索引号;

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值