조인이란 : 두개 이상의 테이블에 있는 컬럼들을 합쳐서 가상의 테이블을 만들어 조회하는 방식. 소스테이블: main information 타겟테이블: sub information Foreign key(외래키): 한 테이블이 다른 테이블의 칼럼값을 참조하는 것. 자식테이블에서 참조하고 있는것을 부모테이블에서 마음대로 삭제 할 수없다. 참조하고 있지 않다면 삭제가능. 삭제하려면 자식테이블에서 참조되고있는 값을 먼저 삭제해야한다. 참조하는 행이나 값을 삭제할수 있다. CASCADE : 부모 테이블에서 데이터를 삭제/수정하면, 그 행을 참조하는 자식테이블의 행들도 같이 삭제/수정된다. SET NULL : 부모 테이블에서 데이터를 삭제/수정하면, 그 행을 참조하는 자식테이블의 foreign key 컬럼의 값을 N..
SQL
파이썬: 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..