데이터 분석일기

조인이란 : 두개 이상의 테이블에 있는 컬럼들을 합쳐서 가상의 테이블을 만들어 조회하는 방식. 소스테이블: main information 타겟테이블: sub information Foreign key(외래키): 한 테이블이 다른 테이블의 칼럼값을 참조하는 것. 자식테이블에서 참조하고 있는것을 부모테이블에서 마음대로 삭제 할 수없다. 참조하고 있지 않다면 삭제가능. 삭제하려면 자식테이블에서 참조되고있는 값을 먼저 삭제해야한다. 참조하는 행이나 값을 삭제할수 있다. CASCADE : 부모 테이블에서 데이터를 삭제/수정하면, 그 행을 참조하는 자식테이블의 행들도 같이 삭제/수정된다. SET NULL : 부모 테이블에서 데이터를 삭제/수정하면, 그 행을 참조하는 자식테이블의 foreign key 컬럼의 값을 N..
파이썬: concat(age,”세”) sql: concat(age(컬럼명),”세”): 컬럼 안에는 값이 여러개. 컬럼에 있는 값들을 다 집어 넣는다는 개념. 일괄적인 처리를 하는것. ex. max(age) age: 30, 25 ,59… 나이는 하나만 넣으면 어느것이 큰지 모른다. 모든 나이를 다 넣어야한다. 단일행은 각 나이를 하나씩 처리하는 것이다. select, where 절에서 사용. 다중행은 한번에 처리하는 것. 묶어서 처리(그룹함수). select, having 절에서 사용한다. (where절에서 사용할 수 없다) 여기서부터 여기까지 바꿔라: insert 이런글자를 이 글자로 바꿔라: replace select insert('123456789', 2,3,'안녕'); -- 두번째 글자부터 3글자 ..
null은 ‘=’ 으로 보기는 어렵다. age is null, is not null 이런식으로 물어봐야한다. 모르는값이기 때문에 동등비교가 불가하다. (파이썬은 = 가 가능하지만 sql은 x) 없으면 error가 아니라 빈 표가 나온다. ‘있니’라고 물어봤기 때문 -- EMP 테이블에서 직원의 이름에 '%' 가 들어가는 직원의 ID(emp_id), 직원이름(emp_name) 조회 -- 패턴문자를 조회조건에서 사용해야 하는 경우 escape 구문을 이용해 패턴문자를 검색문자로 표시하는 특수문자를 지정한다. select emp_id, emp_name from emp where emp_name like '%#%%' escape '#' escape문자는 #으로 지정된게 아니라 만약 '('를 넣고 싶다면 원하는 ..
SQL이란 데이터를 주고받기 위한 언어 sql은 대소문자 가리지 않는다. 데이터베이스: C(추가)R(조회)U(수정)D(삭제) 프로그램을 만드는 것은 데이터를 처리하는 것이다. ex. 고객데이터 (한사람의 데이터) : 이름, 아이디, 주소 등 데이터는 여러개의 속성값들로 이루어져있다. 관계형 데이터베이스: 표 형식으로 데이터를 관리하는 데이터베이스 ex. 쇼핑몰에서 데이터가 필요하다면 고객의 데이터, 주문관련된 데이터, 제조사 등이 필요하다. 프로그램의 규모가 커지면 필요한 데이터가 많아진다. 데이터 하나하나가 표가 된다. 데이터와 데이터간에 데이터가 생긴다.(relational data. 관계형데이터) 테이블형태로 관리했을때 정형data라고 한다. 비정형데이터는 사람손길이 들어가면 잘 안나온다! Enti..
정규표현식 정규표현식은 따로있고 파이썬의 함수들이 지원을 해주는것. 문자열로 만드는것이다. 패턴을 지정해줘야한다(메타문자, 리터럴) a* → 메타문자. a가 0개 이상와야한다. 문자 클래스: 예를들어 [akr] a또는 k또는 r이 와야한다. 집단이라고 생각. 얘네들 중 하나. 글자수와 관련된 메타문자 ex. A+ 앞에있는애가 몇개 와야한다. 라는걸 알려줌 • {m} : 앞의 문자(패턴)가 m개. (a{3}b) → aaa가(x) aaab(o) re모듈 정규표현식 문자열로 만들고 re모듈에 넣는다. 내장함수를 뺀 모듈들은 다 import를 하고 써야한다. 기본적으로 메모리에 등록되어있지x 검색함수 Python에서는 정규표현 처리를 하기 위해 표준 라이브러리인 re 모듈을 사용한다. 정규표현 패턴를 이용한 문..
리스트, 집합, 딕셔너리와 같은 타입이나 문자열은 for-in 구문을 통해서 반복적으로 하나씩 데이터를 꺼내서 처리할수 있다. class Person: __init__() __str__(), __repr__() #값의형태를 구현하고 싶을때 repr __add__(), __sub__()..__gt__(), __ge__() 연산자 특수메소드 재정의 #iterable __iter__() #iterator __next__() #subscriptable - indexing __getitem__() + __len__() #직접호출되는 경우는 없다. class Person: __init__() __str__(), __repr__() #값의형태를 구현하고 싶을때 repr __add__(), __sub__()..__gt..
오류 함수나 메소드가 처리 도중에 다음 명령문을 실행할 수 없는 상황. 여러개 있으면 class 하나만 있으면 함수가 된다 해결할 수 없는 것 = 오류,에러 예외처리 예외 발생 → 예외 상황정의 try, except구문 try: Exception 발생가능한 코드 블록 except [Exception클래스 이름 [as 변수]] : 처리 코드 예를 들어, try: 1번 코드.. 2.. except 처리 5.. 1에서 exception 발생하면 처리로 가고 다시 올라가는게 아니라 5번으로간다. 정상적으로 끝나면 exception 은 실행x exception 과 if문이 비슷 elif처럼 위에서 except 가 처리되면 except 처리한다. 영향을 미치는 것들을 버스가 안오면 그 밑에는 블럭처리해서 넣어준다 ..
path (경로) : 프로그램에서 사용할 자원의 위치를 path라고 한다. 경로를 지정하는 방법은 다 다르다. Root path: 시작이라는 것을 표시 1) 절대경로: 경로가 같은 자원은 같은 경로. 2) 상대경로: 내가 어디있느냐에 따라 달라진다. 현재위치를 기준으로 시작한다. 무조건./ 로 시작 예를 들어, (./)test.py생략가능 = test.py 입출력( IO) Input Output - 외부자원: 외부에 있는 데이터, file ,DB, 원격지컴퓨터(remote computer) 프로그램이 출력을 한다는 것은 외부자원에서는 입력을 한다는 것이다. 서로 맞물려있다. 데이터를 주고받는 것. - stream: 데이터의 흐름. 대상이 다르면 데이터 주고받는 것이 다르다. 함수가 바뀐다. ex. 전화 ..
객체지향 프로그래밍 프로그램을 구성하는 변수와 함수들에서 서로 연관성 있는 것 끼리 묶어서 모듈화하여 효율적인 프로그램을 만들기 위한 기술. 객체란 객체는 변수와 메소드가 서로 연관된 것끼리 묶어서 가지고 있는 값. 객체(object) = 속성(attribute) + 기능(method) = 변수(field) + 함수(function) 클래스와 함수의 차이점 : 클래스가 함수보다 더 광범위한 개념. 함수가 클래스의 부분집합. class(클래스) : 객체의 설계도, 객체를 만들기 위한 것 class 클래스이름 : #선언부 #클래스 구현 #메소드들을 정의 Attribute(속성) : 객체의 데이터, 객체가 가지는 값, 상태 instance 메소드(method) 1) 객체가 제공하는 기능 2) 객체의 attri..
함수란, 값을 입력(input) 받아서 처리 후 처리결과를 출력(output)하는 일련의 과정 def를 먼저 쓰고 들여쓰기를 해서 결과값을 얻는다. 함수 선언 마지막에는 :(콜론)을 넣는다. def 함수명 ([변수, 변수..]): #선언부 (header) #구현부 (body) 실행구문 ... [return [결과값]] 예제) 람다식/ 람다 표현식 (Lambda Expression) 하나의 식을 이용해서 정의할때 사용함수 이름없이 선언하기 위해 도입 lambda 매개변수 [, 매개변수, ...] : 명령문 map() 함수 : list, tuple 등 모든 요소에 함수를 적용한 결과를 반환 filter() 함수 : 모든 요소 중에서 조건에 맞는 요소만을 반환 sorted() 함수 : 요소를 정렬한 결과를 반..
줄피
'데이터 분석일기' 카테고리의 글 목록 (2 Page)