完整的建表语句


 

1 先判断表是否存在 如果存在就删除

drop table if exists '要创建的表名';

2 创建表

DEOP TABLE IF EXISTS '要创建的表名';
CREATE TABLE 'table_name' (
`id` int(11) NOT NULL unsigned auto_increment COMMENT 'id',
`user` varchar(50) NOT NULL DEFAULT '' COMMENT '用户名',
`password` char(32) NOT NULL DEFAULT '' COMMENT '密码',
`status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0启用 1禁用',
`create_time` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '创建时间',
primary key('id')
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8mb4_general_ci COMMENT='用户表'
存储引擎 自增起始值 默认字符集 排序规则 注释

 

 

emp | CREATE TABLE `emp` (
`EMPNO` int(4) NOT NULL,
`ENAME` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL,
`JOB` varchar(9) COLLATE utf8_unicode_ci DEFAULT NULL,
`MGR` int(4) DEFAULT NULL,
`HIREDATE` date DEFAULT NULL,
`SAL` int(7) DEFAULT NULL,
`COMM` int(7) DEFAULT NULL,
`DEPTNO` int(2) DEFAULT NULL,
PRIMARY KEY (`EMPNO`),
KEY `FK_DEPTNO` (`DEPTNO`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |

  

字段名加波浪号的作用:一些保留关键字可以使用 比如desc

 

主键id

`id` int(11) not null unsigned auto_increment comment 'id',
非空 无符号 自增 注释

主键自增用int类型:最大值是21亿 常规项目足以。

 

用户名(字符串类型)

`user` varchar(50) not null default '' comment '用户名',
50个字符(非字节) 非空 默认给空字符串 注释

默认给空字符串,不要给null,null在使用中是会影响性能的

 

密码

`password` char(32) not null default '' comment '密码',
       定长

 

状态值

`status` tinyint(1) not null default '0' comment '0启用 1禁用',
长度一位 非空 默认值给0

 

时间

1 不涉及到计算 用int值
`create_time` int(11) unsigned not null default 0 comment '创建时间',
创建时间 无符号 非空 默认给0 注释

2 涉及到计算 用datetime类型

 

设置主键

primary key('id')

 

设置普通索引

key city_id('city_id')
索引名称 索引值

 

设置唯一索引

unique key emall('emall')
唯一 索引名 索引值

 

设置存储引擎、字符集、排序规则

ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8mb4_0900_ai_ci COMMENT='商品表'
设置存储引擎 设置id自增起始值 设置默认字符集 设置排序规则 注释

 

 

 

 

 

 

 

 

 

 

 

 

 

别人的博文 https://www.cnblogs.com/chenzhengwei/p/12039661.html

CREATE TABLE `product_info` (
  `product_id` varchar(32) NOT NULL,
  `product_name` varchar(64) NOT NULL COMMENT '商品的名称',
  `product_price` decimal(8,2) NOT NULL COMMENT '单价',
  `product_stock` int(11) NOT NULL COMMENT '库存',
  `product_description` varchar(64) DEFAULT NULL COMMENT '描述',
  `product_icon` varchar(512) DEFAULT NULL COMMENT '小图',
  `category_type` int(11) NOT NULL COMMENT '类目编号',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  PRIMARY KEY (`product_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='商品表';
复制代码

建表注意点:对于数据量较大的项目,Id不适宜用Long或者Integer类型自增长,因为很快会被耗完,采用String生成即可。

小图标用icon,大图用picture、img,头像用avatar

创建时间的时候,如果不想在代码中维护时间,就要定义

DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM