如何使用 JDBC 在 MySQL 中建立包含所有資料型別的表?
Java 提供了支援類/資料型別來儲存所有 MySQL 資料型別,下表列出了 MySQL 資料型別各自對應的 Java 型別:
| MySQL 型別 | Java 型別 |
|---|---|
| CHAR | String |
| VARCHAR | String |
| LONGVARCHAR | String |
| NUMERIC | java.math.BigDecimal |
| DECIMAL | java.math.BigDecimal |
| BIT | boolean |
| TINYINT | byte |
| SMALLINT | short |
| INTEGER | int |
| BIGINT | long |
| REAL | float |
| FLOAT | double |
| DOUBLE | double |
| BINARY | byte [] |
| VARBINARY | byte [] |
| LONGVARBINARY | byte [] |
| DATE | java.sql.Date |
| TIME | java.sql.Time |
| TIMESTAMP | java.sql.Timestamp |
示例
以下 JDBC 程式建立了一個名為 sample 的表,其中包含 MySQL 中所有可能的資料型別:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class CreatingTable_AllDatatypes {
public static void main(String args[])throws Exception {
//Registering the Driver
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//Getting the connection
String mysqlUrl = "jdbc:mysql:///sampledatabase";
Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
System.out.println("Connection established......");
//Creating a Statement object
Statement stmt = con.createStatement();
//Query to create a table with all the supported data types
String query = "CREATE table sample_table ("
+ "varchar_column VARCHAR( 20 ), "
+ "tinyint_column TINYINT, "
+ "text_column TEXT, "
+ "date_column DATE, "
+ "smallint_column SMALLINT, "
+ "mediumint_column MEDIUMINT, "
+ "int_column INT, "
+ "bigint_column BIGINT, "
+ "float_column FLOAT( 10, 2 ), "
+ "double_column DOUBLE, "
+ "decimal_column DECIMAL( 10, 2 ), "
+ "datetime_column DATETIME, "
+ "timestamp_column TIMESTAMP, "
+ "time_column TIME, "
+ "year_column YEAR, "
+ "char_column CHAR( 10 ), "
+ "tinyblob_column TINYBLOB, "
+ "tinytext_column TINYTEXT, "
+ "blob_column BLOB, "
+ "mediumblob_column MEDIUMBLOB, "
+ "mediumtext_column MEDIUMTEXT, "
+ "longblob_column LONGBLOB, "
+ "longtext_column LONGTEXT, "
+ "enum_column ENUM( '1', '2', '3' ), "
+ "set_column SET( '1', '2', '3' ), "
+ "bool_column BOOL, "
+ "binary_column BINARY( 20 ), "
+ "varbinary_column VARBINARY( 20 )"
+ ")";
//Executing the query
stmt.execute(query);
System.out.println("Table created ........");
}
}輸出
Connection established...... Table created ........
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP