Saya kira Anda memiliki pengetahuan tentang Database Relasional dan bahasa SQL. Jika tidak, baca "" Show Menyiapkan MySQLPada artikel ini, saya akan menjelaskan MySQL Relational Database Management System. Untuk sistem basis data lainnya, baca "" Instal MySQL (Baca "Cara Mengatur MySQL dan Memulai"). Saya akan berasumsi bahwa server MySQL berjalan pada nomor port TCP default 3306 Di MySQL, alih-alih menggunakan program klien baris perintah " // For Windows: assume that MySQL is installed in "c:\myWebProject\mysql" c: cd \myWebProject\mysql\bin mysqld --console // For macOS // Use graphical control at "System Preferences" -> MySQL -> Start|Stop_8" yang disediakan, Anda dapat menulis program klien Anda sendiri (dalam Java atau bahasa lain) untuk mengakses server MySQL. Program klien Anda harus terhubung ke server basis data pada alamat IP dan nomor port TCP yang diberikan, mengeluarkan perintah SQL, dan memproses hasil yang diterima Instal JDK dan Editor PemrogramanSebelum Anda melanjutkan, saya akan berasumsi bahwa Anda sudah familiar dengan Pemrograman Java dan telah menginstal yang berikut ini Buat Direktori untuk Menyimpan semua Karya AndaSaya berasumsi bahwa Anda telah membuat direktori bernama " // For Windows: assume that MySQL is installed in "c:\myWebProject\mysql" c: cd \myWebProject\mysql\bin mysqld --console // For macOS // Use graphical control at "System Preferences" -> MySQL -> Start|Stop9" (untuk Windows) atau " // For Windows: assume that MySQL is installed in "c:\myWebProject\mysql" c: cd \myWebProject\mysql\bin mysql -u myuser -p // For macOS: assume that MySQL is installed in "/usr/local/mysql" cd /usr/local/mysql/bin ./mysql -u myuser -p0" (untuk macOS) dalam latihan Anda sebelumnya. Lakukan sebaliknya Langkah ini penting; Instal Driver MySQL JDBC (PENTING - Jangan LEWATKAN Langkah Ini. )Anda perlu menginstal driver JDBC (Java Database Connectivity) yang sesuai untuk menjalankan program database Java Anda. Driver JDBC MySQL disebut "MySQL Connector/J" dan tersedia di situs induk MySQL Untuk Windows
Untuk macOS
(Hanya Untuk Pengguna Tingkat Lanjut) Anda dapat mengkompilasi program database Java tanpa driver JDBC. Tetapi untuk menjalankan program JDBC, file JAR driver JDBC harus disertakan dalam variabel lingkungan create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books ( id int, title varchar(50), author varchar(50), price float, qty int, primary key (id)); insert into books values (1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11); insert into books values (1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22); insert into books values (1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33); insert into books values (1004, 'A Cup of Java', 'Kumar', 44.44, 44); insert into books values (1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55); select * from books;0, atau dalam opsi baris perintah create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books ( id int, title varchar(50), author varchar(50), price float, qty int, primary key (id)); insert into books values (1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11); insert into books values (1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22); insert into books values (1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33); insert into books values (1004, 'A Cup of Java', 'Kumar', 44.44, 44); insert into books values (1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55); select * from books;1 create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books ( id int, title varchar(50), author varchar(50), price float, qty int, primary key (id)); insert into books values (1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11); insert into books values (1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22); insert into books values (1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33); insert into books values (1004, 'A Cup of Java', 'Kumar', 44.44, 44); insert into books values (1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55); select * from books;2 Anda dapat menyetel opsi create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books ( id int, title varchar(50), author varchar(50), price float, qty int, primary key (id)); insert into books values (1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11); insert into books values (1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22); insert into books values (1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33); insert into books values (1004, 'A Cup of Java', 'Kumar', 44.44, 44); insert into books values (1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55); select * from books;_2 untuk Java runtime sebagai berikut Sebelum JDK 9, Anda dapat menyalin file JAR ke direktori ekstensi JDK di " create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books ( id int, title varchar(50), author varchar(50), price float, qty int, primary key (id)); insert into books values (1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11); insert into books values (1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22); insert into books values (1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33); insert into books values (1004, 'A Cup of Java', 'Kumar', 44.44, 44); insert into books values (1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55); select * from books;4" (Windows) atau " create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books ( id int, title varchar(50), author varchar(50), price float, qty int, primary key (id)); insert into books values (1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11); insert into books values (1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22); insert into books values (1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33); insert into books values (1004, 'A Cup of Java', 'Kumar', 44.44, 44); insert into books values (1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55); select * from books;5s" (macOS). JDK 9 menghapus mekanisme ekstensi ini Atur Basis DataKita harus menyiapkan database sebelum memulai pemrograman database kita. Kami akan memanggil database kami " create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books ( id int, title varchar(50), author varchar(50), price float, qty int, primary key (id)); insert into books values (1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11); insert into books values (1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22); insert into books values (1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33); insert into books values (1004, 'A Cup of Java', 'Kumar', 44.44, 44); insert into books values (1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55); select * from books;_6" yang berisi tabel yang disebut " create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books ( id int, title varchar(50), author varchar(50), price float, qty int, primary key (id)); insert into books values (1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11); insert into books values (1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22); insert into books values (1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33); insert into books values (1004, 'A Cup of Java', 'Kumar', 44.44, 44); insert into books values (1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55); select * from books;7", dengan 5 kolom, seperti di bawah ini Database: ebookshop Table: books +-------+----------------------------+---------------+---------+-------+ | id | title | author | price | qty | | (INT) | (VARCHAR(50)) | (VARCHAR(50)) | (FLOAT) | (INT) | +-------+----------------------------+---------------+---------+-------+ | 1001 | Java for dummies | Tan Ah Teck | 11.11 | 11 | | 1002 | More Java for dummies | Tan Ah Teck | 22.22 | 22 | | 1003 | More Java for more dummies | Mohammad Ali | 33.33 | 33 | | 1004 | A Cup of Java | Kumar | 44.44 | 44 | | 1005 | A Teaspoon of Java | Kevin Jones | 55.55 | 55 | +-------+----------------------------+---------------+---------+-------+ Mulai Server MySQL. Mulai server MySQL dan verifikasi nomor port TCP server dari pesan konsol. Saya berasumsi bahwa server MySQL berjalan pada nomor port default 3306 // For Windows: assume that MySQL is installed in "c:\myWebProject\mysql" c: cd \myWebProject\mysql\bin mysqld --console // For macOS // Use graphical control at "System Preferences" -> MySQL -> Start|Stop Mulai klien MySQL. Saya juga berasumsi bahwa ada pengguna resmi bernama " create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books ( id int, title varchar(50), author varchar(50), price float, qty int, primary key (id)); insert into books values (1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11); insert into books values (1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22); insert into books values (1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33); insert into books values (1004, 'A Cup of Java', 'Kumar', 44.44, 44); insert into books values (1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55); select * from books;8" dengan kata sandi " create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books ( id int, title varchar(50), author varchar(50), price float, qty int, primary key (id)); insert into books values (1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11); insert into books values (1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22); insert into books values (1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33); insert into books values (1004, 'A Cup of Java', 'Kumar', 44.44, 44); insert into books values (1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55); select * from books;9" // For Windows: assume that MySQL is installed in "c:\myWebProject\mysql" c: cd \myWebProject\mysql\bin mysql -u myuser -p // For macOS: assume that MySQL is installed in "/usr/local/mysql" cd /usr/local/mysql/bin ./mysql -u myuser -p Jalankan pernyataan SQL berikut untuk membuat database dan tabel pengujian kami create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books ( id int, title varchar(50), author varchar(50), price float, qty int, primary key (id)); insert into books values (1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11); insert into books values (1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22); insert into books values (1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33); insert into books values (1004, 'A Cup of Java', 'Kumar', 44.44, 44); insert into books values (1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55); select * from books; Pengantar Pemrograman JDBC dengan ContohProgram JDBC terdiri dari LIMA langkah berikut
Kami akan mengilustrasikan pemrograman Database Java dengan contoh berikut Contoh 1. PILIH SQLCobalah program JDBC berikut, yang mengeluarkan SQL 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 427 ke MySQL Simpan program sebagai " 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 428" di direktori proyek Anda " // For Windows: assume that MySQL is installed in "c:\myWebProject\mysql" c: cd \myWebProject\mysql\bin mysqld --console // For macOS // Use graphical control at "System Preferences" -> MySQL -> Start|Stop9" (Windows) atau " // For Windows: assume that MySQL is installed in "c:\myWebProject\mysql" c: cd \myWebProject\mysql\bin mysql -u myuser -p // For macOS: assume that MySQL is installed in "/usr/local/mysql" cd /usr/local/mysql/bin ./mysql -u myuser -p0" (macOS) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 Menyusun. Untuk mengkompilasi program // Windows: The Java source directory is "c:\myWebProject" c: cd \myWebProject javac JdbcSelectTest.java // macOS: The Java source directory is "~/myWebProject" cd ~/myWebProject javac JdbcSelectTest.java Lari. Agak sulit untuk menjalankan program, karena Anda perlu menyertakan MySQL JDBC Driver di classpath (melalui opsi create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books ( id int, title varchar(50), author varchar(50), price float, qty int, primary key (id)); insert into books values (1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11); insert into books values (1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22); insert into books values (1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33); insert into books values (1004, 'A Cup of Java', 'Kumar', 44.44, 44); insert into books values (1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55); select * from books;2) sebagai berikut. Ganti // Windows: The Java source directory is "c:\myWebProject" c: cd \myWebProject javac JdbcSelectTest.java // macOS: The Java source directory is "~/myWebProject" cd ~/myWebProject javac JdbcSelectTest.java_2 dengan nomor instalasi Anda // For windows c: cd \myWebProject java -cp .;C:\myWebProject\mysql-connector-java-8.0.{xx}\mysql-connector-java-8.0.{xx}.jar JdbcSelectTest // For macOS cd ~/myWebProject // Need to use $HOME instead of ~ in the "java" command java -cp .:$HOME/myWebProject/mysql-connector-java-8.0.{xx}/mysql-connector-java-8.0.{xx}.jar JdbcSelectTest Anda harus MENYALIN dan MENYIMPAN perintah ini ke buku catatan, sehingga Anda tidak perlu mengetikkan perintah yang sangat panjang ini lagi dan lagi create database if not exists ebookshop; use ebookshop; drop table if exists books; create table books ( id int, title varchar(50), author varchar(50), price float, qty int, primary key (id)); insert into books values (1001, 'Java for dummies', 'Tan Ah Teck', 11.11, 11); insert into books values (1002, 'More Java for dummies', 'Tan Ah Teck', 22.22, 22); insert into books values (1003, 'More Java for more dummies', 'Mohammad Ali', 33.33, 33); insert into books values (1004, 'A Cup of Java', 'Kumar', 44.44, 44); insert into books values (1005, 'A Teaspoon of Java', 'Kevin Jones', 55.55, 55); select * from books;_2 mencakup dua jalur yang dipisahkan oleh " // Windows: The Java source directory is "c:\myWebProject" c: cd \myWebProject javac JdbcSelectTest.java // macOS: The Java source directory is "~/myWebProject" cd ~/myWebProject javac JdbcSelectTest.java4" (Windows) atau " // Windows: The Java source directory is "c:\myWebProject" c: cd \myWebProject javac JdbcSelectTest.java // macOS: The Java source directory is "~/myWebProject" cd ~/myWebProject javac JdbcSelectTest.java5" (macOS). The " // Windows: The Java source directory is "c:\myWebProject" c: cd \myWebProject javac JdbcSelectTest.java // macOS: The Java source directory is "~/myWebProject" cd ~/myWebProject javac JdbcSelectTest.java_6" menunjukkan direktori saat ini (untuk menemukan // Windows: The Java source directory is "c:\myWebProject" c: cd \myWebProject javac JdbcSelectTest.java // macOS: The Java source directory is "~/myWebProject" cd ~/myWebProject javac JdbcSelectTest.java7) diikuti dengan nama file full-path dari MySQL JDBC Driver JAR-file (yang saya meminta Anda untuk mencatat sebelumnya) (Lewati Kecuali. ) Membaca "" (Untuk Pengguna Eclipse IDE) Jika Anda menggunakan Eclipse IDE, periksa artikel Eclipse saya tentang cara menambahkan file JAR eksternal ke dalam proyek Eclipse Membedah Program
Latihan. Ubah program di atas untuk mengeluarkan pernyataan 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 427 berikut dan tampilkan semua kolom yang diambil. Pastikan Anda mengubah pemrosesan // For windows c: cd \myWebProject java -cp .;C:\myWebProject\mysql-connector-java-8.0.{xx}\mysql-connector-java-8.0.{xx}.jar JdbcSelectTest // For macOS cd ~/myWebProject // Need to use $HOME instead of ~ in the "java" command java -cp .:$HOME/myWebProject/mysql-connector-java-8.0.{xx}/mysql-connector-java-8.0.{xx}.jar JdbcSelectTest_0 untuk hanya memproses kolom yang diambil (jika tidak, Anda akan mendapatkan kesalahan "Kolom tidak ditemukan")
Contoh 2. PEMBARUAN SQLUntuk mengeksekusi SQL // For Windows: assume that MySQL is installed in "c:\myWebProject\mysql" c: cd \myWebProject\mysql\bin mysqld --console // For macOS // Use graphical control at "System Preferences" -> MySQL -> Start|Stop08, Anda harus memanggil metode // For Windows: assume that MySQL is installed in "c:\myWebProject\mysql" c: cd \myWebProject\mysql\bin mysqld --console // For macOS // Use graphical control at "System Preferences" -> MySQL -> Start|Stop09 dari objek 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 421, yang mengembalikan 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 588 yang menunjukkan jumlah catatan yang terpengaruh (Baris 19). Ingatlah bahwa untuk 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 427, kami menggunakan // For Windows: assume that MySQL is installed in "c:\myWebProject\mysql" c: cd \myWebProject\mysql\bin mysqld --console // For macOS // Use graphical control at "System Preferences" -> MySQL -> Start|Stop13, yang mengembalikan objek // For windows c: cd \myWebProject java -cp .;C:\myWebProject\mysql-connector-java-8.0.{xx}\mysql-connector-java-8.0.{xx}.jar JdbcSelectTest // For macOS cd ~/myWebProject // Need to use $HOME instead of ~ in the "java" command java -cp .:$HOME/myWebProject/mysql-connector-java-8.0.{xx}/mysql-connector-java-8.0.{xx}.jar JdbcSelectTest0 yang memodelkan tabel yang dikembalikan (Baris 25). SQL // For Windows: assume that MySQL is installed in "c:\myWebProject\mysql" c: cd \myWebProject\mysql\bin mysqld --console // For macOS // Use graphical control at "System Preferences" -> MySQL -> Start|Stop_15 tidak mengembalikan tabel, tetapi 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 588 menunjukkan jumlah catatan yang terpengaruh Simpan program sebagai " // For Windows: assume that MySQL is installed in "c:\myWebProject\mysql" c: cd \myWebProject\mysql\bin mysqld --console // For macOS // Use graphical control at "System Preferences" -> MySQL -> Start|Stop17" di direktori proyek Anda " // For Windows: assume that MySQL is installed in "c:\myWebProject\mysql" c: cd \myWebProject\mysql\bin mysqld --console // For macOS // Use graphical control at "System Preferences" -> MySQL -> Start|Stop9" (Windows) atau " // For Windows: assume that MySQL is installed in "c:\myWebProject\mysql" c: cd \myWebProject\mysql\bin mysql -u myuser -p // For macOS: assume that MySQL is installed in "/usr/local/mysql" cd /usr/local/mysql/bin ./mysql -u myuser -p0" (macOS) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 Lihat contoh sebelumnya tentang cara mengkompilasi dan menjalankan program ini. Arahkan ke file Java ini " // For Windows: assume that MySQL is installed in "c:\myWebProject\mysql" c: cd \myWebProject\mysql\bin mysqld --console // For macOS // Use graphical control at "System Preferences" -> MySQL -> Start|Stop_30" Di mana driver MySQL?File konfigurasi terletak di direktori data program MySQL (misalnya. C. \ProgramData\MySQL\MySQL Server 5. 6 di Windows atau /etc/mysql/ di Linux.
Apa driver basis data saya?Driver basis data adalah program komputer yang mengimplementasikan protokol (ODBC atau JDBC) untuk koneksi basis data . Pengemudi bekerja seperti adaptor yang menghubungkan antarmuka generik ke implementasi vendor database tertentu.
Bagaimana Anda bisa menginstal driver database MySQL?Gunakan browser web untuk mengunjungi situs unduhan MySQL dan temukan sumber dan tautan unduhan biner untuk format arsip yang ingin Anda gunakan (biasanya zip untuk sistem Microsoft Windows atau . Klik tautan itu untuk memulai proses pengunduhan. Pendaftaran mungkin diperlukan.
Driver mana yang digunakan untuk MySQL?Driver di MySQL Connector/J adalah com. mysql. cj. jdbc . |