3주차 월요일
1
COUNT(*)와 COUNT(column_name)의 차이점
- COUNT(*):
- COUNT(*) 는 테이블의 모든 행을 계산합니다.
- NULL 값을 포함하여 테이블의 모든 행 수를 반환합니다.
- 테이블의 전체 행 수를 알고 싶을 때 주로 사용합니다.
- COUNT(column_name):
- COUNT(column_name) 은 해당 컬럼에 있는 값의 개수를 계산합니다.
- NULL 값은 포함하지 않습니다.
- 특정 컬럼의 값이 있는 행 수를 알고 싶을 때 주로 사용합니다.
예를 들어, 다음과 같은 테이블이 있다고 가정합시다:
1 | John | 25 |
2 | Jane | NULL |
3 | Bob | 30 |
- COUNT(*) 결과: 3 (테이블의 전체 행 수)
- COUNT(name) 결과: 2 (name 컬럼에 값이 있는 행 수)
- COUNT(age) 결과: 2 (age 컬럼에 값이 있는 행 수)
따라서, COUNT(*) 는 테이블의 전체 행 수를 반환하고, COUNT(column_name) 은 해당 컬럼에 값이 있는 행 수를 반환합니다.
2
DATE_FORMAT 함수
DATE 함수가 제대로 작동하지 않는다면, MySQL에서 날짜 부분만 추출하기 위해 DATE_FORMAT 함수를 사용할 수 있습니다. DATE_FORMAT 함수는 날짜와 시간 데이터를 원하는 형식으로 변환할 수 있습니다.
날짜 부분만 추출하려면 '%Y-%m-%d' 형식을 사용하면 됩니다.
아래는 예제입니다:
SELECT animal_id, name, DATE_FORMAT(datetime, '%Y-%m-%d') AS "날짜"
FROM animal_ins
ORDER BY animal_id;
이 쿼리는 animal_ins 테이블에서 animal_id, name, 그리고 datetime 칼럼에서 날짜 부분만 추출하여 날짜라는 별칭으로 반환합니다. 시간 부분은 완전히 제거되고, 날짜 부분만 YYYY-MM-DD 형식으로 출력됩니다.
이 방법을 사용하면 시간 부분이 00:00:00으로 출력되는 문제를 해결할 수 있습니다.
대문자 Y는 4자리 YYYY
소문자 y는 2자리 yy
3. Python에서의 나누기
파이썬에서 수학적 연산을 수행할 때 자주 사용되는 함수와 연산자에 대해 설명드리겠습니다.
- math.floor: 소수점 아래를 버리고 가장 가까운 작은 정수로 내림합니다.
- math.ceil: 소수점 아래를 올리고 가장 가까운 큰 정수로 올림합니다.
- '{0:.1f}'.format(a): 문자열 포맷팅을 사용하여 소수점 이하 자리를 지정할 수 있습니다.
- divmod(a, b): 두 숫자를 나누어 몫과 나머지를 동시에 반환합니다.
예제 코드를 통해 각 함수와 연산자를 사용하는 방법을 보여드리겠습니다
4. Python 문자열을 대/소문자로 변경하는 방법
upper() 와 lower() 메서드는 문자열 데이터를 대문자 또는 소문자로 변환하는 데 사용되는 메서드입니다.
- upper() 메서드:
- 문자열의 모든 문자를 대문자로 변환합니다.
- 사용 방법: 문자열.upper()
- 예시:
text = "Hello, World!" uppercase_text = text.upper() print(uppercase_text) # Output: HELLO, WORLD!
- lower() 메서드:
- 문자열의 모든 문자를 소문자로 변환합니다.
- 사용 방법: 문자열.lower()
- 예시:
text = "HELLO, WORLD!" lowercase_text = text.lower() print(lowercase_text) # Output: hello, world!
이러한 메서드는 다음과 같은 경우에 유용하게 사용될 수 있습니다:
- 사용자 입력을 정규화하여 대소문자 구분 없이 처리할 때
- 문자열 비교 시 대소문자 구분을 피하고자 할 때
- 문서 처리 등에서 일관성 있는 대소문자 형식을 유지하고자 할 때
예를 들어, 사용자가 입력한 이메일 주소를 모두 소문자로 변환하여 저장하는 경우 등에 lower() 메서드가 유용할 수 있습니다.
5. Today
재밌다