Bài viết này sẽ chỉ ra cách thay đổi kiểu dữ liệu của các cột trong SQL Server 2019, MySQL Server và PostgreSQL.

Bạn đang xem : sql cách thay đổi kiểu dữ liệu

Bài viết này đề cập đến các truy vấn SQL khác nhau để thay đổi kiểu cột. Chúng ta sẽ tìm hiểu cách chúng ta có thể thay đổi kiểu dữ liệu của các cột của cơ sở dữ liệu sau:

  1. SQL Server 2019
  2. Máy chủ MySQL
  3. PostgreSQL

Truy vấn SQL để thay đổi loại cột trong cơ sở dữ liệu SQL Server

Chúng ta có thể sử dụng câu lệnh ALTER TABLE ALTER COLUMN để thay đổi loại cột của bảng. Cú pháp để
thay đổi loại cột như sau:

1

ALTER

BẢNG < / p>

[

tbl_name

]

ALTER

CỘT

[

col_name_1

]

[

DATA_TYPE < / p>

]

Trong cú pháp,

  • Tbl_name: Chỉ định tên bảng
  • Col_name: Chỉ định tên cột có kiểu dữ liệu bạn muốn thay đổi. Col_name phải được chỉ định sau từ khóa ALTER COLUMN
  • Kiểu dữ liệu: Chỉ định kiểu dữ liệu mới và độ dài của cột

Để minh họa, tôi đã tạo một bảng có tên tblStudent.

1

2

3

4

5

6

7

8

9

10

11

12

TẠO

BẢNG

[

dbo

]

.

[

tblstudent

]

(

[

id

]

[

INT

]

BẢN SẮC

(

1

,

1

)

KHÔNG

NULL

,

[

student_code

]

[

VARCHAR

]

(

20

)

KHÔNG

KHÔNG ĐỦ

,

[

student_firstname

]

[

VARCHAR

]

(

250

)

KHÔNG

KHÔNG ĐỦ

,

[

student_lastname

< p class = "crayon-sy">]

[

VARCHAR

]

(

10

)

< p class = "crayon-h">

KHÔNG

KHÔNG CÓ

,

< p class = "crayon-h">

[

địa chỉ

]

[

VARCHAR

]

(

max

)

NULL

,

[

city_code

]

[

VARCHAR

]

(

20

)

< p class = "crayon-h">

KHÔNG

KHÔNG ĐỦ

,

< p class = "crayon-h">

[

school_code

]

[

VARCHAR

]

(

20

)

NULL

,

[

tuyển sinh

]

[

DATETIME

]

KHÔNG ĐỦ

,

CONSTRAINT

[

PK_ID

]

CHÍNH

KEY

ĐÃ ĐIỀU CHỈNH

(

[

id

]

ASC

)

)

Giả sử bạn muốn thay đổi kiểu dữ liệu của [address] từ varchar (max) thành nvarchar (1500). Chạy truy vấn sau
để thay đổi loại cột.

1

Alter

bảng

tblstudent

alter

cột

địa chỉ

nvarchar

(

1500

)

Xác minh các thay đổi bằng cách chạy tập lệnh sau.

1

2

3

4

sử dụng

StudentDB

go

chọn

TABLE_SCHEMA

,

TABLE_NAME

,

COLUMN_NAME

,

DATA_TYPE

,

CHARACTER_MAXIMUM_LENGTH

từ

INFORMATION_SCHEMA

.

CỘT

đâu

table_name

=

‘tblStudent’

Như bạn có thể thấy, kiểu dữ liệu cột đã được thay đổi.

Lưu ý Quan trọng:

  1. Khi chúng ta giảm kích thước của cột, SQL Server sẽ kiểm tra dữ liệu của bảng và nếu độ dài của dữ liệu cao hơn độ dài mới, nó sẽ trả về cảnh báo và kết thúc câu lệnh
  2. Khi bạn thay đổi kiểu dữ liệu từ nvarchar thành varchar và cột chứa chuỗi Unicode, thì SQL Server trả về lỗi và kết thúc câu lệnh
  3. Không giống như MySQL, kiểu dữ liệu thay đổi của nhiều cột không được phép
  4. Bạn không thể thêm

    1. Ràng buộc NOT NULL nếu cột chứa các giá trị NULL
    2. Ràng buộc DUY NHẤT nếu cột có giá trị trùng lặp

Truy vấn SQL để thay đổi loại cột trong MySQL Server

Chúng ta có thể sử dụng câu lệnh ALTER TABLE MODIFY COLUMN để thay đổi kiểu dữ liệu của cột. Cú pháp để
thay đổi kiểu dữ liệu của cột đang theo sau.

Xem Thêm  4 phương pháp dễ dàng để nối nhiều chuỗi trong Python - python thêm hai chuỗi với nhau

1

2

3

ALTER

BẢNG

[

tbl_name

]

SỬA ĐỔI

CỘT

[

col_name_1

]

[

DATA_TYPE

]

,

SỬA CHỮA

[

col_name_2

]

[

data_type

]

,

SỬA CHỮA

[

col_name_3

]

[

data_type

< p class = "crayon-sy">]

Trong cú pháp,

  • Tbl_name: Chỉ định tên bảng có chứa cột mà bạn muốn thay đổi
  • Col_name: Chỉ định tên cột có kiểu dữ liệu bạn muốn thay đổi. Tên cột phải được chỉ định sau từ khóa MODIFY COLUMN. Chúng ta có thể thay đổi kiểu dữ liệu của nhiều cột. Khi chúng ta thay đổi kiểu dữ liệu của nhiều cột, mỗi cột phải được phân tách bằng dấu phẩy (,)
  • Kiểu dữ liệu: Chỉ định kiểu dữ liệu mới và độ dài của cột. Kiểu dữ liệu phải được chỉ định sau tên cột

Để minh họa, tôi đã tạo một bảng có tên tblactor trong DemoDatabase. Mã để tạo bảng như sau

1

2

3

4

5

6

7

8

9

tạo

bảng

tblactor

(

Actor_id

int

,

first_name

varchar

(

500

)

,

first_name

varchar

(

500

)

,

địa chỉ

varchar

(

500

)

,

CityID

int

,

cập nhật cuối cùng

datetime

)

Bây giờ, chúng ta hãy hiểu khái niệm này bằng cách sử dụng một vài ví dụ.

Ví dụ 1: Truy vấn SQL để thay đổi kiểu dữ liệu của một cột

Chúng tôi muốn thay đổi kiểu cột của cột địa chỉ từ varchar (500) thành kiểu dữ liệu TEXT. Chạy truy vấn sau để thay đổi kiểu dữ liệu.

1

mysql

& gt;

ALTER

BẢNG

tblActor

SỬA CHỮA

address

TEXT

Chạy truy vấn sau để xác minh các thay đổi:

1

mysql

& gt;

mô tả

tblactor

Như bạn có thể thấy, loại dữ liệu của cột địa chỉ đã được thay đổi thành TEXT .

Ví dụ 2: Truy vấn SQL để thay đổi kiểu dữ liệu của nhiều cột

Chúng ta có thể thay đổi kiểu dữ liệu của nhiều cột trong bảng. Trong ví dụ của chúng tôi, chúng tôi muốn thay đổi loại cột của first_name và last_name. Kiểu dữ liệu mới của các cột là varchar (200).

1

mysql

& gt;

ALTER

BẢNG

tblActor

SỬA CHỮA

first_name

TINYTEXT

,

sửa đổi

last_name

TINYTEXT

;

Chạy truy vấn sau để xác minh các thay đổi:

1

mysql

& gt;

mô tả

tblActor

Như bạn có thể thấy, kiểu dữ liệu của cột first_name và last_name đã được thay đổi thành TINYTEXT.

Ví dụ 3: Đổi tên cột trong MySQL Server

