重庆网站设计制造厂家,app源码交易平台,app定制开发哪家公司强,怎么做淘宝店网站收录语法
create table [IF NOT EXISTS] 表名 ( 字段名 类型 [约束条件], 字段名 类型 [约束条件], 字段名 类型 [约束条件], 字段名 类型 [约束条件] );
字段定义在括号内约束条件可以有多个多个字段定义之间用都会隔开
常见约束
NOT NULL 非空DEFAULT 0 默认值AUTO_INCREMENT…语法
create table [IF NOT EXISTS] 表名 ( 字段名 类型 [约束条件], 字段名 类型 [约束条件], 字段名 类型 [约束条件], 字段名 类型 [约束条件] );
字段定义在括号内约束条件可以有多个多个字段定义之间用都会隔开
常见约束
NOT NULL 非空DEFAULT 0 默认值AUTO_INCREMENT 自增长PRIMARY KEY 主键
示例
create table if not exists t_one (id bigint(20) UNSIGNED NOT NULL auto_increment primary key COMMENT 主键,name varchar(64) COMMENT 名称,age int(10) COMMENT 仙人寿命
) engineinnoDB default charsetutf8mb4;Jsqlparser创建建表语句
引入依赖 dependencygroupIdcom.github.jsqlparser/groupIdartifactIdjsqlparser/artifactIdversion4.3/version/dependencyDemo
import net.sf.jsqlparser.schema.Table;
import net.sf.jsqlparser.statement.create.table.ColDataType;
import net.sf.jsqlparser.statement.create.table.ColumnDefinition;
import net.sf.jsqlparser.statement.create.table.CreateTable;import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;public class CreateTableDemo {public static void main(String[] args)throws Exception {CreateTable createTable new CreateTable();// 设置表名Table table new Table(t_one);createTable.setTable(table);// 定义字段// idColDataType bigint new ColDataType(BIGINT);bigint.setArgumentsStringList(Collections.singletonList(20));ColumnDefinition id new ColumnDefinition(id, bigint);id.setColumnSpecs(Arrays.asList(UNSIGNED, NOT NULL, PRIMARY KEY, AUTO_INCREMENT, COMMENT 主键));// nameColDataType varchar new ColDataType(VARCHAR);varchar.setArgumentsStringList(Collections.singletonList(64));ColumnDefinition name new ColumnDefinition(name, varchar);name.setColumnSpecs(Collections.singletonList(COMMENT 名字));// ageColDataType anInt new ColDataType(INT);ColumnDefinition age new ColumnDefinition(age, anInt);age.setColumnSpecs(Collections.singletonList(COMMENT 仙人年龄));// 设置字段ListColumnDefinition columnDefinitionList new ArrayList();columnDefinitionList.add(id);columnDefinitionList.add(name);columnDefinitionList.add(age);createTable.setColumnDefinitions(columnDefinitionList);// 设置IF NOT EXISTScreateTable.setIfNotExists(true);// 设置引擎、字符集、排序规则createTable.setTableOptionsStrings(Arrays.asList(ENGINE InnoDB, CHARACTER SET utf8mb4, COLLATE utf8mb4_general_ci));// 打印建表语句System.out.println(createTable);}
}结果
CREATE TABLE IF NOT EXISTS t_one (id BIGINT (20) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT 主键, name VARCHAR (64) COMMENT 名字, age INT COMMENT 仙人年龄) ENGINE InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci