以下是使用Java语言创建包含以上数据类型的MySQL表,并提供批量新增数据、批量修改数据、删除数据以及字段的DDL语句的详细代码示例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;public class MySQLTableCreation {private static final String DB_URL = "jdbc:mysql://localhost:3306/mydatabase";private static final String USER = "username";private static final String PASS = "password";public static void main(String[] args) {try (Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);Statement stmt = conn.createStatement()) {// 创建表格String createTableSQL = "CREATE TABLE my_table (" +"id INT PRIMARY KEY AUTO_INCREMENT," +"tinyint_col TINYINT COMMENT '1字节有符号整数'," +"smallint_col SMALLINT COMMENT '2字节有符号整数'," +"mediumint_col MEDIUMINT COMMENT '3字节有符号整数'," +"int_col INT COMMENT '4字节有符号整数'," +"bigint_col BIGINT COMMENT '8字节有符号整数'," +"float_col FLOAT COMMENT '单精度浮点数'," +"double_col DOUBLE COMMENT '双精度浮点数'," +"decimal_col DECIMAL(10, 2) COMMENT '定点数'," +"char_col CHAR(10) COMMENT '固定长度字符串'," +"varchar_col VARCHAR(255) COMMENT '可变长度字符串'," +"binary_col BINARY(10) COMMENT '固定长度二进制字符串'," +"varbinary_col VARBINARY(255) COMMENT '可变长度二进制字符串'," +"tinyblob_col TINYBLOB COMMENT '最大长度为255字节的二进制字符串'," +"blob_col BLOB COMMENT '最大长度为65535字节的二进制字符串'," +"mediumblob_col MEDIUMBLOB COMMENT '最大长度为16777215字节的二进制字符串'," +"longblob_col LONGBLOB COMMENT '最大长度为4294967295字节的二进制字符串'," +"tinytext_col TINYTEXT COMMENT '最大长度为255字节的文本字符串'," +"text_col TEXT COMMENT '最大长度为65535字节的文本字符串'," +"mediumtext_col MEDIUMTEXT COMMENT '最大长度为16777215字节的文本字符串'," +"longtext_col LONGTEXT COMMENT '最大长度为4294967295字节的文本字符串'," +"enum_col ENUM('Male', 'Female') COMMENT '枚举类型'," +"set_col SET('Red', 'Green', 'Blue') COMMENT '集合类型'," +"date_col DATE COMMENT '日期'," +"time_col TIME COMMENT '时间'," +"datetime_col DATETIME COMMENT '日期和时间'," +"timestamp_col TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '自动更新的日期和时间'," +"year_col YEAR COMMENT '年份'," +"json_col JSON COMMENT 'JSON数据'," +"geometry_col GEOMETRY COMMENT '二进制几何类型'," +"point_col POINT COMMENT '点类型'," +"linestring_col LINESTRING COMMENT '线类型'," +"polygon_col POLYGON COMMENT '多边形类型'," +"multipoint_col MULTIPOINT COMMENT '多点类型'," +"multilinestring_col MULTILINESTRING COMMENT '多线类型'," +"multipolygon_col MULTIPOLYGON COMMENT '多多边形类型'" +")";stmt.executeUpdate(createTableSQL);System.out.println("Table created successfully.");// 批量新增数据String insertDataSQL = "INSERT INTO my_table (tinyint_col, smallint_col, mediumint_col, int_col, bigint_col, " +"float_col, double_col, decimal_col, char_col, varchar_col, binary_col, varbinary_col, tinyblob_col, " +"blob_col, mediumblob_col, longblob_col, tinytext_col, text_col, mediumtext_col, longtext_col, enum_col, " +"set_col, date_col, time_col, datetime_col, year_col, json_col, geometry_col, point_col, linestring_col, " +"polygon_col, multipoint_col, multilinestring_col, multipolygon_col) VALUES " +"(10, 1000, 100000, 1000000, 1000000000, 3.14, 3.14159265358979, 12345.67, 'Hello', 'World', " +"0x1234, 0x5678, 0xABCDEF, 0x123456789ABCDEF, 0x123456789ABCDEF0123456789, 0x123456789ABCDEF0123456789ABCDEF0123456789, " +"'Hello', 'World', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', " +"'Lorem ipsum dolor sit amet, consectetur adipiscing elit...', 'Male', 'Red', '2021-07-01', '12:30:45', " +"'2021-07-01 12:30:45', 2021, '{\"name\": \"John\", \"age\": 25}', " +"0x0101000000000000000000F03F000000000000F03F, POINT(1, 2), LINESTRING(1 2, 3 4, 5 6), " +"POLYGON((0 0, 0 1, 1 1, 1 0, 0 0)), MULTIPOINT((1 2), (3 4), (5 6)), " +"MULTILINESTRING((1 2, 3 4), (5 6, 7 8)), MULTIPOLYGON(((0 0, 0 1, 1 1, 1 0, 0 0)), ((2 2, 2 3, 3 3, 3 2, 2 2))) )";stmt.executeUpdate(insertDataSQL);System.out.println("Data inserted successfully.");// 批量修改数据String updateDataSQL = "UPDATE my_table SET varchar_col = 'New Value' WHERE id = 1";stmt.executeUpdate(updateDataSQL);System.out.println("Data updated successfully.");// 删除数据String deleteDataSQL = "DELETE FROM my_table WHERE id = 1";stmt.executeUpdate(deleteDataSQL);System.out.println("Data deleted successfully.");} catch (SQLException e) {e.printStackTrace();}}
}
请注意,上述代码中的DB_URL、USER和PASS需要根据实际情况进行修改,以连接到正确的MySQL数据库。另外,需要确保已经导入了适当的JDBC驱动程序。
以上代码示例可以创建一个名为my_table的表,并在其中插入一条数据,然后进行批量修改和删除操作。请根据实际需求进行调整和扩展。