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