Cara Membuat Database di MySQL (Membuat MySQL Tabel)

โšก Ringkasan Cerdas

Membuat database di MySQL mengikuti dua jalur yang telah terbukti: mengeksekusi pernyataan CREATE DATABASE, atau menghasilkan skema fisik dari model ER melalui MySQL Rekayasa awal meja kerja. Kedua pendekatan tersebut menghasilkan meja yang identik dan siap produksi.

  • ๏ธ Pembuatan Basis Data: Jalankan CREATE DATABASE movies; atau CREATE SCHEMA, yang MySQL memperlakukan sebagai sinonim.
  • ๐Ÿ›ก๏ธ Penayangan Ulang yang Aman: Tambahkan IF NOT EXISTS agar skrip yang dijalankan berulang kali melewati proses pembuatan alih-alih menimbulkan kesalahan nama duplikat.
  • ๐ŸŒ Set karakter: Pilih utf8mb4 dengan utf8mb4_0900_ai_ci untuk data multibahasa; latin1 dengan latin1_swedish_ci cocok untuk skema lama yang hanya berbahasa Inggris.
  • ๐Ÿงฑ Pembuatan Tabel: Perintah CREATE TABLE mendefinisikan setiap nama field, tipe data, PRIMARY KEY, dan mesin penyimpanan, biasanya InnoDB.
  • ๐Ÿ”ข Tipe Data: Tipe kolom terbagi dalam keluarga numerik, teks, dan tanggal atau waktu, ditambah varian ENUM, SET, BOOL, dan biner.
  • โš™๏ธ Teknik Maju: MySQL Workbench mengkonversi model ER yang telah disetujui menjadi skrip SQL yang dapat dieksekusi dan mengirimkannya ke server aktif.

Langkah-langkah Membuat Database di MySQL

Sebuah basis data di MySQL adalah wadah bernama untuk tabel, tampilan, dan objek terkait. Anda dapat membuatnya dengan dua cara:

1) Dengan menjalankan query SQL sederhana

2) Dengan menggunakan rekayasa maju dalam MySQL Workbench

As SQL pemula, mari kita lihat metode kuerinya terlebih dahulu.

Cara Membuat Database di MySQL

Berikut cara membuat database di MySQL:

CREATE DATABASE adalah perintah SQL yang digunakan untuk membuat database MySQL.

Bayangkan Anda perlu membuat basis data dengan nama "film". Anda dapat membuat basis data di MySQL dengan menjalankan perintah SQL berikut.

CREATE DATABASE movies;

Catatan: Anda juga dapat menggunakan perintah CREATE SCHEMA sebagai pengganti CREATE DATABASE.

Pernyataan tersebut hanya berfungsi sekali. Menjalankannya lagi akan menimbulkan kesalahan, jadi mari kita perbaiki kueri dengan lebih banyak parameter.

JIKA TIDAK ADA

Tunggal MySQL Server dapat menampung banyak basis data. Ketika beberapa orang berbagi server tersebut, Anda mungkin mencoba membuat basis data dengan nama basis data yang sudah ada.

JIKA TIDAK ADA menginstruksikan MySQL Server akan memeriksa apakah sudah ada basis data dengan nama yang sama sebelum membuatnya. Basis data hanya akan dibuat jika nama tersebut tersedia; tanpa klausa ini, MySQL menimbulkan kesalahan.

CREATE DATABASE IF NOT EXISTS movies;

Setelah nama basis data dipastikan, keputusan selanjutnya adalah bagaimana MySQL Seharusnya menyimpan dan membandingkan teks di dalamnya.

Kolasi dan Kumpulan Karakter

A set karakter menentukan karakter mana yang dapat disimpan oleh sebuah kolom, sementara pemeriksaan adalah himpunan aturan yang digunakan dalam perbandingan dan pengurutan. Keduanya dapat didefinisikan pada empat tingkatan: server, basis data, tabel, dan kolom.

Susunan karakter yang Anda pilih bergantung pada set karakter yang digunakan. Misalnya, set karakter latin1 menggunakan susunan karakter berikut: latin1_swedish_ci kolasi, yang merupakan urutan Swedia yang tidak peka terhadap huruf besar/kecil.

CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci;

