Bisakah kita mengubah tipe data kolom di mysql?

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

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 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 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
8 dapat menerapkan tiga jenis modifikasi pada kolom sekaligus

  1. Itu dapat mendefinisikan ulang tipe data dan batasan kolom
  2. Itu dapat mengganti nama kolom
  3. 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, Kendala, 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
Field			Type	Null	Key	Default	Extra
year_released	year	YES			NULL
_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 banyak 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

Apakah mungkin untuk mengubah tipe data kolom?

Anda dapat memodifikasi tipe data kolom di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL . Memodifikasi tipe data dari kolom yang sudah berisi data dapat mengakibatkan hilangnya data secara permanen saat data yang ada diubah menjadi tipe baru.

Bagaimana cara mengubah nama kolom dan tipe data di MySQL?

Masukkan perintah berikut di shell klien MySQL Anda untuk mengubah nama kolom dan definisinya. UBAH nama_tabel TABEL UBAH nama_kolom_lama nama_kolom_baru Jenis Data ; .

Bagaimana Anda mengubah tipe data bidang?

Ubah tipe data dalam tampilan Lembar Data . Pilih bidang (kolom) yang ingin Anda ubah. Pada tab Bidang, di grup Properti, klik tanda panah di daftar tarik-turun di samping Jenis Data, lalu pilih jenis data . Simpan perubahan Anda.

Bagaimana cara mengubah ukuran tipe data kolom di MySQL?

Dalam istilah umum, Anda menggunakan perintah ALTER TABLE diikuti dengan nama tabel, lalu perintah MODIFY diikuti dengan nama kolom dan tipe dan ukuran baru. Ini sebuah contoh. ALTER TABLE tablename MODIFY columnname VARCHAR(20) ;