Belajar MySQL PART 1 : Tipedata, Membuat Tabel dan Simpan data

Mysql

Intro

Hallo teman-teman kali ini saya akan berbagi tulisan tentang database kategori RDMBS yang cukup terkenal yaitu mysql. Kita akan mulai dari hal dasar dulu yaitu bagain pertama pengenalan beberapa tipe data yang ada di mysql, query sql untuk menyimpan data dan cara membaut tabel menggunakan bantuan tools GUI.

Sebelum membuat tabel, ada kalanya kita kenali terlebih dahulu beberapa tipe data yang tersedia di mysql seperti string, number dan lain sebagainya, karena nanti menentukan mudha atau tidaknya kita dalam menglah data tersebut, contoh sederhana menyimpan nominal uang rupiah tidak boleh varchar atau string karena nanti akan menyulitkan kita dalam pergitungan penjumlahan, bisa dilakukan akan tetapi tidak bisa langsung harus convert dulu dari string ke number.


Tipe Data

Mendefinisikan bidang dalam tabel dengan benar penting untuk optimasi keseluruhan database Anda. Anda harus menggunakan hanya jenis dan ukuran bidang yang benar-benar perlu Anda gunakan. Misalnya, jangan mendefinisikan bidang dengan lebar 10 karakter, jika Anda tahu Anda hanya akan menggunakan 2 karakter. Jenis bidang (atau kolom) ini juga disebut sebagai tipe data, setelah jenis data yang akan Anda simpan di bidang tersebut.

MySQL menggunakan banyak tipe data berbeda yang dipecah menjadi tiga kategori :

  • Numerik
  • Date and Time
  • String Types

Tipe Data Numerik

MySQL menggunakan semua tipe data numerik ANSI SQL standar, jadi jika Anda datang ke MySQL dari sistem database yang berbeda, definisi ini akan terlihat familier bagi Anda.

Daftar berikut menunjukkan tipe data numerik umum dan deskripsinya :

  • INT Sebuah bilangan bulat berukuran normal yang dapat ditandatangani atau tidak ditandatangani. Jika ditandatangani, rentang yang diizinkan adalah dari -2147483648 hingga 2147483647. Jika tidak ditandatangani, rentang yang diizinkan adalah dari 0 hingga 4294967295. Anda dapat menentukan lebar hingga 11 digit.
  • TINYINT Sebuah bilangan bulat yang sangat kecil yang dapat ditandatangani atau tidak ditandatangani. Jika ditandatangani, rentang yang diizinkan adalah dari -128 hingga 127. Jika tidak ditandatangani, rentang yang diizinkan adalah dari 0 hingga 255. Anda dapat menentukan lebar hingga 4 digit.
  • SMALLINT Sebuah bilangan bulat kecil yang dapat ditandatangani atau tidak ditandatangani. Jika ditandatangani, rentang yang diizinkan adalah dari -32768 hingga 32767. Jika tidak ditandatangani, rentang yang diizinkan adalah dari 0 hingga 65535. Anda dapat menentukan lebar hingga 5 digit.
  • MEDIUMINT Sebuah bilangan bulat berukuran sedang yang dapat ditandatangani atau tidak ditandatangani. Jika ditandatangani, rentang yang diizinkan adalah dari -8388608 hingga 8388607. Jika tidak ditandatangani, rentang yang diizinkan adalah dari 0 hingga 16777215. Anda dapat menentukan lebar hingga 9 digit.
  • BIGINT Sebuah bilangan bulat besar yang dapat ditandatangani atau tidak ditandatangani. Jika ditandatangani, rentang yang diizinkan adalah dari -9223372036854775808 hingga 9223372036854775807. Jika tidak ditandatangani, rentang yang diizinkan adalah dari 0 hingga 18446744073709551615. Anda dapat menentukan lebar hingga 20 digit.
  • FLOAT(M,D) Angka titik-mengambang yang tidak dapat dibatalkan tandanya. Anda dapat menentukan panjang tampilan (M) dan jumlah desimal (D). Ini tidak diperlukan dan akan default ke 10,2, di mana 2 adalah jumlah desimal dan 10 adalah jumlah digit (termasuk desimal). Presisi desimal dapat mencapai 24 tempat untuk FLOAT.
  • DOUBLE(M,D) Angka titik-mengambang presisi ganda yang tidak dapat tidak bertanda tangan. Anda dapat menentukan panjang tampilan (M) dan jumlah desimal (D). Ini tidak diperlukan dan akan default ke 16,4, di mana 4 adalah jumlah desimal. Presisi desimal dapat mencapai 53 tempat untuk GANDA. REAL adalah sinonim untuk GANDA.
  • DECIMAL(M,D) Angka floating-point yang belum dibongkar yang tidak bisa tidak ditandatangani. Dalam desimal yang tidak dikemas, setiap desimal sesuai dengan satu byte. Menentukan panjang tampilan (M) dan jumlah desimal (D) diperlukan. NUMERIK adalah sinonim untuk DECIMAL.


Tipe Data Date and Time