Để đổi tên các cột, chúng ta phải sử dụng câu lệnh ALTER TABLE CHANGE COLUMN . Giả sử bạn muốn đổi tên cột CityID thành CityCode , bạn phải thực hiện truy vấn sau.

1

mysql

& gt;

ALTER

BẢNG

tblActor

THAY ĐỔI

CỘT

CityID

Mã thành phố

int

Chạy lệnh description để xem những thay đổi trong cấu trúc bảng.

Xem Thêm  Python .sort () - Cách sắp xếp danh sách trong Python - cách sắp xếp một danh sách python

Như bạn có thể thấy, tên cột đã được thay đổi.

Truy vấn SQL để thay đổi kiểu cột trong cơ sở dữ liệu PostgreSQL

Chúng ta có thể sử dụng câu lệnh ALTER TABLE ALTER COLUMN để thay đổi kiểu dữ liệu của cột. Cú pháp để thay đổi kiểu dữ liệu của cột như sau.

1

2

3

ALTER

BẢNG

[

tbl_name

]

ALTER

CỘT

[

col_name_1

]

LOẠI

[

DATA_TYPE

]

,

ALTER

CỘT

[

col_name_2

]

LOẠI

[

data_type

]

,

ALTER

CỘT

[

col_name_3

]

LOẠI

[

data_type

]

Trong cú pháp,

  • Tbl_name: Chỉ định tên bảng có chứa cột mà bạn muốn thay đổi
  • Col_name: Chỉ định tên cột có kiểu dữ liệu bạn muốn thay đổi. Tên cột phải được chỉ định sau từ khóa ALTER COLUMN. Chúng ta có thể thay đổi kiểu dữ liệu của nhiều cột
  • Kiểu dữ liệu: Chỉ định kiểu dữ liệu mới và độ dài của cột. Loại dữ liệu phải được chỉ định sau từ khóa TYPE

Để minh họa, tôi đã tạo một bảng có tên tblmovies trong DemoDatabase. Mã để
tạo bảng như sau.

1

2

3

4

5

6

7

8

9

10

tạo

bảng

tblmovies

(

movie_id

int

,

Movie_Title

varchar

(

500

)

,

< / p>

Movie_director

TEXT

,

< / p>

Movie_Productioner

TEXT

,

< / p>

duraion

int

,

< / p>

Chứng chỉ

varchar

(

5

)

,

thuê

số < / p>

(

10

,

2

)

)

Bây giờ, chúng ta hãy hiểu khái niệm này bằng cách sử dụng một vài ví dụ.

Ví dụ 1: Truy vấn SQL để thay đổi kiểu dữ liệu của một cột

Chúng tôi muốn thay đổi kiểu cột của cột movie_id từ int4 thành kiểu dữ liệu int8 . Chạy truy vấn sau để thay đổi kiểu dữ liệu.

1

ALTER

BẢNG

tblmovies

ALTER

COLUMN

movie_id

LOẠI

LỚN

Chạy truy vấn sau để xác minh các thay đổi:

1

2

3

4

5

6

7

8

9

10

CHỌN

table_catalog

,

table_name

,

< p class = "crayon-i"> column_name

,

udt_name

< p class = "crayon-sy">,

character_maximum_length

TỪ

information_schema

.

cột

WHERE

table_name

=

< p class = "crayon-s"> ‘tblmovies’

;

Như bạn có thể thấy, loại dữ liệu của cột movie_id đã được thay đổi thành int8 .

Ví dụ 2: Truy vấn SQL để thay đổi kiểu dữ liệu của nhiều cột

Chúng ta có thể thay đổi kiểu dữ liệu của nhiều cột trong bảng. Trong ví dụ của chúng tôi, chúng tôi muốn thay đổi loại cột của movie_title và movie_director . Loại dữ liệu mới của các cột movie_title là TEXT và mới
loại dữ liệu của movie_producer là varchar (2000).

1

ALTER

BẢNG

tblmovies

ALTER

COLUMN

movie_title

LOẠI

văn bản

,

ALTER

< p class = "crayon-k"> CỘT

