[PHP] 엑셀에서 mysql 로 변경

[PHP] 엑셀에서 mysql 로 변경

작성일 2005.10.19댓글 1건
    게시물 수정 , 삭제는 로그인 필요

그동안 ASP 냐 PHP 냐 하고 의견분분하던 데이터 베이스 작업이 PHP 로 일단 결말이 났습니다. ASP로 대비했던 제가 고달파 지는건 자명한 사실인데, 어쩌겠습니까, 그렇게 결과가 난 것을.

제가 드림위버 없이는 아무것도 못 하는(사실은 안 할려고 하는) 디자이너 인지라 드림위버 MX 의 데이터베이스 연동기능만을 믿고 있어서 책도 사고 했는데 하다 보니 문득 떠오는 의문...

데이터베이스 테이블을 어떻게 짜야하는 가에 대해서 입니다. html 을 코딩하다보니 데이터 베이스에 있는 값을 불러와야 하는게 생각보다 많은데 이걸 어떻게 해야하는지 몇가지 의문이 있습니다.

1. 한개의 php 에서 2~3개(혹은 그 이상)의 테이블 값을 불러오는게 가능한가요? 예를 들어 페이지의 제목은 title 라는 테이블의 name 필드에서, 내용은 contents 라는 테이블의 name 필드에서 이렇게 되면 여러개의 레코드셋을 가져와야 하니까 로딩속도가 느려지지 않을까요??

컬럼수가 작은 여러개의 테이블을 붙이는 게 좋은지, 컬럼수가 많아도 한개의 테이블에서 불러오는게 좋은지 조언 부탁 드립니다.

지금 생각에는 제가 처음 해보는 거라 그냥 테이블 하나에서 모든 값을 다 붙여넣으려고 하고 나서 나중에 데이터 베이스를 나눌려고 하거든요, 앞으로 데이터 베이스 작업을 할때 엑셀에서 데이터베이스 테이블의 모양을 대충 만들고 그 다음에 전환하는 방법은 괜찮나요??


2. php 안의 테이블(테이블 태그안에 있는)에 있는 내용이 들어가는데 그 내용을 텍스트가 아니라 html 코드로 데이터베이스에 저장을 할수 있나요? 예를 들어

이런거 보내도 되나요?


이런 내용을 데이터베이스에 저장을 할 수 있는지? 저장을 할수 있다면 어떤 타입(텍스트, 숫자 등등)으로 정의를 해야 하는지?


3. 일단 데이터베이스 내용을 엑셀로 정리 해 둔 파일이 있습니다. 이걸 mysql 데이터베이스로 전환을 하려면 어떻게 해야 하나요? 들리는 소문에 의하면 엑셀 데이터를 변환을 해도 데이터베이스에는 직접 입력을 못 한다고 하던데 지금 엑셀로 만들어진 파일이 워낙에 많아서 엑셀에 있는 걸 그대로 가져와야 하거든요. 엑셀에 보니까 셀서식에 텍스트 숫자, 시간 등등이 있는 걸로 봐서 데이터베이스 데이터 타입의 텍스트, 메모, 숫자하고 같은 기능인거 같은데 엑셀을 데이터 베이스로 변경할 때 제대로 하려면 어떻게 해야 할까요??

4. 엑셀파일을 mysql 로 전환을 하려면 CSV 확장자 파일로 바꾸고 나서 형식이 같아야 한다고 하는데 엑셀 파일의 셀서식에 보면 있는 텍스트, 숫자 형식과 mysql 의 형식이 같아야 한다는 건가요??


일단 제가 왕초보여서 다른 분들이 보시기에는 "얘, 바보 아냐??" 라는 질문이 될 수도 있지만 정말 간절히 궁금하네요.....



profile_image 익명 작성일 -

1. 한개의 php 에서 2~3개(혹은 그 이상)의 테이블 값을 불러오는게 가능한가요? 예를 들어 페이지의 제목은 title 라는 테이블의 name 필드에서, 내용은 contents 라는 테이블의 name 필드에서 이렇게 되면 여러개의 레코드셋을 가져와야 하니까 로딩속도가 느려지지 않을까요?? 컬럼수가 작은 여러개의 테이블을 붙이는 게 좋은지, 컬럼수가 많아도 한개의 테이블에서 불러오는게 좋은지 조언 부탁 드립니다.

- 답변 : 우선 여러개의 테이블에서 쿼리를 하시려면 테이블 join 을 하시면 됩니다.
간단히 예를 들어서 위 질문에 title 테이블과 contents 테이블의 인덱스 필드인 no 필드에 같은 값이 저장이 된다고 하면...

select t.name , c.name from title t left join contents c using (no)

위와 같이 하시면 꼭 하나의 테이블에서 정보를 가져오는 것과 같은 효과가 나오게 됩니다. 하지만 추가 질문 하신 것 처럼 위의 예처럼 하실 바엔 그냥 테이블 하나로 통합하시는 것이 좋습니다. 테이블을 join 하게 되면 테이블 하나를 사용하는 것보다 무조건 느르게 된답니다...^^

