본문 바로가기

분류 전체보기119

MySQL 정규화, 테이블의 연결 join MySQL 에서는 테이블을 설계할때 모든 필요한 데이터를 한꺼번에 테이블로 설계하지 않고, 관련되어 있는 데이터끼리 중복되지 않게 따로 테이블을 여러개로 나눈다. 그리고 각 테이블의 유니크한 primary key를 가져와서 서로 연결하는 형식을 띈다. 이렇게 테이블을 설계하는 것을 정규화라고 한다.. 테이블을 만들어보겠다. 1 2 3 4 create table students( id int auto_increment primary key, first_name varchar(100) ); create table papers ( title varchar(100), grade int, student_id int, foreign key(student_id) references students(id) on del.. 2021. 3. 17.
MySQL case end 조건식 MySQL에서는 조건을 만드는 식은 case 가 있다. case 다음에 원하는 조건을 입력 후 end로 닫으며 조건을 마무리 한다. 아래의 테이블에서 한번 사용해 보겠다. 위는 books 테이블이다. 위에서 조건하에 데이터를 찾아보자. 1 2 3 4 5 6 select title, released_year, case when released_year >= 2000 then 'Modern' else '20th Century' end as genre from books; Colored by Color Scripter cs 위의 코드를 입력하면 하나의 새로운 컬럼을 만들고 그 안에 조건에 맞춰 데이터가 추가 된다. 새로운 컬럼이 생기는 것이기때문에 case end 는 select 옆의 컬럼명 자리에 들어가게 .. 2021. 3. 17.
MySQL에서의 in 과 not in 테이블을 보고 아래의 코드를 보자. select * from books where released_year = 2017 or released_year = 1985 or released_year = 2010 or released_year = 2014 or released_year = 2008 ; 위의 코드는 books 테이블에서 출판년도가 2017년 이거나, 1985년 이거나 2010년 이거나 2014년 이거나 2008년인 책의 데이터를 찾는다. 이렇게 or 가 많이 필요로 하는 코드에서는 in() 으로 대체할 수 있다. in() 의 사용법으로 위의 코드를 바꿔보면 select * from books where released_year in ( 2017, 1985, 2010, 2014, 2008 ) ; 로.. 2021. 3. 17.
MySQL between , not between 우리는 테이블에서 우리가 원하는 데이터를 가져올 수 있다. 예를 들어 이런 테이블이 있다고 하자. 위의 테이블에서 내가 만약 출판년도가 2017년인 책의 정보를 가져오고 싶다면, python과 마찬가지로 부등호를 이용한다. select * from books where released_year = 2017; 위와 같은 코드를 적용하면, 출판년도가 2017년인 책의 데이터가 반환된다. 입력 가능한 부등호 종류는 = 2017 2017과 같다. > 2017 2017보다 크다. = 2017 2017보다 크거나 같다 (순서 중요) = 2004 and released_year = , =, 2021. 3. 17.
728x90