---
title: "Chuyển CSV sang Oracle"
description: "Chuyển tệp CSV sang SQL cho Oracle ngay trong trình duyệt: CREATE TABLE có kiểu cột, rồi INSERT. Miễn phí, tệp không bao giờ được tải lên."
canonical: https://intosql.com/vi/csv-sang-oracle
last_updated: 2026-10-15
---

# Chuyển CSV sang Oracle

Thả tệp CSV để nhận tập lệnh Oracle với câu lệnh CREATE TABLE và INSERT. Mỗi cột được gán kiểu, và mọi bản sửa đều được liệt kê kèm hàng và cột.

## Từ CSV sang Oracle, từng cột một

Tệp mẫu ở trên, ventas_2024.csv, khi IntoSQL viết cho Oracle: mỗi cột chứa gì trong tệp, kiểu dữ liệu nhận được và giá trị đầu tiên xuất hiện thế nào trong tập lệnh.

| Trong tệp | Giá trị đầu tiên | Cột | Kiểu Oracle | Trong tập lệnh |
| --- | --- | --- | --- | --- |
| Folio | `00412` | `folio` | `VARCHAR2(8 CHAR)` | `'00412'` |
| Cliente | `Peña Muñoz` | `cliente` | `VARCHAR2(16 CHAR)` | `'Peña Muñoz'` |
| Ciudad | `Mérida` | `ciudad` | `VARCHAR2(16 CHAR)` | `'Mérida'` |
| Fecha | `15/02/2024` | `fecha` | `DATE` | `DATE '2024-02-15'` |
| Importe | `1.234,50` | `importe` | `NUMBER(6,2)` | `1234.50` |
| Pagado | `sí` | `pagado` | `NUMBER(1)` | `1` |

## Nạp tập lệnh vào Oracle

Tệp tải xuống là một tệp .sql thông thường. Chạy nó bằng công cụ riêng của Oracle.

### Oracle

```shell
sqlplus user@//localhost/mydb @ventas_2024.oracle.sql
```

Tập lệnh tắt biến thay thế (SET DEFINE OFF), nên dấu & trong dữ liệu vẫn là dấu &. Trong SQL Developer, mở tập lệnh và chọn Run Script (F5).

## IntoSQL đọc gì trong tệp CSV

- Bảng mã được nhận diện, kể cả Windows-1252 và UTF-16, nên dấu và ký tự ñ được giữ nguyên.
- Dấu phân cách được nhận diện: dấu phẩy, dấu chấm phẩy, tab hoặc thanh dọc. Với dấu chấm phẩy, dấu phẩy thập phân như 1.234,50 được đọc là số.
- Giá trị trong dấu ngoặc kép có thể chứa dấu phân cách và xuống dòng.

## Những điều cần biết về Oracle

- Giá trị có và không trở thành NUMBER(1), chứa 1 hoặc 0, mà mọi phiên bản Oracle đều chấp nhận.
- Văn bản là VARCHAR2 với độ dài tính theo ký tự; trên 4000 byte sẽ thành CLOB. Oracle lưu văn bản rỗng là NULL.
- Các hàng được chèn bằng INSERT ALL, và giá trị dài được chia nhỏ để SQL*Plus chấp nhận.

### Cách mỗi loại giá trị được lưu trong Oracle

| Giá trị | Oracle |
| --- | --- |
| Có và không | `NUMBER(1)` |
| Số nguyên | `NUMBER(10)` |
| Số nguyên lớn | `NUMBER(19)` |
| Số thập phân | `NUMBER(p,s)` |
| Số dấu phẩy động | `BINARY_DOUBLE` |
| Ngày | `DATE` |
| Giờ trong ngày | `INTERVAL DAY(0) TO SECOND` |
| Ngày kèm giờ | `TIMESTAMP` |
| Ngày kèm giờ và độ lệch múi giờ | `TIMESTAMP WITH TIME ZONE` |
| Văn bản | `VARCHAR2(n CHAR) · CLOB` |

## Câu hỏi về CSV sang Oracle

### Làm sao để chuyển CSV sang Oracle?

Thả tệp vào trình chuyển đổi ở đầu trang này. Nó tìm tiêu đề, đọc mọi giá trị và viết tập lệnh Oracle, kèm danh sách từng bản sửa. Tải tập lệnh xuống và chạy bằng SQL*Plus.

### Nếu CSV của tôi dùng dấu chấm phẩy hoặc tab thì sao?

Dấu phân cách được tự nhận diện: dấu phẩy, dấu chấm phẩy, tab hoặc thanh dọc. Bạn cũng có thể đặt nó trong Tùy chọn khác. Với dấu chấm phẩy, số thập phân dùng dấu phẩy như 1.234,50 được đọc là số.

### Nó dùng những kiểu Oracle nào?

Giá trị có/không thành NUMBER(1), số nguyên thành NUMBER(10), số thập phân thành NUMBER(p,s), ngày thành DATE, ngày kèm giờ thành TIMESTAMP và văn bản thành VARCHAR2(n CHAR). Kích thước lấy theo giá trị dài nhất trong mỗi cột.

### Số 0 ở đầu có được giữ trong Oracle không?

Có. Một mã như 00412 vẫn là văn bản, nên Oracle lưu nó dưới dạng VARCHAR2(8 CHAR) và tập lệnh viết nó là '00412'.

### Có thể nạp dữ liệu vào Oracle mà không cần tập lệnh không?

Không. Hãy tải tập lệnh xuống và chạy bằng SQL*Plus. Nạp không cần tập lệnh hoạt động với PostgreSQL, MySQL, MariaDB và SQLite, từ ứng dụng máy tính hoặc dòng lệnh.

### Tệp CSV có thể lớn đến đâu?

Trình duyệt đọc CSV theo luồng, nên tệp vài gigabyte vẫn chạy được. Trên laptop Apple M4, dòng lệnh chuyển đổi CSV 174 MB với một triệu hàng trong chưa đầy một giây.

## CSV sang các cơ sở dữ liệu khác

- [Chuyển CSV sang SQL](https://intosql.com/vi/csv-sang-sql)
- [Chuyển CSV sang PostgreSQL](https://intosql.com/vi/csv-sang-postgresql)
- [Chuyển CSV sang MySQL](https://intosql.com/vi/csv-sang-mysql)
- [Chuyển CSV sang MariaDB](https://intosql.com/vi/csv-sang-mariadb)
- [Chuyển CSV sang SQLite](https://intosql.com/vi/csv-sang-sqlite)
- [Chuyển CSV sang SQL Server](https://intosql.com/vi/csv-sang-sql-server)

## Các tệp khác sang Oracle

- [Chuyển Excel sang Oracle](https://intosql.com/vi/excel-sang-oracle)
- [Chuyển JSON sang Oracle](https://intosql.com/vi/json-sang-oracle)
