목록BF 2024/SQL (29)
** csv 파일을 불러와서 df에 넣어준다 , sql 연결을 유지해준다 ( aws rds 이든 로컬이든 ) ** sql 문을 작성한다 ( insert ) ** iterrows()로 df에 있는 각 행의 인덱스와 자료를 가지고 for문을 사용 ** 각 행 별로 Cursor.exectue(sql문, tuple(행)) 을 실행해준다. ** 이후 db에 반영시키기 위해 database.commit() *** 정상적으로 insert문과 반복문이 실행되었는지 sql문으로 확인해본다 (우)
** 모듈 설치 , ** 설치 확인 ( import ) ** 접속 방법 ( 로컬, aws rds ) -> 계정 이름을 root , admin(설정) 으로 해놨으니 맞게 사용한다 ** 바로 데이터베이스에 접속하기 , 사용 이후에는 connection.close() 로 닫아주는 모습 ** 쿼리문 실행해보기 ( 예시는 테이블 생성 ) 변수 = 위의 접속정보.cursor() 변수.execute("쿼리문") 의 형태 vscode ( 파이썬 ) 으로 쿼리를 시행해보고 , 터미널에서 mysql로 접속한 sampledb 에 들어가보니, 쿼리로 테이블 생성됨 ** 파이썬으로 sql file 실행하기 1 ) 변수 = open("").read 커서객체.execute(변수) ** 파이썬으로 sql file 실행하기 2 ) 여..
** subquery 란?? > scalar subquery : 스칼라 서브쿼리, select 절에 사용 > inline view : 인라인 뷰, from 절에 사용 > nested subquery : 중첩 서브쿼리, where 절에 사용한다 > 하나의 sql문 안에 포함되어 있는 또 다른 SQL문을 말한다 > 메인 쿼리가 서브쿼리를 포함하는 종속적인 관계이다 > 서브쿼리는 메인쿼리의 칼럼 사용 가능 > 메인 쿼리에서는 서브 쿼리의 칼럼을 사용할 수 없다 > 서브 쿼리는 서브쿼리를 괄호로 묶어서 사용 > 단일 행 혹은 복수 행 비교 연산자와 함께 사용 가능하다 > 서브쿼리 내에서는 order by 를 사용할 수 없다 ** scalar subquery : 스칼라 서브쿼리, select 절에 사용 쉽게 말해..
** Scalar function 이란 ?? > 입력값을 기준으로 단일 값을 반환하는 함수 Function Description UCASE 영문을 대문자로 변환하는 함수 LCASE 영문을 소문자로 변환하는 함수 MID 문자열 부분을 반환하는 함수 LENGTH 문자열의 길이를 반환하는 함수 ROUND 지정한 자리에서 숫자를 반올림하는 함수 ( 0이 소수점 첫째 자리 ) NOW 현재 날짜 및 시간을 반환하는 함수 FORMAT 숫자를 천단위 콤마가 있는 형식으로 반환하는 함수 ** UCASE (upper case) / LCASE ( lower case ) ** MID(원본 문자열, 문자열 반환 시작 위치 , 문자열 길이) > 문자열은 1부터 시작, 마지막 문자는 -1 ** LENGTH(문자열) ** ROUND..
** group by > 그룹 별 데이터를 조회할 때 사용한다 ** having > 집계함수가 조건에 포함될 경우 where 대신 having 을 사용한다 > 쉽게 말해서, group by 즉 그룹화 한 결과물에 집계함수 조건을 적용할 때 사용한다 ex) having count > 3000 or having avg(col1) > 200 ex) select col1, col2 ... from tablename where condition group by col1, col2 , .. having condition ( aggregate func ) order by
** 여러 칼럼 혹은 테이블 전체 칼럼으로부터 하나의 결과값을 반환해주는 함수들 Function Description COUNT 총 갯수를 계산해 준다 SUM 합계를 계산해 준다 AVG 평균을 계산해 준다 MIN 가장 작은 값을 찾아준다 MAX 가장 큰 값을 찾아준다 FIRST 첫번째 결과값을 반환해 준다 LAST 마지막 결과값을 반환해 준다 ** 사용법 select count / sum / avg / min 등 agg func from ~ where ~
** Primary Key ( 기본 키 ) > 테이블의 각 레코드를 식별 > 중복되지 않은 고유값을 포함 > NULL 값을 포함할 수 없음 > 테이블 당 하나의 기본키를 가짐 -> 칼럼을 하나만 지정할 수 있고, 여러개의 칼럼을 지정할 수도 있다 ** 기본키 생성 방법 * 테이블 생성시에 줄 수 있다 * 하나의 칼럼을 기본키로 설정하는 경우 * 여러개의 칼럼을 기본키로 설정하는 경우 -> 키가 두개가 아니라 이 두 칼럼이 하나의 키임 ** 기본키 삭제 문법 alter table tablename drop primary key; 세부 정보를 확인해보니, primary key 속성이 사라졌다 ** 하나의 칼럼을 기본키로 지정하는 경우 , 여러개일 경우는 괄호에 여러개를 집어 넣으면 된다. alter tabl..
** 데이터 베이스를 백업한 SQL FILE 을 실행하여 해당 시점으로 복구하거나 이전 할 수 있다. ** 데이터 베이스 백업 > 파일을 저장한 경로로 이동 후 mysqldump -u root -p ~~ database > filename.sql 로 저장 > code . , vscode를 실행해보면 해당 경로에 파일들이 생성되어 있고, 그 내용들을 확인할 수 있다. ** 이후 aws rds 로그인 > 데이터 베이스로 이동 > source filename.sql 을 시행하면 로컬 데이터베이스가 aws rds에 저장된다 ** 테이블 단위 백업 > 데이터 베이스 단위에다가 테이블 명만 추가로 명시해주면 된다 > 테이블 생성 시 작성했던 쿼리..
** SQL file 이란? > .sql 확장자를 가진 파일로, sql 의 쿼리들이 모아져 있는 ( 작성된 ) 파일 > 데이터 베이스나 테이블을 리스토어 하고 백업 할 때 사용할 수 있다 ** 실행 방법은 두 가지가 있다 1. 로그인 한 상태 > mysql -u root -pdatabase 로그인 후 > source 경로.sql; 을 시행한다 > 만약 database에 바로 접속하지 않으면 > 동일하게 로그인 후 데이터 베이스로 use database; 형식으로 접근하면 된다. 2. 비로그인 방법 > 위와 동일하게 mysql 접속정보 database 이후 로그인해서 들어가보면 정상적으로 실행되었다.
** mysql 에서 사용자를 생성하는 것과 같다 ** 데이터 베이스 mysql 을 사용하는 상태 , use mysql ** create user '유저 이름'@'%' identified by '비밀번호'
** RDS > 데이터 베이스 > 작업 > 중지 > 안내 팝업 > 예 ** 중지 역시 생성과 마찬가지로 시간이 어느 정도 소요된다 ** 다시 시작하려면 , 데이터 베이스를 눌러서 세부 페이지로 이동 > 작업 > 시작 한다 ** 삭제할 경우 아래 항목을 체크, delete me를 공백에 유의하며 타입