Hanya karena Anda membuat kolom MySQL satu jenis atau ukuran tidak berarti harus tetap seperti itu. Mengubah jenis atau ukuran kolom dalam database yang sudah ada sangatlah mudah.
Mengubah Ukuran dan Jenis Kolom Database
Anda mengubah ukuran atau jenis kolom di MySQL menggunakan perintah ALTER TABLE dan MODIFY secara bersamaan untuk melakukan perubahan.
Katakanlah, misalnya, Anda memiliki kolom bernama "Negara Bagian" pada tabel bernama "Alamat" dan sebelumnya Anda mengaturnya untuk menampung dua karakter, mengharapkan orang untuk menggunakan singkatan status 2 karakter. Anda menemukan bahwa beberapa orang memasukkan seluruh nama, bukan singkatan 2 karakter, dan Anda ingin mengizinkan mereka melakukan ini. Anda perlu membuat kolom ini lebih besar agar nama negara bagian lengkap bisa masuk. Inilah cara Anda melakukannya
ALTER TABLE address MODIFY state VARCHAR(20) ;
Dalam istilah umum, Anda menggunakan perintah ALTER TABLE diikuti dengan nama tabel, lalu perintah MODIFY diikuti dengan nama kolom serta jenis dan ukuran baru. Ini sebuah contoh
ALTER TABLE tablename MODIFY columnname VARCHAR(20) ; _Lebar maksimum kolom ditentukan oleh angka dalam tanda kurung. Jenis ini diidentifikasi oleh VARCHAR sebagai bidang karakter variabel
Tentang VARCHAR
VARCHAR(20) dalam contoh dapat berubah menjadi angka berapa pun yang sesuai untuk kolom Anda. VARCHAR adalah string karakter dengan panjang variabel. Panjang maksimum—dalam contoh ini adalah 20—menunjukkan jumlah maksimum karakter yang ingin Anda simpan di kolom. VARCHAR(25) dapat menyimpan hingga 25 karakter
Kegunaan Lain untuk ALTER TABLE
Perintah ALTER TABLE juga dapat digunakan untuk menambahkan kolom baru ke tabel atau menghapus seluruh kolom dan semua datanya dari tabel. Misalnya untuk menambahkan kolom, gunakan
ALTER TABLE table_name ADD column_name datatypeUntuk menghapus kolom, gunakan
ALTER TABLE table_name DROP COLUMN column_nameKutip Artikel ini
Format
Kutipan Anda
Bradley, Angela. "Cara Mengubah Ukuran Kolom atau Ketik di MySQL. "PikirCo. https. // www. thinkco. com/change-columns-size-type-in-mysql-2693875 (diakses 6 Februari 2023)
Desain basis data seringkali berulang, dengan persyaratan berubah dan desain awal disesuaikan kembali. MySQL adalah RDBMS tangguh yang memungkinkan modifikasi kolom tabel yang ada/dideklarasikan dengan kata kunci id name year_released 1 python 1991 2 c++ 1985 3 Java 1995 ----------------------------------------------------------------------------------------- Field Type Null Key Default Extra year_released varchar(5) YES NULL 4
Tutorial ini mengilustrasikan penggunaan kata kunci id name year_released 1 python 1991 2 c++ 1985 3 Java 1995 ----------------------------------------------------------------------------------------- Field Type Null Key Default Extra year_released varchar(5) YES NULL _4 untuk memodifikasi tipe data, kendala, atau properti kolom yang ada di database id name year_released 1 python 1991 2 c++ 1985 3 Java 1995 ----------------------------------------------------------------------------------------- Field Type Null Key Default Extra year_released varchar(5) YES NULL 6
Kata kunci id name year_released 1 python 1991 2 c++ 1985 3 Java 1995 ----------------------------------------------------------------------------------------- Field Type Null Key Default Extra year_released varchar(5) YES NULL 4 dapat digabungkan dengan kata kunci lain untuk mencapai modifikasi yang diperlukan. Di MySQL, kata kunci id name year_released 1 python 1991 2 c++ 1985 3 Java 1995 ----------------------------------------------------------------------------------------- Field Type Null Key Default Extra year_released varchar(5) YES NULL _8 adalah ekstensi utama untuk SQL standar
Namun, kata kunci id name year_released 1 python 1991 2 c++ 1985 3 Java 1995 ----------------------------------------------------------------------------------------- Field Type Null Key Default Extra year_released varchar(5) YES NULL _9 adalah ekstensi yang tersedia demi kompatibilitas dengan Oracle
Kata kunci ________6______8 atau id name year_released 1 python 1991 2 c++ 1985 3 Java 1995 ----------------------------------------------------------------------------------------- Field Type Null Key Default Extra year_released varchar(5) YES NULL 9 mencapai hasil yang sama, dengan sedikit trade-off dalam hal kenyamanan sintaks dan ketahanan. Untuk mengilustrasikan konsep ini, mari kita buat database -- changing the datatype of year_released from VARCHAR to YEAR ALTER TABLE Details CHANGE year_released year_released YEAR; DESCRIBE Details year_released; -- Running again, to confirm changes 2 dengan tabel bernama -- changing the datatype of year_released from VARCHAR to YEAR ALTER TABLE Details CHANGE year_released year_released YEAR; DESCRIBE Details year_released; -- Running again, to confirm changes 3
/* Here goes the definition of the database */ CREATE DATABASE programming_languages; USE programming_languages; -- Creating a details table CREATE TABLE Details( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(25) UNIQUE, year_released VARCHAR (5), PRIMARY KEY(id) ); -- Populating Details with information INSERT INTO Details (name, year_released) VALUES ('python', 1991),('c++', 1985),('Java', 1995); SELECT * FROM Details ORDER BY id; DESCRIBE Details year_released; -- Checking the column information
Keluaran
id name year_released 1 python 1991 2 c++ 1985 3 Java 1995 ----------------------------------------------------------------------------------------- Field Type Null Key Default Extra year_released varchar(5) YES NULL _
Mari kita ubah kolom -- changing the datatype of year_released from VARCHAR to YEAR ALTER TABLE Details CHANGE year_released year_released YEAR; DESCRIBE Details year_released; -- Running again, to confirm changes 4 untuk menerapkan tipe data -- changing the datatype of year_released from VARCHAR to YEAR ALTER TABLE Details CHANGE year_released year_released YEAR; DESCRIBE Details year_released; -- Running again, to confirm changes 5 alih-alih -- changing the datatype of year_released from VARCHAR to YEAR ALTER TABLE Details CHANGE year_released year_released YEAR; DESCRIBE Details year_released; -- Running again, to confirm changes 6
Gunakan Kata Kunci -- changing the datatype of year_released from VARCHAR to YEAR ALTER TABLE Details CHANGE year_released year_released YEAR; DESCRIBE Details year_released; -- Running again, to confirm changes _7 untuk Memodifikasi Tipe Data, Kendala, atau Properti Kolom Tunggal dalam Tabel Database MySQL
Kata kunci id name year_released 1 python 1991 2 c++ 1985 3 Java 1995 ----------------------------------------------------------------------------------------- Field Type Null Key Default Extra year_released varchar(5) YES NULL 8 dapat menerapkan tiga jenis modifikasi pada kolom sekaligus
- Itu dapat mendefinisikan ulang tipe data dan batasan kolom
- Itu dapat mengganti nama kolom
- Itu dapat mengatur ulang kolom dalam tabel dengan kata kunci -- changing the datatype of year_released from VARCHAR to YEAR ALTER TABLE Details CHANGE year_released year_released YEAR; DESCRIBE Details year_released; -- Running again, to confirm changes 9 atau Field Type Null Key Default Extra year_released year YES NULL 0
Saat menggunakan pernyataan Field Type Null Key Default Extra year_released year YES NULL 1, sertakan definisi dan batasan kolom awal untuk memastikannya tercermin dalam kolom yang dimodifikasi. Misalnya, jika sebuah kolom memiliki batasan Field Type Null Key Default Extra year_released year YES NULL _2, kolom tersebut harus ditentukan ulang dalam pernyataan Field Type Null Key Default Extra year_released year YES NULL 1
-- changing the datatype of year_released from VARCHAR to YEAR ALTER TABLE Details CHANGE year_released year_released YEAR; DESCRIBE Details year_released; -- Running again, to confirm changes
Keluaran
Field Type Null Key Default Extra year_released year YES NULL
Perhatikan bagaimana nama kolom target dimasukkan dua kali. Ini adalah ketidaknyamanan sintaks menggunakan id name year_released 1 python 1991 2 c++ 1985 3 Java 1995 ----------------------------------------------------------------------------------------- Field Type Null Key Default Extra year_released varchar(5) YES NULL _8, karena mengharapkan nama kolom yang dimodifikasi akan ditentukan
Kami menentukan ulang nama sebagai -- changing the datatype of year_released from VARCHAR to YEAR ALTER TABLE Details CHANGE year_released year_released YEAR; DESCRIBE Details year_released; -- Running again, to confirm changes 4 untuk mempertahankan nama kolom asli. Namun, ketidaknyamanan yang seharusnya ini menjadi efisien ketika ada persyaratan untuk mengubah baik properti maupun nama kolom
Kemudian, operasi semacam itu dapat dijalankan di baris yang sama
Misalnya, mari kita ubah nama kolom menjadi Field Type Null Key Default Extra year_released year YES NULL 6 dan sertakan batasan Field Type Null Key Default Extra year_released year YES NULL 2 dan Field Type Null Key Default Extra year_released year YES NULL 8
-- Altering YET AGAIN ALTER TABLE Details CHANGE year_released year_of_release YEAR NOT NULL DEFAULT '1990'; DESCRIBE Details year_of_release;
Keluaran
Field Type Null Key Default Extra year_of_release year NO 1990
Meskipun ini berhasil, pendekatan yang disarankan untuk mengubah nama kolom adalah dengan kata kunci Field Type Null Key Default Extra year_released year YES NULL 9. -- Altering YET AGAIN ALTER TABLE Details CHANGE year_released year_of_release YEAR NOT NULL DEFAULT '1990'; DESCRIBE Details year_of_release; _0 hanya membutuhkan nama kolom saat ini/lama dan nama baru
ALTER TABLE Details RENAME COLUMN year_of_release TO year_released; DESCRIBE Details year_released; -- Viewing changes
Keluaran
Field Type Null Key Default Extra year_released year NO 1990
Untuk detail tambahan tentang penggunaan kata kunci id name year_released 1 python 1991 2 c++ 1985 3 Java 1995 ----------------------------------------------------------------------------------------- Field Type Null Key Default Extra year_released varchar(5) YES NULL _8, lihat dokumentasi resmi ini
Gunakan Kata Kunci -- Altering YET AGAIN ALTER TABLE Details CHANGE year_released year_of_release YEAR NOT NULL DEFAULT '1990'; DESCRIBE Details year_of_release; _2 untuk Memodifikasi Tipe Data, Batasan, atau Properti Kolom Tunggal di Tabel Database MySQL
Kata kunci id name year_released 1 python 1991 2 c++ 1985 3 Java 1995 ----------------------------------------------------------------------------------------- Field Type Null Key Default Extra year_released varchar(5) YES NULL _9 alternatif menawarkan fungsionalitas yang sama dengan kata kunci id name year_released 1 python 1991 2 c++ 1985 3 Java 1995 ----------------------------------------------------------------------------------------- Field Type Null Key Default Extra year_released varchar(5) YES NULL 8, tetapi tidak mendukung penggantian nama kolom dalam ekspresinya. Untuk mengganti nama kolom, gabungkan kata kunci id name year_released 1 python 1991 2 c++ 1985 3 Java 1995 ----------------------------------------------------------------------------------------- Field Type Null Key Default Extra year_released varchar(5) YES NULL _9 dengan kata kunci ________24______9 seperti yang dijelaskan sebelumnya
Kali ini, mari kita definisikan ulang kolom -- Altering YET AGAIN ALTER TABLE Details CHANGE year_released year_of_release YEAR NOT NULL DEFAULT '1990'; DESCRIBE Details year_of_release; 7 untuk menerima -- changing the datatype of year_released from VARCHAR to YEAR ALTER TABLE Details CHANGE year_released year_released YEAR; DESCRIBE Details year_released; -- Running again, to confirm changes 6 dari tiga puluh (30) karakter dengan batasan Field Type Null Key Default Extra year_released year YES NULL 2
-- Altering with MODIFY ALTER TABLE Details MODIFY name VARCHAR(30) NOT NULL DEFAULT 'None'; DESCRIBE Details name;
Keluaran
Field Type Null Key Default Extra name varchar(30) NO UNI None
Perhatikan bagaimana kendala Field Type Null Key Default Extra year_of_release year NO 1990 0 dibawa ke kolom yang diubah. Batasan seperti Field Type Null Key Default Extra year_of_release year NO 1990 1 atau Field Type Null Key Default Extra year_of_release year NO 1990 0 tidak memerlukan spesifikasi ulang
Sekarang, mari kita ganti nama kolom menjadi Field Type Null Key Default Extra year_of_release year NO 1990 3 dan izinkan Field Type Null Key Default Extra year_of_release year NO 1990 4 nilai dengan menggabungkan kata kunci id name year_released 1 python 1991 2 c++ 1985 3 Java 1995 ----------------------------------------------------------------------------------------- Field Type Null Key Default Extra year_released varchar(5) YES NULL 9 dengan Field Type Null Key Default Extra year_released year YES NULL 9
id name year_released 1 python 1991 2 c++ 1985 3 Java 1995 ----------------------------------------------------------------------------------------- Field Type Null Key Default Extra year_released varchar(5) YES NULL _0
Keluaran
id name year_released 1 python 1991 2 c++ 1985 3 Java 1995 ----------------------------------------------------------------------------------------- Field Type Null Key Default Extra year_released varchar(5) YES NULL _1
Gunakan Kata Kunci id name year_released 1 python 1991 2 c++ 1985 3 Java 1995 ----------------------------------------------------------------------------------------- Field Type Null Key Default Extra year_released varchar(5) YES NULL _4 untuk Memodifikasi Tipe Data, Kendala, atau Properti dari Beberapa Kolom di Tabel Database MySQL
Metode yang diilustrasikan sebelumnya juga berlaku untuk beberapa kolom. Namun, pernyataan id name year_released 1 python 1991 2 c++ 1985 3 Java 1995 ----------------------------------------------------------------------------------------- Field Type Null Key Default Extra year_released varchar(5) YES NULL _9 atau id name year_released 1 python 1991 2 c++ 1985 3 Java 1995 ----------------------------------------------------------------------------------------- Field Type Null Key Default Extra year_released varchar(5) YES NULL 8 diulang berdasarkan jumlah kolom yang akan diubah