Java语言创建包含以上数据类型的MySQL表,并提供批量新增数据、批量修改数据、删除数据以及字段的DDL语句的详细代码示例

以下是使用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的表,并在其中插入一条数据,然后进行批量修改和删除操作。请根据实际需求进行调整和扩展。

你可能感兴趣的:(java,mysql,python)