如何使用JDBC建立包含十進位制值的表?
一種非無符號的解包浮點數。在解包的十進位制數中,每個十進位制數對應一個位元組。需要定義顯示長度 (M) 和小數位數 (D)。NUMERIC 是 DECIMAL 的同義詞。
要定義一個列,其資料型別為十進位制值,請遵循以下語法:
column_name DECIMAL(P,D);
其中:
- P 表示精度,表示數字位數(範圍為 1 到 65)
- D 表示小數位數,表示小數點後的數字位數。
注意:在 MySQL 中,D 應小於等於 P。
您可以如下所示在 MySQL 中建立一個包含十進位制值的表:
CREATE TABLE Students( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL, PERCENTAGE DECIMAL (18, 2), ADDRESS VARCHAR (25), PRIMARY KEY (ID) );
要使用 JDBC API 在資料庫中建立一個數據型別為十進位制值的表,您需要:
- 註冊驅動程式:使用 **DriverManager** 類的 **registerDriver()** 方法註冊驅動程式類。將驅動程式類名作為引數傳遞給它。
- 建立連線:使用 **DriverManager** 類的 **getConnection()** 方法連線到資料庫。將 URL(字串)、使用者名稱(字串)、密碼(字串)作為引數傳遞給它。
- 建立語句:使用 Connection 介面的 **createStatement()** 方法建立一個 Statement 物件。
- 執行查詢:使用 Statement 介面的 execute() 方法執行 CREATE 查詢。
示例
以下 JDBC 程式建立與 MySQL 的連線,並建立一個名為 customers 的表,其中一列的資料型別為 DECIMAL:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class CreateTableExample {
public static void main(String args[]) throws SQLException {
//Registering the Driver
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//Getting the connection
String mysqlUrl = "jdbc:mysql:///SampleDB";
Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
System.out.println("Connection established......");
//Creating the Statement
Statement stmt = con.createStatement();
//Query to create a table
String query = "CREATE TABLE Students("
+ "ID INT NOT NULL, "
+ "NAME VARCHAR (20) NOT NULL, "
+ "AGE INT NOT NULL, "
+ "PERCENTAGE DECIMAL(18, 2), "
+ "ADDRESS VARCHAR (25) , "
+ "PRIMARY KEY (ID))";
stmt.execute(query);
System.out.println("Table Created......");
}
}輸出
Connection established...... Table Created......
驗證
您可以使用 Describe 命令驗證已建立表的資料庫型別,如下所示:
mysql> describe customers; +------------+---------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+---------------+------+-----+---------+-------+ | ID | int(11) | NO | PRI | NULL | | | NAME | varchar(20) | NO | | NULL | | | AGE | int(11) | NO | | NULL | | | PERCENTAGE | decimal(18,2) | YES | | NULL | | | ADDRESS | varchar(25) | YES | | NULL | | +------------+---------------+------+-----+---------+-------+ 5 rows in set (0.06 sec)
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP