MySQL大白话(●—●)

这里是CS大白话专场,让枯燥的学习变得有趣!

没有对象不要怕,我们new一个出来,每天对ta说不尽情话!

好记性不如烂键盘,自己总结不如收藏别人!

 如何编写.sql文件创建MySQL数据库嘞?举个栗子:

DROP TABLE IF EXISTS `user`;
SET character_set_client = utf8mb4 ;
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) DEFAULT NULL,
  `password` varchar(50) DEFAULT NULL,
  `salt` varchar(50) DEFAULT NULL,
  `email` varchar(100) DEFAULT NULL,
  `type` int(11) DEFAULT NULL COMMENT '0-普通用户; 1-超级管理员; 2-版主;',
  `status` int(11) DEFAULT NULL COMMENT '0-未激活; 1-已激活;',
  `activation_code` varchar(100) DEFAULT NULL,
  `header_url` varchar(200) DEFAULT NULL,
  `create_time` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `index_username` (`username`(20)),
  KEY `index_email` (`email`(20))
) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8;

首先查看是否存在要创建的表,如果存在则跳过,如果没有则创建:

DROP TABLE IF EXISTS `user`;

 设置字符集编码格式为utf8mb4,可以兼容更多的字符:

/*数据库客户端的编码*/
SET character_set_client = utf8mb4;
/*建立连接使用的编码*/
SET character_set_connection = utf8mb4;
/*数据库的编码*/
SET character_set_database = utf8mb4;
/*结果集的编码*/
SET character_set_results = utf8mb4;
/*数据库服务器的编码*/
SET character_set_server = utf8mb4;

 开始创建表,默认InnoDB引擎:

CREATE TABLE `表名` (
  `列名` 数据类型(大小) 字段约束 COMMENT '字段描述',
  ...,
  PRIMARY KEY (`主键列名`)
)ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8;

数据类型:

数值型:int(integer)、tinyint、smallint、mediumint、bigint。

浮点型:float、double。

文本字符串:char、varchar、tinytext、text、mediumtext、longtext。

时间:year、time、date、datetime、timestamp。

字段约束:

NULL:默认值NULL。

NOT NULL:不可包含NULL,默认值0/空字符串/当前时间。

DEFAULT:规定默认值。

AUTO_INCREMENT=x:从x开始自增,默认从1开始,适用于整型。

PRIMARY KEY:唯一主键。(UNIQUE KEY、FOREIGN KEY、KEY:约束+索引)

UNSIGNED:无符号。

你可能感兴趣的:(Java,mysql,数据库,java)