반응형

SQL 16

[Sql] Unique 와 Distinct 의 차이점

1. 개요 distinct 와 unique 차이를 간단하게 기록해 놓자면 1) distinct - select 에 사용 - select 시에 출력되는 row 들의 중복된 값을 제거한 나머지 값들을 출력 2) unique - create table 을 할 때 사용 - 테이블 내에서 unique가 적용된 특정 컬럼의 중복된 값이 insert 되지 않도록 설정 - unique 가 설정된 컬럼에서 중복된 값이 들어갈 경우 error 가 뜨며 값의 유일성 유지 2. 참고 링크 https://learnsql.com/blog/unique-vs-distinct/ What’s the Difference Between UNIQUE and DISTINCT in SQL? The words UNIQUE and DISTINCT ..

[ NiFi ] 4. 리눅스에서 MySql 로 데이터 보내기

1. 개요 기본적인 튜토리얼에서 벗어나 NiFi 를 통해 좀 더 심화된 프로세스를 구축하는 연습을 하기위해 해당 포스팅을 작성했다. 추후 NiFi 를 사용할 일이 있을 때, 해당 포스팅을 참고하여 연습해야겠다. 완성된 직후, 전체적인 프로세스는 아래와 같다. 리눅스에 있는 편집한 csv 파일을 읽어들인 후에 json 형태로 변형시키고 나서 MySql 에 저장하는 프로세스이다. 2. 리눅스 -> MySql 프로세스 순서 우선, 해당 포스트는 리눅스 서버에 MySql 을 설치했다는 가정하에 시작한다. 리눅스 버전은 Cent OS 7 을 사용했으며, MySql 로는 MySql 8 버전을 사용했다. 1) 데이터를 리눅스 서버에 넣고 mysql 에 데이터 베이스와 테이블을 생성한다. 실습을 위해 필요한 데이터를 ..

[Sql Error] Ignoring query to other database

1. 에러 원인 리눅스를 통해 접속을 할때, mysql -root -p 로 접속을 해주어서 에러가 발생했었음. 몇군데 서치를 해보니 'u' flag 를 지정하지 않고 유저 id 를 입력해서 데이터베이스에서 무시를 하는 에러였음 2. 해결 방법 기존에 있던 연결을 Ctrl + z or c 로 끊어주고 mysql -u root -p 로 접속을 해주면 발생했던 에러를 해결하고 정상적으로 쿼리 입력 가능 3. 참고 링크 stackoverflow.com/questions/36132063/ignoring-query-to-other-database-command-line "Ignoring query to other database" command line I keep getting this weird message,..

[Oracle Error] 오라클 비밀번호 만료 에러 ORA-28001: the password has expired

에러 원인 - 오라클 DB 의 경우에는 보안을 위해서 주기적으로 패스워드를 바꾸도록 되어있음(180일 주기) - 몇일 전부터 패스워드 변경 요청 메시지가 뜨는데 바꾸지 않을 경우에는 아래와 같은 에러 메시지창 발생 해결 방법 1. 우선, 윈도우 CMD 창을 켠 후, 아래와 같이 입력하에 오라클 DB 에 접속한다. C:\>sqlplus "/as sysdba" 위 명령어를 사용하면 별도의 패스워드 입력이나 인증 없이 관리자로서 접속이 가능하다. 2. 아래 명령어로 새로운 패스워드를 설정해주면 끝 ALTER USER [user_id] IDENTIFIED BY [new_password]; 3. 새로 변경한 패스워드로 Oracle DB 에 접속 *** 만약 비밀번호가 틀릴 경우 아래 명령어를 통해 계정을 풀고 다..

[SQL] 테이블 안의 컬럼 값 변경하기 UPDATE

데이터 베이스의 테이블에서 만약 컬럼(필드)에 있는 값을 변경하기 위해서는 아래의 명령어를 사용하면 변경이 가능한데, 이때 UPDATE 키워드를 사용한다. UPDATE 는 원하는 컬럼 안의 특정 값을 변경할 수 있게 해준다. 1. 사용방법 UPDATE [테이블 명] SET [컬럼명]='변경할 값' WHERE [컬럼명]='해당값' ## 여기서 컬럼명을 쓸 때 [ ] 괄호는 빼고 사용하면 된다 UPDATE 는 이미 존재하는 값을 변경하기 위해 사용한다. 2. 하나의 값만 수정 UPDATE 를 사용한 가장 기본적인 방법이며, 수정할 필드와 찾을 값을 지정하면 된다. update [tablename] set [column_A]= 'abc' where test='gdw'; 위 예시는 test 필드에 gdw 라는 ..

[SQL ] INSERT INTO VALUES 사용시 주의할 점

INSERT INTO VALUES 는 새로운 값을 기존의 TABLE 에 넣는 역할을 하는 함수이다... 그때 VALUES 에는 외부에서 입력하는 새로운 값만 들어가야 되고 기존의 값을 참고해야되는 MAX, COUNT 같은 집계함수 등은 사용할 수가 없다 왜냐하면, 집계함수를 넣을 때는 기존에 있는 테이블의 값을 참고해야되는데, VALUES 는 이 값들을 참고할 수 없기 때문이다. 만약 VALUES 안에 위 집계함수들을 사용하고, 기존 테이블을 참조하는 값들이 들어가게 된다면 There is a column named [칼럼이름] in table , but it cannot be referenced from this part of the query. 위와 같은 에러를 발생시킬 수도 있다. 만약 JOIN 을..

[SQL Query] select 후 Insert 하기

사용 상황 수많은 value 들을 한번에 insert를 해야될 때, insert 문에 select 문을 사용한다. 사용방법 insert 문을 사용하고 난 후에 그 바로 아래 select 를 하면된다 INSERT INTO table_1 ( title, name, regdate, id, category ) SELECT title, name, regdate, id, category FROM table_2 WHERE category=10 장점 여러개의 값을 한번에 insert 시킬 때, 편리하게 사용할 수 있다 단점 테이블의 value 의 개수가 0인 경우, insert 가 안될 수 있다. 참고 링크 blog.outsider.ne.kr/263 여러 행 SELECT해서 INSERT 하기 :: Outsider's ..

[PostgreSQL Error] duplicate key value violates unique constraint

에러 발생 이유 PostgreSQL 에서는 nextval( ) 등을 통해 primary key 를 생략한 채로 자동 시퀀스를 실행하다보면 primary key 자동으로 번호가 지정되는 경우가 있는데, 대게는 unique value 로 번호가 지정이 된다고 한다. 하지만, 데이터 복사 등의 데이터에 변경이 일어나는 모종의 이유로 시퀀스 객체와 테이블의 키 값에 차이가 생기는 경우가 종종 발생하는데, 이런 경우에는 primary key 를 생략한 채로 insert 를 할 경우에는 postgresql 에서 이를 인지하고 오류를 발생시킨다고 한다. ERROR: duplicate key value violates unique constraint "table_pkey" 해결방법 1. 오류가 난 테이블의 최대 키 값..

반응형