Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จะดึงคอลัมน์เฉพาะของตารางโดยใช้โปรแกรม JDBC ได้อย่างไร


ชุดผลลัพธ์ อินเทอร์เฟซใน JDBC แสดงถึงข้อมูลแบบตารางที่สร้างโดยแบบสอบถาม SQL มีเคอร์เซอร์ที่ชี้ไปที่แถวปัจจุบัน เริ่มแรกเคอร์เซอร์นี้อยู่ในตำแหน่งก่อนแถวแรก

คุณสามารถย้ายเคอร์เซอร์โดยใช้ next() เมธอด และคุณสามารถดึงค่าคอลัมน์ของแถวโดยใช้เมธอด getter ของอินเทอร์เฟซ ResultSet (getInt(), getString(), getDate() เป็นต้น)

ในการดึงข้อมูลที่จำเป็นจากตาราง:

  • เชื่อมต่อกับฐานข้อมูล

  • สร้างวัตถุงบ

  • ดำเนินการคำสั่งโดยใช้ executeQuery() กระบวนการ. สำหรับวิธีนี้ ให้ส่งแบบสอบถามแบบใช้เลือกข้อมูลในรูปแบบสตริง ในการดึงค่าทั้งหมด เราใช้แบบสอบถามต่อไปนี้:

เลือก * จาก TableName;
  • หากต้องการดึงข้อมูลเฉพาะคอลัมน์ ให้ระบุชื่อคอลัมน์ที่ต้องการแทน * เป็น:

เลือกชื่อ DOB จาก Emp

ตัวอย่าง

สมมติว่าเรามีตารางชื่อ Emp ในฐานข้อมูลโดยมีคำอธิบายดังต่อไปนี้:

<ก่อนหน้า>+----------+--------------+------+----+------- ---+-------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+----------+-------------+------+----+-------- --------+| ชื่อ | varchar(255) | ใช่ | | NULL | || วันเกิด | วันที่ | ใช่ | | NULL | | | ที่ตั้ง | varchar(255) | ใช่ | | NULL | |+----------+-------------+------+----+--------- +-------+

ตัวอย่าง JDBC ต่อไปนี้จะดึงค่า Name และ DOB ของพนักงานจากตาราง Emp

<ก่อน> นำเข้า java.sql.Connection นำเข้า java.sql.DriverManager นำเข้า java.sql.ResultSet นำเข้า java.sql.Statement คลาสสาธารณะ RetrievingParticularColumn { โมฆะคงสาธารณะหลัก (สตริง args []) พ่นข้อยกเว้น { // การลงทะเบียนไดร์เวอร์ DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //รับการเชื่อมต่อสตริง mysqlUrl ="jdbc:mysql://localhost/sampleDB"; การเชื่อมต่อ con =DriverManager.getConnection (mysqlUrl, "root", "password"); System.out.println("การเชื่อมต่อสำเร็จ......"); //สร้างคำสั่งวัตถุงบ stmt =con.createStatement(); //ดึงข้อมูล ResultSet rs =stmt.executeQuery("select Name, DOB from Emp"); System.out.println("เนื้อหาของตาราง"); while(rs.next()) { System.out.print("ชื่อพนักงาน:"+rs.getString("Name")+", "); System.out.print("วันเดือนปีเกิด:"+rs.getDate("DOB")); System.out.println(""); } }}

ผลลัพธ์

เชื่อมต่อแล้ว......เนื้อหาของ tableName of the Employee:Amit, Date of Birth:1970-01-08Name of the Employee:Sumith, Date of Birth:1970-01-08Name of the Employee:Sudha , วันเดือนปีเกิด:1970-01-05