본문 바로가기

DB

(35)
[DB] Mysql 권한 설정 모든 DB접속권한 부여 및 ROOT권한 부여, choi라는 유저는 localhost에서만 접속가능(내부접속) STEP 1. 권한 설정 GRANT ALL PRIVILEGES ON *.* choi@localhost IDENTIFIED BY '패스워드' WITH GRANT OPTION; STEP 2. 권한 적용 flush privileges; 모든 곳(외부)에서 접속가능하도록 하려면 choi@localhost를 choi@'%'로 바꿔야 함 특정한 곳에서만 접속 가능하도록 하려면 choi@ip주소로 바꾸면 됨
[DB] Mysql 명령어 및 예제 구조: Mysql > Database > Table > field > Record (field와 record는 세로,가로의 데이터를 의미하지만, DB에서 사용시 field가 record보다 더 큰범위를 나타냄) 행 열 레코드 (record) 필드 (field) 튜플 (Tuple) 어트리뷰트 (attribute) 행 (row) 컬럼 (column) DB/TABLE 생성예제입니다. 초보자라면 보라색 글을 따라서 연습해보길 바랍니다. Mysql 실행: mysql -u root -p → 비밀번호 입력 DB 생성: create database DB이름; //create database db01; DB 삭제: drop database DB이름; DB 보기: show databases; 사용할 DB 선택: use D..
[DB] 오라클 SQL 명령어 DDL(Data Definition Language): 데이터 정의어 테이블 생성 create table 테이블명( name varchar2 ... ); 테이블명 변경 ALTER TABLE ​테이블명 RENAME COLUMN 변경할컬럼명 TO 변경후컬럼명; 테이블 삭제 drop table 테이블명 purge --purge를 사용해야만 남은파일없이 삭제 테이블 복제 ​create table 변경후 테이블명 as select * from 변경전 테이블명 ​컬럼 추가 ALTER TABLE 테이블명 ADD (컬럼명 타입); ​--가장 마지막에 추가됨 (위치를 변경하고 싶다면 삭제후 테이블 재생성해야함) 컬럼 속성 변경 ALTER TABLE table_name MODIFY (column_name VARCHAR2(..
[SQL] 날짜데이터(DATE) 형식 SELECT 컬럼이 DATE형식의 데이터일 경우 SELECT 2012년 10월 11일 오전 08:00 이라고 명시된 항목의 값을 select SELECT * FROM 테이블명 WHERE TO_CHAR(컬럼명,'YYYYMMDD') >'20191111' --2019년 11월 11일 이후 데이터 검색
[SQL] rownum rownum: row의 갯수를 선택하여 결과를 산출 where문과 함께 사용 select * from table명 where rownum = 1 --row중에 하나만을 전달해서 보여줌 select * from table명 where rownum
[SQL] ORA-1427 single-row subquery returns more than one row ORA-1427 single-row subquery returns more than one row subqeury 사용시 하위 쿼리의 호출값이 하나 일상일경우 발생하는 에러 SELECT ID, NAME, JOB, (SELECT * FROM JOB_COMMENT) AS CMT FROM PEOPLE A 위와 같은 쿼리를 사용시 SUBQUERY인 'SELECT * FROM JOB_COMMENT'의 결과 값이 하나 이상일 경우 문제가 발생 해결방법 하나의 값이 호출되도록 변경 예제 1) PK값을 사용하여 하나의 값만 호출하도록 변경 SELECT ID, NAME, JOB, (SELECT COMMENT FROM JOB_COMMENT WHERE ID = A.ID) AS CMT FROM PEOPLE A 예제 2) JO..
[DB] ODBC 3.51 Driver - Client does not support authentication protocal requested by server; consider upgrade in MySQL client 계정 권한 문제 ODBC 3.51 Driver - Client does not support authentication protocal requested by server; consider upgrade in MySQL client. 해결 방법 STEP 1. MySQL에 접속 STEP 2. 하단 명령어 입력 SET PASSWORD FOR 'root'@'localhost' = OLD_PASSWORD('9999999'); flush privileges;
[SQL] RIGHT/LEFT(), SUBSTRING_INDEX(), SUBSTRING(), UPPER/LOWER(), REVERSE(), LTRIM/RTRIM(), LENGTH() RIGHT(), LEFT() 정해진 수의 문자 추출 함수 사용법 : SELECT RIGHT(location, 2) FROM my_contacts; SELECT LEFT(location, 2) FROM my_contacts; 해석 : my_contacts 라는 테이블의 location의 열에 있는 문자열 에서 오른쪽에서부터 2개의 문자 선택을 의미, LEFT() 함수 일 경우 왼쪽에서 부터 2개의 문자 선택을 의미 SUBSTRING_INDEX() 특정 문자나 문자열 앞의 모든 문자열을 반환 사용법 : SELECT SUBSTRING_INDEX(location, ',', 1) FROM my_contacts; 해석 : my_contacts테이블의 location 열의 문자열 에서 작은 따옴표 안의 문자열을 찾고..