Sintaks:
Sintaks umum untuk membuat kunci utama kenaikan automatik adalah seperti berikut:
>> BUAT TABLE table_name (id SERIAL);Mari kita lihat deklarasi CREATE TABLE dengan lebih terperinci:
- PostgreSQL menghasilkan entiti siri terlebih dahulu. Ia menghasilkan nilai seterusnya dalam siri dan menetapkannya sebagai nilai rujukan lalai medan.
- PostgreSQL menerapkan sekatan tersirat TIDAK NULL pada medan id kerana satu siri menghasilkan nilai berangka.
- Medan id akan diperuntukkan sebagai pemegang siri ini. Sekiranya medan id atau jadual itu sendiri dihilangkan, urutannya akan dibuang.
Untuk mendapatkan konsep kenaikan automatik, pastikan PostgreSQL dipasang dan dikonfigurasi pada sistem anda sebelum meneruskan ilustrasi dalam panduan ini. Buka shell baris perintah PostgreSQL dari desktop. Tambahkan nama pelayan anda yang ingin anda kerjakan, jika tidak, biarkan ia menjadi lalai. Tulis nama pangkalan data yang terdapat di pelayan anda di mana anda ingin mengusahakannya. Sekiranya anda tidak mahu mengubahnya, biarkan sebagai lalai. Kami akan menggunakan pangkalan data "test", oleh sebab itu kami telah menambahkannya. Anda juga boleh bekerja pada port lalai 5432, tetapi anda juga boleh mengubahnya. Pada akhirnya, anda harus memberikan nama pengguna untuk pangkalan data yang anda pilih. Biarkan ia lalai jika anda tidak mahu mengubahnya. Ketik kata laluan anda untuk nama pengguna yang dipilih dan tekan "Enter" dari papan kekunci untuk mula menggunakan shell perintah.
Menggunakan Kata Kunci SERIAL sebagai Jenis Data:
Apabila kita membuat jadual, kita biasanya tidak menambahkan kata kunci SERIAL di ruang lajur utama. Ini bermaksud kita harus menambahkan nilai ke lajur kunci utama semasa menggunakan penyataan INSERT. Tetapi apabila kita menggunakan kata kunci SERIAL dalam pertanyaan kita semasa membuat jadual, kita tidak perlu menambahkan nilai lajur utama sambil memasukkan nilai. Mari kita melihatnya.
Contoh 01:
Buat tabel "Uji" dengan dua lajur "id" dan "nama". Lajur "id" telah didefinisikan sebagai lajur kunci utama kerana jenis datanya adalah SERIAL. Sebaliknya, lajur "nama" ditakrifkan sebagai jenis data TEKS BUKAN NULL. Cuba arahan di bawah ini untuk membuat jadual dan jadual akan dibuat dengan cekap seperti yang dilihat pada gambar di bawah.
>> BUAT UJIAN JADUAL (id KUNCI PRIMARY SERIAL, namakan TEKS TIDAK NULL);
Mari masukkan beberapa nilai ke lajur "nama" jadual "UJIAN" yang baru dibuat. Kami tidak akan menambah nilai pada lajur "id". Anda dapat melihat bahawa nilai-nilai telah berjaya dimasukkan menggunakan perintah INSERT seperti yang dinyatakan di bawah.
>> INSERT INTO Test (name) NILAI ('Aqsa'), ('Rimsha'), ('Khan');
Sudah tiba masanya untuk memeriksa rekod jadual 'Test'. Cuba arahan SELECT di bawah pada command shell.
>> PILIH * DARI Ujian;Dari output di bawah, anda dapat melihat bahawa lajur "id" secara automatik mendapat beberapa nilai di dalamnya walaupun kami belum menambahkan nilai dari perintah INSERT kerana jenis data SERIAL yang telah kami tentukan untuk lajur "id". Ini adalah bagaimana jenis data SERIAL berfungsi sendiri.
Contoh 02:
Cara lain untuk memeriksa nilai lajur jenis data SERIAL adalah dengan menggunakan kata kunci RETURNING dalam arahan INSERT. Deklarasi di bawah membuat baris baru dalam jadual "Uji" dan menghasilkan nilai untuk bidang "id":
>> INSERT INTO Test (name) NILAI ('Hassam') MENGEMBALIKAN id;
Dengan memeriksa catatan tabel "Uji" menggunakan pertanyaan PILIH, kami mendapat output di bawah seperti yang ditunjukkan dalam gambar. Rekod kelima telah berjaya ditambahkan ke jadual.
>> PILIH * DARI Ujian;
Contoh 03:
Versi alternatif dari pertanyaan sisipan di atas adalah menggunakan kata kunci DEFAULT. Kami akan menggunakan nama kolom "id" dalam perintah INSERT, dan di bahagian NILAI, kami akan memberikannya kata kunci DEFAULT sebagai nilainya. Pertanyaan di bawah akan berfungsi sama semasa pelaksanaan.
>> INSERT INTO Test (id, name) NILAI (DEFAULT, 'Raza');
Mari kita periksa jadual sekali lagi menggunakan pertanyaan PILIH seperti berikut:
>> PILIH * DARI Ujian;Anda dapat melihat dari output di bawah, nilai baru telah ditambahkan sementara lajur "id" telah meningkat secara lalai.
Contoh 04:
Nombor urutan medan lajur SERIAL terdapat dalam jadual di PostgreSQL. Kaedah pg_get_serial_sequence () digunakan untuk mencapai ini. Kita harus menggunakan fungsi currval () bersama dengan kaedah pg_get_serial_sequence (). Dalam pertanyaan ini, kami akan memberikan nama jadual dan nama lajur SERIALnya dalam parameter fungsi pg_get_serial_sequence (). Seperti yang anda lihat, kami telah menentukan jadual "Uji" dan lajur "id". Kaedah ini digunakan dalam contoh pertanyaan di bawah:
>> PILIH kurva (pg_get_serial_sequence ('Test', 'id'));Perlu diperhatikan bahawa fungsi kurva () kita membantu kita mengekstrak nilai urutan terbaru, iaitu "5". Gambar di bawah adalah gambaran bagaimana penampilannya.
Kesimpulan:
Dalam tutorial panduan ini, kami telah menunjukkan cara menggunakan jenis pseudo SERIAL untuk kenaikan automatik dalam PostgreSQL. Menggunakan satu siri dalam PostgreSQL, mudah untuk membuat satu set nombor yang bertambah secara automatik. Mudah-mudahan, anda dapat menerapkan medan SERIAL pada keterangan jadual menggunakan ilustrasi kami sebagai rujukan.