完整的建表語句


 

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