728x90 DB/MySql6 [MYSQL] 엑셀파일 DB에 로드시키기 (insert) 안녕하세요. 오늘은 mysql로 엑셀파일을 DB에 로드 시키는 방법에 대해 알아보겠습니다. LOAD DATA INFILE '/test/abcd.csv' INTO TABLE ABC FIELDS TERMINATED BY ','; 위의 해당 SQL문은 ABC 테이블에 sql 경로 /test/abcd.csv에 해당하는 엑셀파일을 찾아 load 하는 쿼리입니다. 하지만, 주의사항이 있습니다. !! 경로에 해당하는 곳에 존재한다는 것과 테이블명, 그리고 CSV파일이 UTF-8 형식으로 되어있지 않다면, load가 되더라도 깨져서 될 것입니다. 주의사항을 조심하며 load하면 되겠습니다. @엑셀파일 DB, @엑셀파일 Insert 시간 들여, 수동으로 하나씩 입력하지 말고, 한번에 insert 합시다 ! DB/MySql 2018. 8. 2. [mysql] 다중 Insert SQL 쿼리문 오늘은 Mysql 쿼리문 중 다른 테이블에 있는 칼럼들을 새로운 테이블 칼럼에 맞게 insert할 때 사용하는데요. Multi row insert, 다중 insert 방법 중 하나라고 봐도 무방합니다. 아래와 같이 SQL 쿼리문을 실행하면, insert into PRIZE_ALL(receipt_clf, participant_nm) select receipt_clf, participant_nm from RECEIPT RECEIPT 테이블에 advence_yn이 null이 아닌 행들을 모두 불러와 PRIZE_ALL 테이블에 2개의 칼럼에 맞게 insert 되게 된다. 하지만, 주의사항으로는 위의 SQL 쿼리문처럼 쓰기 위해서는 칼럼의 수가 같아야 하겠지만, 아래와 같이 쓰겠다면, table의 형식이 같아야한.. DB/MySql 2018. 8. 1. [mysql] MYSQL CREATE FUNCTION 에러 MYSQL CREATE FUNCTION 에러 아래와 같은 FUNCTION을 생성시키려 할 때, CREATE DEFINER=`test`@`%` FUNCTION `GET_CREATE_ID`( `tableName` VARCHAR(50) ) RETURNS char(6) CHARSET utf8 LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT 'ID 생성 함수' BEGIN DECLARE id VARCHAR(50); UPDATE T_ID_GENERATION SET NEXT_ID = NEXT_ID + 1 WHERE TABLE_NAME = tableName; SET id = ( SELECT CONCAT(IFNULL(PREFIX,''), L.. DB/MySql 2018. 6. 8. [mysql] DB서버 MYSQL 대소문자 구분 대다수의 DB서버는 기본 설정이 SQL을 구문하게 끔 되어있다. 아래 코드를 확인해보자.SQL Server설정 파일 중 하나인 my.cnf 를 열어보면, [mysqld] # # * Basic Settings # #user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc_messages_dir = /usr/share/mysql lc_messages = en_US skip-external-locking lower_case_table_names=1 위에 빨간 글씨로 쓰여져있는 lower_c.. DB/MySql 2018. 6. 8. [MYSQL] DB에 날짜데이터 넣기 DB에 날짜데이터 넣기 첫번째 SQL쿼리문 4번째 줄의 d칼럼은 데이터형식, ds 칼럼은 char형식으로 두번째 SQL쿼리문에서 date_format(d, '%Y%m%d')를 추가하게되면 char형식으로도 insert할 수 있다. * 첫번째 SQL쿼리문 insert문을 입력하면 할수록 넣을 수 있는 데이터 수가 증가한다. create table t (n int); insert into t values (1); insert into t select * from t; -- 이걸 13번 반복하면 4096행이 생성됨. 10년치 데이터라면 대략 3650일이므로 이정도면 충분 create table CALENDAR(d date, ds char(8)); -- 날짜를 저장할 테이블 ▲ 첫번째 SQL쿼리문 아래의 SQL.. DB/MySql 2018. 1. 30. [Mysql] 특별한 값이 없으면 INSERT 있으면 UPDATE (ORACLE - MERGE INTO) 이 기능을 쓰지 않으면 CONTROLLER에서 값이 있는지 없는지 처리를 해야한다. 편의를 위해 ON DUPLICATE KEY 를 사용한다. INSERT INTO 테이블명(컬럼1, 컬럼2) VALUES('값1', '값2') ON DUPLICATE KEY UPDATE 컬럼2='값3'; ex) INSERT INTO USER (NAME, AGE) VALUES ('ABC', '21') ON DUPLICATE KEY UPDATE name='ABC', email='21'; DB/MySql 2017. 8. 24. 이전 1 다음 728x90