Tipe data tanggal dan waktu MySQL adalah sebagai berikut :

  • DATE Tanggal dalam format YYYY-MM-DD, antara 1000-01-01 dan 9999-12-31. Misalnya, 30 Desember 1973 akan disimpan sebagai 1973-12-30.
  • DATETIME Kombinasi tanggal dan waktu dalam format YYYY-MM-DD HH:MM:SS, antara 1000-01-01 00:00:00 dan 9999-12-31 23:59:59. Misalnya, 3:30 sore tanggal 30 Desember 1973 akan disimpan sebagai 1973-12-30 15:30:00.
  • TIMESTAMP Stempel waktu antara tengah malam, 1 Januari 1970 dan sekitar tahun 2037. Ini terlihat seperti format DATETIME sebelumnya, hanya tanpa tanda hubung di antara angka; 3:30 sore tanggal 30 Desember 1973 akan disimpan sebagai 19731230153000 ( YYYYMMDDHHMMSS ).
  • TIME Menyimpan waktu dalam format HH:MM:SS.
  • YEAR(M) Menyimpan satu tahun dalam format 2 digit atau 4 digit. Jika panjangnya ditentukan sebagai 2 (misalnya TAHUN (2)), TAHUN dapat antara 1970 hingga 2069 (70 hingga 69). Jika panjangnya ditentukan sebagai 4, maka TAHUN dapat berupa 1901 hingga 2155. Panjang default adalah 4.


Tipe Data String Types

Meskipun tipe numerik dan tanggal menyenangkan, sebagian besar data yang akan Anda simpan akan dalam format string. Daftar ini menjelaskan tipe data string umum di MySQL.

  • CHAR(M) String dengan panjang tetap antara 1 dan 255 karakter (misalnya CHAR(5)), diisi dengan spasi hingga panjang yang ditentukan saat disimpan. Mendefinisikan panjang tidak diperlukan, tetapi defaultnya adalah 1.

  • VARCHAR(M) String dengan panjang variabel antara 1 dan 255 karakter. Misalnya, VARCHAR(25). Anda harus menentukan panjang saat membuat bidang VARCHAR.

  • BLOB atau TEXT Bidang dengan panjang maksimum 65535 karakter. Gumpalan adalah "Objek Besar Biner" dan digunakan untuk menyimpan sejumlah besar data biner, seperti gambar atau jenis file lainnya. Bidang yang didefinisikan sebagai TEXT juga menyimpan data dalam jumlah besar. Perbedaan antara keduanya adalah bahwa pengurutan dan perbandingan pada data yang disimpan peka huruf besar/kecil pada BLOB dan tidak peka huruf besar/kecil dalam bidang TEXT. Anda tidak menentukan panjang dengan BLOB atau TEXT.
  • TINYBLOB atau TINYTEXT Kolom BLOB atau TEXT dengan panjang maksimum 255 karakter. Anda tidak menentukan panjang dengan TINYBLOB atau TINYTEXT.
  • MEDIUMBLOB atau MEDIUMTEXT Kolom BLOB atau TEXT dengan panjang maksimum 16777215 karakter. Anda tidak menentukan panjang dengan MEDIUMBLOB atau MEDIUMTEXT.
  • LONGBLOB atau LONGTEXT Kolom BLOB atau TEXT dengan panjang maksimum 4294967295 karakter. Anda tidak menentukan panjang dengan LONGBLOB atau LONGTEXT.
  • ENUM Sebuah enumerasi, yang merupakan istilah mewah untuk daftar. Saat mendefinisikan ENUM, Anda membuat daftar item yang nilainya harus dipilih (atau bisa berupa NULL). Misalnya, jika Anda ingin bidang Anda berisi "A" atau "B" atau "C", Anda akan menetapkan ENUM sebagai ENUM ('A', 'B', 'C') dan hanya nilai tersebut (atau NULL) pernah bisa mengisi bidang itu
Sumber : https://www.tutorialspoint.com/mysql/mysql-data-types.htm

Membuat Tabel

Untuk membaut tabel bisa menggunakan CLI atau command dan juga menggunakan GUI dari aplikasi semua ini tergantung kenyamanan teman-teman sih, bebas mau menggunakan apa akan tetapi di tulisan kali ini kita akan membuat nya melalui CLI di GUI dengan tools navicat.

Berikut adalah contoh script untuk membuat tabel books:

CREATE TABLE books( 
    id INT NOT NULL AUTO_INCREMENT, 
    title VARCHAR(100) NOT NULL, 
    author VARCHAR(40) NOT NULL, PRIMARY KEY ( id ) 
);
        

Lalu jalan kan script diatas jika sudah ok berarti tabel sudah berhasil terbuat.


Simpan Data

Tahap selanjutnya kita akan coba menyimpan data ke tabel book, berikut adalah script nya :

Berikut adalah contoh script untuk membuat tabel books:

INSERT INTO books (title, author) VALUES ("Learn PHP", "John Poul");
        

Lalu jalan kan script diatas jika sudah ok cek di tabel books tadi apakah sudah masuk atau tidak. Penjelasan dikit perintah INSERT INTO yaitu sesudah into adalah nama tabel yang akan kita masukan datanya contoh books, lalu definisikan kolom-kolom nya contoh di atas kita aka memasukand data ke kolom title, dan author. Lalu VALUES adalah isi datanya apa, kenapa id tidak di masukan karena ketika kita membuat tabel ada definisi AUTO INCREMENT yang menandakan kolom id ini akan otomatis terbuat dari increment 1 dst, jadi tidak usah definisikan kembali di script insert nya.

Mungkin segitu yang bisa saya sharing semoga bermanfaat bagi teman-teman, jika ada yang tidak mengerti, ada kesalahan dalam penulisan dan ada yang ingin ditanyakan atau di tambahkan bisa tulis dikolom komentar terimakasih.

Posting Komentar

0 Komentar