CSV → SQL
붙여넣은 표를, 바로 실행할 수 있는 형태로.
예제는 입력과 설정을 일시적으로 바꿉니다. 이전 작업을 복원할 수 있습니다.
0자
출력
위에 붙여넣거나 입력하면 여기에 결과가 표시됩니다.
파일은 내 기기 밖으로 나가지 않습니다
이 도구는 브라우저 안에서만 작동합니다. 붙여넣은 내용은 기기에서 처리되고 서버로 전송되지 않으므로 토큰, 키, 공개 전 문서도 안심하고 사용할 수 있습니다.
사용 예시
사용 예제 — CSV → SQL
입력 줄을 순서대로 입력하고 아래 설정을 사용하세요. 결과를 출력 줄과 비교하세요.
| 항목 | 값 |
|---|---|
| 입력 1 | name,age |
| 입력 2 | Ada,36 |
| 입력 3 | Lin,28 |
| 테이블 이름 | people |
| 구분 문자 | 자동 판별 |
| 첫 줄은 열 이름 | 켜짐 |
| CREATE TABLE 도 출력 | 켜짐 |
| 식별자 감싸기 | 감싸지 않음 |
| 출력 1 | CREATE TABLE people ( |
| 출력 2 | name VARCHAR(16), |
| 출력 3 | age INTEGER |
| 출력 4 | ); |
| 출력 5 | INSERT INTO people (name, age) VALUES |
| 출력 6 | ('Ada', 36), |
| 출력 7 | ('Lin', 28); |
스크립트는 people을 만들고 두 행을 삽입하도록 생성됩니다. 이름은 따옴표로 감싸고 나이는 정수입니다. 데이터베이스에 연결하지 않습니다.
사용 방법
- CSV 나 TSV 를 붙여넣습니다. 스프레드시트에서 그대로 복사한 것도 됩니다.
- 테이블 이름을 정합니다. 필요하면 식별자 감싸는 방식도 고릅니다.
- 새 표라면 CREATE TABLE 을 켠 채로, 기존 표에 넣으려면 끕니다.
- SQL 을 복사해 실행합니다. 실행 전에 한 번 읽어 보세요.
자주 묻는 질문
- 열의 자료형은 어떻게 정하나요?
- 열에서 비어 있지 않은 셀을 모두 확인합니다. 02139 같은 우편번호는 앞자리 0을 보존하도록 텍스트로 처리합니다. 정수에는 INTEGER를, 더 큰 정수에는 BIGINT 또는 DECIMAL을 사용합니다. 소수의 정밀도와 소수 자릿수는 입력값에 맞춥니다. 필요한 정밀도가 38자리를 넘으면 텍스트로 처리합니다. 2024-02-29처럼 유효한 ISO 날짜는 DATE가 되며, 날짜와 일반 텍스트가 섞인 열은 텍스트로 남습니다.
- 값은 이스케이프되나요?
- 값 안의 작은따옴표는 두 번 겹칩니다. 어느 방언에서나 통하는 이스케이프입니다. 빈 칸은 빈 문자열이 아니라 NULL 이 됩니다. 내 데이터에 내가 직접 실행할 파일이라면 이것이 맞는 형태입니다.
- 폼이나 API 에서 온 데이터에 써도 되나요?
- 안전하지 않습니다. 여기서 나오는 것은 플레이스홀더가 아니라 리터럴이고, 내가 입력하지 않은 값으로 이렇게 문을 만드는 것이 바로 SQL 인젝션이 일어나는 방식입니다. 자동화한다면 드라이버의 파라미터를 쓰세요.
- 왜 여러 행을 묶나요?
- 100행을 한 문으로 넣는 편이 100개의 문보다 훨씬 빠르고, 읽을 수 있는 크기로도 남기 때문입니다. 하나씩 실행하고 싶으면 한 줄로 바꾸세요.
- 입력한 내용이 어디로 전송되나요?
- 아니요. 브라우저 안에서 동작하므로 붙여넣은 내용은 내 컴퓨터를 떠나지 않습니다.