Database: 227개의 글
1. Database 관련 명령어Database 접속mysql -u 'tester' -p [dbname]Database 원격 접속mysql -h서버주소 -u아이디 -p패스워드Database 생성 및 삭제CREATE DATABASE dbname;DROP DATABASE dbname;Database 목록SHOW DATABASES;Database 사용USE dbname;Use Database 보기select database();2. User 관련 명령어User 생성CREATE USER 'tester'@'localhost' identified by '비밀번호';CREATE USER 'tester'@'%' identified by '비밀번호';'localhost'로 설정 시, 로컬에서만 사용 가능합니다.따라서 외..
MySQL에서 ORDER BY 사용 시 특정한 값을 우선적으로 정렬- FIELD 함수를 이용하여 특정한 값을 우선적으로 정렬 할 수 있다. 1. ORDER BY FIELD() 를 사용하여 'BTC'가 첫번째, 'ETH'가 두번째, 그외 나머지는 오름차순으로 정렬하기 1234567SELECT COIN_CDFROM COINORDER BY FIELD(COIN_CD, 'ETH', 'BTC') DESC, COIN_CD ASCcs - FIELD 함수의 첫번째 파라미터에 정렬할 컬럼을 넣고, 그 이후 파라미터엔 우선적으로 정렬할 값들을 역순으로 넣어준다.그리고 FIELD 함수를 DESC정렬 시켜주면 된다. - 원리는 FIELD 함수를 사용하면 첫번째 파라미터의 값과 같은 값이 그 이후 파라미터의 몇번째에 있는지 in..
Group By 최대값을 가진 Row를 추출하는 쿼리Group by를 이용하여 특정필드의 최대값을 가지고 올수 있지만 group by 특성상 해당하는 row의 다른 필드의 값을 가지고 올수가 없다.최대값이 있는 row 값을 가지고 오는 방법을 아래와 같이 2가지 방법이 있다.DB, Index, Table 구조 등에 따라 속도가 달라지기때문에 그때 그때에 맞게 2가지 방법중에 사용하면 된다. SELECT a.id, a.rev, a.contentsFROM YourTable aINNER JOIN ( SELECT id, MAX(rev) rev FROM YourTable GROUP BY id) b ON a.id = b.id AND a.rev = b.rev Group BY와 SubQuery를 활용하여 먼저 id와 ..
n 조인의 종류ORACLE전용 조인(9i까지): Oracle DB에서만 사용ANSI 조인(10g부터): DB종류에 상관없이 모든 DB에 사용 가능. n JOIN두 개 이상의 테이블을 결합하여 필요한 데이터를 조회하는 기능. 1. 카티션 곱 (Cartesian Product)테이블을 연결하는 조건을 만족하는 행이 하나도 없는 경우에 발생2. EQUI JOIN조인 대상 테이블에서 공통칼럼을 ‘=‘ 비교를 통해 같은 값을 갖는 행을 연결하여 결과를 생성하는 조인 방법 문법) SELECT table1.column, table2.column FROM table1, table2 WHERE table1.column = table2.column; Ex.학생 테이블과 부서 테이블을 EQUI JOIN 하여 학번, 이름, ..
조인 방법에는 오라클전용 조인과 ANSI 조인이 있다. 해당 포스팅에서는 ANSI 조인에 대해서 알아볼 것이다. ◆ ANSI 기본 조인 문법from table1 alias1 join table2 alias2 on (alias1.column_name1 = alias2.column_name2); 테이블이 3개 이상일 때는 어떻게 조인할까?from table1 join table2 on 조인조건 join table3 on 조인조건 ◆ Non-Equi Join ANSI의 Non-Equi Join 문법도 오라클 전용에서의 그것과 사용 방법은 동일하다.from table1 join table2 on column between 조건1 and 조건2; ◆ Outer Join한가지 오라클 전용에서와 다른 점 및 주의해야..
WHERE 절의 조합 예제 데이터 : User_Table SELECT * FROM User_Table ;---------------------------------------------------------------------------------------------------------------------------AND 연산자의 사용 입력 -SELECT user_id , user_mobile , user_gender , user_amount , user_addr FROM User_TableWHERE user_gender = 'male' AND user_amount >= 5500 ; 풀이 : User_Table 에서 성별(user_gender)이 남자이고 보유금액(user_amount)가 5500..
WHERE 절의 사용- SELECT 문의 WHERE 절을 사용하여 검색조건을 지정하는 방법- WHERE 절은 특정 테이블에서 원하는 정보만을 가져오기 위해 사용한다. WHERE 절의 조건부 연산자연산자설명 =같음같지 않음!=같지 않음 5000;User_Table 에서 user_amount 값이 5000 보다 큰 회원의 user_id , user_mobile , user_gender , user_amount 정보를 가져왔다. 출력 예제테이블 User_Table 에서 user_amount 의 값이 5000이상인 회원은 user_amount 가 10000인 user2, user3 두 회원 이므로 해당값이 출력되었다. ----------------------------------------------------..
데이터 가져오기 - SELECT ~ FROM 예제 table 1테이블 생성 및 데이터 삽입 User_Table user_num user_iduser_passuser_mobileuser_gender1user1aaaa01011112222male2user2bbbb01033334444female3user3cccc01055556666male4user4dddd01077778888female5user5eeee01088889999male 기본 SELECT 문(어디서 무엇을)User_Table에서 user_mobile 에 대한 정보를 가져와 보자 SELECT user_mobile FROM User_Table ;출력 User_Table에서 user_mobile 에 대한 정보를 가져 왔지만 테이블의 다른 순서로 나열되어 출..
테이블 생성과 제어 테이블 생성 - CREATE TABLE- 만들 새 테이블의 이름으 CREATE TABLE 뒤에 지정한다.- 테이블 열의 이름과 정의를 콤마(,)로 구분하여 지정한다.- 테이블의 위치를 지정해야 하는 DBMS도 있다. CREATE TABLE temp_Table (field1 char(10) NOT NULL ,field2 char(10) NOT NULL ,field3 DECIMAL(8,2) NOT NULL ,field4 varchar(1000) NULL); 실행시 빈 테이블 생성 field1field2 field3 field4 테이블 이름은 CREATE TABLE 키워드 뒤에 지정되며, 테이블 정의(모든열) 은 괄호 내에 위치하고 열사이는 콤마( , ) 로 구분 된다.이 테이블의 경우 네..
데이터 수정 / 변경(UPDATE)- 테이블의 특정한 행을 수정/변경(update)- 테이블의 모든 행을 수정/변경(update) 기본 형식- 업데이트 할 테이블- 열 이름과 새값- 수정/변경(update) 할 행을 결정 짓는 필터 조건 * 예시 : Temp_Table Temp_Table 의 field1 의 값을 유일 값인 기본키로 하고 data2-3 의 값을 변경해보자.field1 field2field3 field4 data1data1-2data1-3data1-4data2data2-2data2-3data2-4data3data3-2 data3-3data3-4 UPDATE Temp_Table SET field3='변경된 값' WHERE field1 = 'data2';해석 해보자면 Temp_Table 의 f..