2. php 안의 테이블(테이블 태그안에 있는)에 있는 내용이 들어가는데 그 내용을 텍스트가 아니라 html 코드로 데이터베이스에 저장을 할수 있나요? 저장을 할수 있다면 어떤 타입(텍스트, 숫자 등등)으로 정의를 해야 하는지?

 

- 답변 : 당연히 저장이 가능하며 어떤 내용이던 상관없이 테이블 필드타입은 text 로 해주시면 됩니다. 하지만 특수문자 에러를 방지하기 위해서 PHP 에서 저장 전 addslashes() 함수를 사용해서 특수 문자 앞에 역슬래시를 추가하게 됩니다. 그리고 DB 에서 불러와 사용하기 전에는 stripslashes() 함수를 사용해서 역슬래시를 제거하지요.




3. 일단 데이터베이스 내용을 엑셀로 정리 해 둔 파일이 있습니다. 이걸 mysql 데이터베이스로 전환을 하려면 어떻게 해야 하나요? 들리는 소문에 의하면 엑셀 데이터를 변환을 해도 데이터베이스에는 직접 입력을 못 한다고 하던데 지금 엑셀로 만들어진 파일이 워낙에 많아서 엑셀에 있는 걸 그대로 가져와야 하거든요. 엑셀에 보니까 셀서식에 텍스트 숫자, 시간 등등이 있는 걸로 봐서 데이터베이스 데이터 타입의 텍스트, 메모, 숫자하고 같은 기능인거 같은데 엑셀을 데이터 베이스로 변경할 때 제대로 하려면 어떻게 해야 할까요??

4. 엑셀파일을 mysql 로 전환을 하려면 CSV 확장자 파일로 바꾸고 나서 형식이 같아야 한다고 하는데 엑셀 파일의 셀서식에 보면 있는 텍스트, 숫자 형식과 mysql 의 형식이 같아야 한다는 건가요??

 

- 답변 : 우선 어렵게 생각하시지 말고 간단한 방법이 있습니다.

음 지금 확실히 생각은 나지 않지만 엑셀에서 다른 이름으로 저장을 클릭하시면 아래 확장자를 선택하게 되어 있습니다. 거기서 '텍스트 (탭으로 분리) *.txt" 이런 것이 있습니다. 이걸로 선택 후 저장을 하시면 모든 데이타가 탭으로 분리되어 저장이 됩니다.

 

예를 들어...

 

A

B

1

test hello

2

test2 hi

 

위와 같은 내용일때 txt로 저장을 하게되면

 

test[탭]hello

test2[탭]hi

 

위와 같이 저장이 됩니다.

그럼 PHP로 프로그램을 하여 해당 파일을 읽어 들인 후 탭문자를 구분자로 하여 데이터를 자른 후 mysql 에 insert 시키시면 되는 것이지요.

 

추가 질문이 있으시면 http://cafe.naver.com/phpcafe 에 질문 주셔도 됩니다. 그럼 즐거운 하루되세요...^^

[PHP] 엑셀에서 mysql 로 변경

그동안 ASP 냐 PHP 냐 하고 의견분분하던 데이터 베이스 작업이 PHP 로 일단 결말이... 같은데 엑셀을 데이터 베이스로 변경할 때 제대로 하려면 어떻게 해야 할까요?? 4....

html, php, script, mysql, github...

... 그런데 github는 php, mysql을 사용하지 못하네요 여러가지 방향을 고민 하다 보니 방향성을 잃었습니다. 1. javascript로 데이터를 엑셀로 내보내서 저장하고 불러오기를...

MySQL data 가져오기 : PHP, HTML

... PHP 3. 결과 Warning: mysqli_connect() [function.mysqli-connect]: (08004/1251): Client does... https://1mini2.tistory.com/m/88 mysql의 user 테이블에서 필요한 항목을 변경하는...

php mysql 에서 select 박스 내용 변경

... A셀렉트를 변경하면 B가 바로 변경 되는... 그런 스크립이나 php소스 같은거 있으심 공유... if($target=="sortcode") { $sql = "select * from sort1Table...

php에 mysql 연결

... +데이터 변경 및 테이블 추가 php7 버전 부터는 mysql 을... <?php $db = new Mysqli('localhost', 'my_user', 'my_password', 'my_db'); // 테이블 생성...

php mysql mysql_connect 질문

... 접속 코드를 위처럼 변경하면 접속 오류 시 오류 메시지를 화면에 보여줍니다. 단서가 될 수 있는 정보를 보실 수 있습니다.

php mysql 검색 관련 질문

... $result = mysql_query($sql, $conn); $row = @mysql_fetch_array($result); include "db_info.php"; $connect = mysql_connect... 빨간 부분을 아래와 같이 변경해주세요. for ($i=0;...

서버업데이트 후, php, mysql 소스 관련...

... 저희 서버 사양이 Apache 2.0.63 php 4.3.10 mysql 3.23.58 opensl 0.9.8 인데, 이것을 업데이트하면은 현재 서비스 하고 있는 계정의 홈페이지 소스도 일부 변경해야 할 수도 있다고...

PHP와 Mysql 연동 질문드려요.

... $connect = mysql_connect("서버주소", "SQL 아이디", "SQL암호"); mysql_select_db... 암호 변경이 용이하도록 별도의 dbconnect.php를 만들고 그안에 <? $con=mysqli...