MySQL中的CHAR
是一种固定长度的字符串数据类型,用于存储定长字符串。无论实际存储的字符数是否达到指定长度,都会占用指定的存储空间。Java中对应的类型通常是char
(用于单个字符)或String
(用于字符串)。
CHAR
:VARCHAR
)更快。char
/String
:String
类型可以处理任意长度的字符串,适用于大多数文本数据。CHAR
:CHAR(length)
CHAR(10)
char
String
CHAR
:char
/String
:CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name CHAR(50),
gender CHAR(1)
);
import java.sql.*;
public class MySQLExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String user = "username";
String password = "password";
try (Connection conn = DriverManager.getConnection(url, user, password)) {
// 插入数据
String insertQuery = "INSERT INTO users (name, gender) VALUES (?, ?)";
try (PreparedStatement pstmt = conn.prepareStatement(insertQuery)) {
pstmt.setString(1, "John Doe");
pstmt.setString(2, "M");
pstmt.executeUpdate();
}
// 查询数据
String selectQuery = "SELECT * FROM users";
try (Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(selectQuery)) {
while (rs.next()) {
System.out.println("ID: " + rs.getInt("id"));
System.out.println("Name: " + rs.getString("name"));
System.out.println("Gender: " + rs.getString("gender"));
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
CHAR
类型长度不足原因: 插入的数据长度超过了CHAR
指定的长度。
解决方法:
CHAR
指定的长度。VARCHAR
类型。char
和 String
转换错误原因: 可能是由于字符编码不一致或数据格式错误。
解决方法:
String.valueOf(char)
将char
转换为String
,使用charAt(0)
将String
转换为char
。希望这些信息对你有所帮助!如果有更多问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云