일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- streamlit
- 자바스크립트
- 자바초보
- 자바프로그래밍
- java
- 웹대시보드 기초
- 스트림릿
- 판다스공부
- 안드로이드 스튜디오
- 안드로이드 앱 개발
- Matplotlib 기초
- db
- serverless
- JavaScript
- 자바스크립트 공부
- 판다스
- Android
- 스트림릿 기본
- Pandas
- 파이썬공부
- Streamlit기초
- 자바
- 자바기초
- 자바공부
- 웹대시보드 제작
- Streamlit기본
- RESTful API
- MySQL
- 파이썬
- 데이터베이스
- Today
- Total
목록데이터베이스 (17)
ruriruriya
SQL 문을 통해 데이터베이스를 다루다 보면 다중 컬럼이 아닌 1개의 컬럼에 대해서 UNIQUE 설정을 해야할 때가 오는데 MySQL workbench에서는 손쉽게 설정할 수 있다. 1. UNIQUE 설정 테이블 설정에서 Columns 의 해당 컬럼에 UQ 체크박스를 선택하고 Apply. 2. 설정 확인방법 SQL insert 문으로 해당 컬럼 값 추가해서 확인하기. ddd@naver.com 라는 이메일을 두번 추가하면 두번 째에는 에러코드 Error Code : 1062가 뜬다. Duplicate entry 즉, 중복된 항목으로 Unique 설정으로 허용하지 않는다는 소리이다. insert into user (email) values ('ddd@naver.com'); 이렇게 MySQL workbench..
MySQL에서 ON DELETE CASCADE는 외래 키(foreign key) 제약 조건에서 사용되는 옵션 중 하나이다. 이 설정을 사용하면 참조하는 테이블에서 행을 삭제할 때, 해당 행을 참조하는 다른 테이블의 관련된 행도 자동으로 삭제된다. 예를 들어, USER 테이블과 PHOTOS 테이블이 있고, PHOTOS 테이블의 외래 키가 USER 테이블을 참조하는 경우를 생각해보자. USER 테이블의 행이 삭제되면, 이와 연관된 PHOTOS 테이블의 행도 자동으로 삭제된다. foreign key의 on delete cascade 설정방법 1. 외래 키(foreign key) 설정 해당 테이블 설정에 들어가서 Foreign Key를 새로 생성하면서 Foreign Key Options - on Delete :..
MySQL에서 Error Code 1062는 "Duplicate entry" 에러를 나타낸다. 이 오류는 데이터베이스에서 유니크(unique) 또는 프라이머리 키(primary key) 제약 조건을 위반하여 중복된 값을 삽입하려고 할 때 발생한다. 이 오류를 해결하기 위해서는: 중복 값을 확인: 데이터베이스에 이미 존재하는 값인지 확인해야 한다. SELECT 쿼리를 사용하여 중복된 값을 확인하고, 삽입하려는 값이 이미 존재하는지 확인할 수 있다. 고유한 값을 삽입하거나 업데이트: 중복된 값을 삽입하려는 것을 방지하기 위해 고유한 값을 삽입하거나, 이미 존재하는 값을 업데이트하여 유니크 또는 프라이머리 키 제약 조건을 만족시킬 수 있습니다. 제약 조건 확인 및 수정: 테이블의 제약 조건을 확인하여 중복을 ..
SQL에서의 UNIQUE는 데이터베이스의 테이블 컬럼에 적용되는 제약 조건(Constraint) 중 하나이다. 이는 해당 컬럼(또는 컬럼들)이 가지는 값들이 중복되지 않도록 보장하는 역할을 한다. 테이블의 unique 설정하는 방법 1. 해당 테이블 설정에서 Indexes 시트로 이동 2. Index Name에서 새로 추가하여 Type 을 UNIQUE로 변경한다.(★중요★) 3.Index Columns에서 중복이 되면 안되는 두 컬럼을 체크박스를 선택한다. 그리고 Apply 4. 그리고 다시 중복값을 넣어 테스트 해본다. 값이 user_id 컬럼이 2이고 photo_id 컬럼이 1인 행은 중복이 될 수 없도록 설정이 되었다. 이렇게 안전하게 중복을 막음으로써 버그 등을 방지할 수 있다. UNIQUE 제약..
MySQL에서 CASE 문과 IF 문은 조건부 로직을 수행하는데 사용된다. 이를 통해 조건에 따라 다른 값을 반환하거나 특정 조건에 따라 다른 작업을 수행할 수 있다. 사용할 테이블(books) 1. CASE문 사용방법 SQL의 case 문은 다른 언어랑 비슷하게 쓰인다. 아래는 case의 기본 구조이다. 예제로 어떻게 작동되는지 알아보자. CASE 컬럼명 WHEN 값1 THEN 결과 WHEN 값2 THEN 결과 ... ELSE 나머지 결과값 END 예제 01 - 출판년도가 2000년 이상인 책들은, '최근책' 이라고 하고, 그렇지 않은 책들은 '예전책'이라고 하여, type 이라는 컬럼을 추가하여 가져오시오. select * , case when released_year >= 2000 then '최근책..
IS NULL은 MySQL에서 NULL 값인지를 확인하기 위해 사용되는 조건으로 NULL은 데이터가 존재하지 않거나 알 수 없는 값을 나타낸다. 사용할 테이블(books) is null Null 이 있는 데이터만 가져오는 방법 다른 문자열이나 숫자열과 다르게 = 부호가 아닌 is 키워드를 사용한다. 이 부분이 많이 혼동될 수 있어서 많이 틀리는 부분이니 잘 알아두도록 하자. 재고가 null 인 데이터만 가져오시오. select * from books where stock_quantity is null; is not null is null의 반대로 null 이 없는 데이터를 찾는 방법이다. select * from books where stock_quantity is not null; ifnull() 함수..
서브쿼리(Sub Query)는 SQL 쿼리 안에 포함된 또 다른 쿼리를 말한다. 서브쿼리는 외부 쿼리의 조건에 따라 결과를 동적으로 생성하고, 그 결과를 이용해 조건을 만족하는 데이터를 조회하는 데 사용된다. 사용할 테이블(books) 예제로 다른 방법과 비교해 보자. 예제) pages 가 가장 긴 책의, title 과 pages 를 보여주세요. 방법 01 - pages를 내림차순으로 정리한 다음 limit 키워드로 위에 1행만 가져온다. select title, pages from books order by pages desc limit 0,1; 방법 02 - max 함수를 사용해서 pages 의 최대값을 찾은 다음 where 키워드로 조건문을 사용해 해당 행을 찾는다. select max(pages)..
GROUP BY 및 HAVING은 데이터베이스에서 데이터를 그룹화하고 조건에 따라 필터링하는 데 사용되는 중요한 키워드이다. 사용할 테이블(books) GROUP BY 카테고리컬 데이터의 경우 ~ 별로 묶어서 처리할 수 있다. 특정 열의 값을 기준으로 데이터를 그룹화하고 이후 집계 함수(COUNT(), SUM(), AVG(), MAX(), MIN() 등)와 함께 사용하여 그룹별로 요약된 데이터를 얻을 수 있다. author_lname 별로, 몇 권의 책을 썼는지 권수를 보여주세요. select author_lname, count(*) as book_count from books group by author_lname; 년도별로 각각 몇 권의 책이 출간되었는지 년도와 책의 갯수를 보여주세요. select ..