movie_producer

LOẠI

varchar

(

2000

)

;

Chạy truy vấn sau để xác minh các thay đổi:

1

2

3

4

5

6

7

8

9

10

CHỌN

table_catalog

,

table_name

,

< p class = "crayon-i"> column_name

,

udt_name

< p class = "crayon-sy">,

character_maximum_length

TỪ

information_schema

.

cột

WHERE

table_name

=

< p class = "crayon-s"> ‘tblmovies’

;

Như bạn có thể thấy, kiểu dữ liệu của cột movie_title là TEXT và kiểu dữ liệu của movie_producer là varchar (2000).

Xem Thêm  Full Stack là gì? Làm thế nào để trở thành một nhà phát triển ngăn xếp đầy đủ - full stack nghĩa là gì

Tóm tắt

Trong bài viết này, chúng ta đã tìm hiểu cách thay đổi kiểu dữ liệu của các cột trong SQL Server 2019, MySQL Server và PostgreSQL.


Xem thêm những thông tin liên quan đến chủ đề sql cách thay đổi kiểu dữ liệu

Hướng dẫn lưu thay đổi các cột của bảng trong SQLServer.

  • Tác giả: thân triệu
  • Ngày đăng: 2017-11-30
  • Đánh giá: 4 ⭐ ( 8390 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn thực hiện cho phép lưu lại thay đổi nội dung các thuộc tính, kiểu dữ liệu sau khi sửa đổi và tạo bảng. sửa lỗi saving changes is not permitted. the changes you have made…

Các kiểu dữ liệu trong SQL

  • Tác giả: nq.com.vn
  • Đánh giá: 4 ⭐ ( 1891 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Sửa đổi kiểu dữ liệu hoặc kích thước của cột trong SQL Server

  • Tác giả: kcntt.duytan.edu.vn
  • Đánh giá: 5 ⭐ ( 9226 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Cú pháp:

    ALTER TABLE  table_name

         ALTER COLUMN   ColName  DataType [(p [, s])] [NULL| NOT NULL]

    Ví dụ: Sửa lại kích thước cột tên nhân viên (Name) thành 25 ký tự

                ALTER TABLE NhanVien  ALTER COLUMN  HoTenNV  char(25)

    Chú ý: Không thể sửa cột:

    – Có kiểu…

MySQL thay đổi kiểu dữ liệu của cột trên bảng

  • Tác giả: www.codehub.com.vn
  • Đánh giá: 4 ⭐ ( 7632 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Em có một cơ sở dữ liệu MySQL với một bảng tên là oc_products và trên bảng oc_products này đang dùng một cột có tên là price với dữ liệu là INT(11) để lưu giá của s…

Các kiểu dữ liệu trong SQL và những thông tin cần biết

  • Tác giả: bizflycloud.vn
  • Đánh giá: 4 ⭐ ( 3517 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: SQL Server đang dần trở nên ưa chuộng bởi người dùng trong công nghệ hiện nay. Vì vậy hãy cùng Bizfly Cloud tìm hiểu về các kiểu dữ liệu trong SQL qua bài viết này nhé!

Thay Đổi Kiểu Dữ Liệu Trong Sql Server? Lệnh Alter Table Trong Sql Server

  • Tác giả: jdomain.vn
  • Đánh giá: 5 ⭐ ( 8929 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Dẫn nhậpTrong bài lần trước, chúng ta đã tìm hiểu các KHỞI TẠO DATABASE TRONG SQL và một số lưu ý liên quan trong quá trình sử dụngSQL MANAGEMENT STUDIO, Trong bài này, Kteam sẽ hướng dẫn bạn thao tác TẠO, XÓA, SỬA TABLE TRONG SQL

[SQLSERVER] Hướng dẫn chuyển đổi định dạng kiểu Date Time

  • Tác giả: laptrinhvb.net
  • Đánh giá: 5 ⭐ ( 8101 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài viết hôm nay, mình sẽ giới thiệu đến các bạn hàm

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php