Untuk bahasa lokal seperti Arab atau Cina, pilih Unicode. utf8mb4 set karakter, yang menyimpan setiap karakter Unicode, termasuk emoji. Di dalam MySQL 8.0, utf8mb4 adalah set karakter default dan utf8mb4_0900_ai_ci Kolasi default.

CREATE DATABASE IF NOT EXISTS movies CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

Anda dapat menemukan daftar semua susunan dan rangkaian karakter di sini.

Anda dapat melihat daftar basis data yang ada dengan menjalankan perintah SQL berikut.

SHOW DATABASES;

Setelah basis data tersedia, Anda sekarang dapat menambahkan tabel yang akan menyimpan data tersebut.

Cara Membuat Tabel di MySQL

Perintah CREATE TABLE digunakan untuk membuat tabel dalam sebuah basis data.

Buat Tabel di MySQL

Seperti yang ditunjukkan diagram, setiap tabel termasuk dalam satu basis data. Tabel dibuat dengan BUAT TABEL pernyataan, yang memiliki sintaks sebagai berikut.

CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;

SINI

  • Perintah โ€œCREATE TABLEโ€ bertanggung jawab untuk membuat tabel di dalam basis data.
  • โ€œ[IF NOT EXISTS]โ€ bersifat opsional dan hanya akan membuat tabel jika tidak ditemukan nama tabel yang cocok.
  • โ€œ`fieldName`โ€ adalah nama kolom, dan โ€œtipe dataโ€ mendefinisikan sifat data yang disimpan di dalamnya.
  • โ€œ[parameter opsional]โ€ adalah informasi tambahan tentang suatu kolom, seperti โ€œAUTO_INCREMENTโ€ atau NOT NULL.
  • โ€œStorage Engineโ€ mengelola tabel, biasanya InnoDB, yang mendukung transaksi dan kunci asing.

MySQL Buat Contoh Tabel

Di bawah ini adalah MySQL Contoh cara membuat tabel dalam basis data:

CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` (
  `membership_number` INT AUTO_INCREMENT ,
  `full_names` VARCHAR(150) NOT NULL ,
  `gender` VARCHAR(6) ,
  `date_of_birth` DATE ,
  `physical_address` VARCHAR(255) ,
  `postal_address` VARCHAR(255) ,
  `contact_number` VARCHAR(75) ,
  `email` VARCHAR(255) ,
  PRIMARY KEY (`membership_number`) )
ENGINE = InnoDB;

Catatan: yang benar MySQL kata kuncinya adalah AUTO_INCREMENT dengan garis bawah. AUTOINCREMENT Milik SQLite dan menimbulkan kesalahan sintaksis di MySQL.

Setiap kolom memiliki tipe data, jadi pilihlah dengan hati-hati: jangan meremehkan atau melebih-lebihkan rentang data yang Anda harapkan.

MySQL Jenis Data

Tipe data mendefinisikan sifat data yang dapat disimpan dalam kolom tertentu pada sebuah tabel.

MySQL memiliki 3 kategori utama tipe data, yaitu:

  1. Numeric
  2. Teks
  3. Tanggal Waktu

Jenis Data Numerik

Tipe data numerik digunakan untuk menyimpan nilai numerik. Sangat penting untuk memastikan rentang data Anda berada di antara batas bawah dan batas atas tipe data numerik yang Anda pilih.

KECIL( ) -128 hingga 127 biasa
0 hingga 255 TANPA TANDATANGANI.
KECIL( ) -32768 hingga 32767 biasa
0 hingga 65535 TANPA TANDATANGANI.
SEDANG( ) -8388608 hingga 8388607 biasa
0 hingga 16777215 TANPA TANDATANGANI.
KE DALAM( ) -2147483648 hingga 2147483647 biasa
0 hingga 4294967295 TANPA TANDATANGANI.
BESAR( ) -9223372036854775808 hingga 9223372036854775807 biasa
0 hingga 18446744073709551615 TANPA TANDATANGANI.
FLOAT Angka perkiraan kecil dengan titik desimal mengambang.
DOBEL( , ) Sejumlah besar dengan titik desimal mengambang.
Desimal( , ) Nilai DOUBLE disimpan sebagai string, memungkinkan adanya titik desimal tetap. Pilihan untuk menyimpan nilai mata uang.

Tipe Data Teks

Sesuai dengan nama kategori tipe datanya, tipe data ini digunakan untuk menyimpan nilai teks. Selalu pastikan panjang data teks Anda tidak melebihi panjang maksimum kolom.

karakter( ) Bagian tetap dengan panjang 0 hingga 255 karakter.
VARCHAR( ) Bagian variabel dari 0 hingga 255 karakter.
TEKS KECIL Sebuah string dengan panjang maksimum 255 karakter.
TEKS Sebuah string dengan panjang maksimum 65535 karakter.
Gumpalan Sebuah string dengan panjang maksimum 65535 karakter.
TEKS MENENGAH Sebuah string dengan panjang maksimum 16777215 karakter.
GEMPA SEDANG Sebuah string dengan panjang maksimum 16777215 karakter.
TEKS PANJANG Sebuah string dengan panjang maksimum 4294967295 karakter.
BLOB PANJANG Sebuah string dengan panjang maksimum 4294967295 karakter.

Tipe Data Tanggal dan Waktu

Tipe data tanggal dan waktu menyimpan nilai kalender dan jam dalam format tetap, yang menjaga keandalan pengurutan dan perbandingan.

TANGGAL YYYY-MM-DD
TANGGAL WAKTU TTTT-BB-HH JJ: MM: SS
URUTAN WAKTU YYYYMMDDHHMMSS
WAKTU JJ:MM:SS

Jenis Data Lainnya

Selain yang disebutkan di atas, ada beberapa tipe data lain di MySQL.

ENUM Untuk menyimpan nilai teks yang dipilih dari daftar nilai teks yang telah ditentukan sebelumnya.
SET Ini juga digunakan untuk menyimpan nilai teks yang dipilih dari daftar nilai teks yang telah ditentukan sebelumnya. Itu bisa memiliki banyak nilai.
BOOL Sinonim TINYINT(1), digunakan untuk menyimpan nilai Boolean
BINARY Mirip dengan CHAR; perbedaannya adalah teks disimpan dalam format biner.
VARBINER Mirip dengan VARCHAR; perbedaannya adalah teks disimpan dalam format biner.

Sekarang mari kita lihat sebuah query untuk membuat tabel yang menggunakan semua tipe data. Pelajari dan identifikasi bagaimana setiap tipe data didefinisikan dalam perintah `create table` di bawah ini. MySQL contoh.

CREATE TABLE `all_data_types` (
    `varchar` VARCHAR( 20 )  ,
    `tinyint` TINYINT  ,
    `text` TEXT  ,
    `date` DATE  ,
    `smallint` SMALLINT  ,
    `mediumint` MEDIUMINT  ,
    `int` INT  ,
    `bigint` BIGINT  ,
    `float` FLOAT( 10, 2 )  ,
    `double` DOUBLE  ,
    `decimal` DECIMAL( 10, 2 )  ,
    `datetime` DATETIME  ,
    `timestamp` TIMESTAMP  ,
    `time` TIME  ,
    `year` YEAR  ,
    `char` CHAR( 10 )  ,
    `tinyblob` TINYBLOB  ,
    `tinytext` TINYTEXT  ,
    `blob` BLOB  ,
    `mediumblob` MEDIUMBLOB  ,
    `mediumtext` MEDIUMTEXT  ,
    `longblob` LONGBLOB  ,
    `longtext` LONGTEXT  ,
    `enum` ENUM( '1', '2', '3' )  ,
    `set` SET( '1', '2', '3' )  ,
    `bool` BOOL  ,
    `binary` BINARY( 20 )  ,
    `varbinary` VARBINARY( 20 )
) ENGINE = MYISAM;

Praktik Terbaik untuk Membuat MySQL Basis Data

Beberapa konvensi akan menjaga agar naskah Anda tetap mudah dibaca:

  • Gunakan huruf kapital untuk kata kunci SQL, misalnya โ€œDROP SCHEMA IF EXISTS `MyFlixDB`;โ€
  • Akhiri semua perintah SQL Anda dengan menggunakan titik koma.
  • Hindari penggunaan spasi dalam nama skema, tabel, dan kolom. Gunakan garis bawah sebagai gantinya untuk memisahkan nama skema, tabel, atau kolom.
  • Lebih baik menggunakan InnoDB daripada MyISAM untuk tabel baru, karena InnoDB mendukung transaksi, penguncian tingkat baris, dan kunci asing.

Metode kueri sudah lengkap. Rute kedua mencapai basis data yang sama dari model visual, bukan dari SQL yang ditulis tangan.

Cara Membuat MySQL Diagram ER Meja Kerja Rekayasa Maju

MySQL Workbench memiliki utilitas yang mendukung rekayasa maju. Rekayasa maju adalah istilah teknis yang menggambarkan proses menerjemahkan model logis ke dalam implementasi fisik secara otomatis.

Kami membuat sebuah diagram UGD di kami Pemodelan UGD pelajaran. Sekarang kita akan menggunakan model ER tersebut untuk menghasilkan skrip SQL yang akan membuat basis data kita.

Membuat database MyFlix dari model MyFlix ER

Langkah 1) Buka model ER dari basis data MyFlix yang Anda buat sebelumnya.

Langkah 2) Pilih insinyur maju

Klik menu Database dan pilih Forward Engineer.

Pilih insinyur maju di MySQL Workbench

Langkah 3) Opsi koneksi

Jendela berikutnya memungkinkan Anda untuk terhubung ke sebuah instance dari MySQL server. Klik pada daftar tarik-turun koneksi yang tersimpan dan pilih host lokal. Klik Jalankan.

Opsi koneksi di wizard rekayasa maju

Langkah 4) Pilih opsi yang ditampilkan di bawah ini

Pilih opsi yang ditunjukkan di bawah ini pada wizard yang muncul. Klik Berikutnya.

Opsi rekayasa ke depan untuk basis data MyFlix

Langkah 5) Biarkan pilihan tetap default dan klik Berikutnya

Layar berikutnya menampilkan ringkasan objek dalam diagram EER kita. Database MyFlix kita memiliki 5 tabel. Biarkan pilihan tetap default dan klik Berikutnya.

Ringkasan objek dalam diagram EER MyFlix

Langkah 6) Revlihat skrip SQL

Jendela di bawah ini menampilkan pratinjau skrip SQL yang membuat basis data kita. Simpan skrip ke file *.sql atau salin ke clipboard, lalu klik Berikutnya.

Pratinjau skrip SQL yang dihasilkan

Langkah 7) Komitmenkan kemajuan

Jendela di bawah ini akan muncul setelah basis data dibuat pada lokasi yang dipilih. MySQL Instansi server. Tabel-tabel dari model ER sekarang ada secara fisik di server.

Jendela kemajuan komitmen rekayasa ke depan

Basis data beserta data contoh terlampir. Kita akan menggunakan basis data ini dalam pelajaran selanjutnya. Cukup impor saja. MySQL Meja kerja untuk memulai.

Klik Disini Untuk Mengunduh MyFlixDB

Pertanyaan Umum Demo Slot

Tidak ada perbedaan dalam MySQLCREATE SCHEMA adalah alias untuk CREATE DATABASE, dan keduanya membangun objek yang sama. Dalam sistem lain, seperti Oracle, skema dan basis data tetap merupakan konsep yang terpisah.

Jalankan DROP DATABASE IF EXISTS movies; dari klien atau dari MySQL WorkbenchPerintah ini akan menghapus basis data dan semua tabel di dalamnya secara permanen, jadi sebaiknya buat cadangan terlebih dahulu.

Akun tersebut memerlukan hak akses CREATE di tingkat global. Administrator memberikannya dengan perintah GRANT CREATE ON *.* TO 'user'@'localhost';. Tanpa hak akses tersebut, server akan menampilkan kesalahan akses ditolak.

Ya. Asisten AI mengubah deskripsi sederhana entitas Anda menjadi skrip CREATE TABLE dengan kunci dan tipe data. Selalu tinjau tipe, panjang, dan batasan yang dihasilkan sebelum menjalankan skrip di server produksi.

Fitur AI dalam klien basis data modern membaca data Anda. diagram UGD atau menanyakan riwayat dan menyarankan perbaikan normalisasi, kandidat indeks, dan koreksi tipe data. Saran-saran tersebut mempercepat tinjauan desain, tetapi setiap perubahan tetap disetujui oleh manusia.

Ringkaslah postingan ini dengan: