Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL

  1. MySQL에서 컬럼(열)과 함께 테이블 이름을 조회하는 방법

    INFORMATION_SCHEMA.COLUMNS로 테이블 이름과 컬럼 함께 조회하기MySQL에서 특정 데이터베이스에 어떤 테이블이 있고, 각 테이블에 어떤 컬럼(열)이 포함되어 있는지 한눈에 확인하고 싶다면 INFORMATION_SCHEMA.COLUMNS 테이블을 활용하면 됩니다. 이 시스템 뷰에는 MySQL 서버가 관리하는 모든 스키마, 테이블, 컬럼의 메타데이터가 저장되어 있으므로, 별도의 관리 도구 없이 SQL 쿼리만으로 데이터베이스 구조를 손쉽게 파악할 수 있습니다.기본 문법SELECT DISTINCT TABLE_NAME,

  2. MySQL LIMIT으로 테이블의 첫 번째 행과 마지막 행 레코드 조회하기

    MySQL에서 LIMIT 절을 활용하면 테이블의 첫 번째 행과 마지막 행 데이터를 손쉽게 조회할 수 있습니다. 핵심 아이디어는 두 개의 SELECT 문을 UNION으로 결합하는 것입니다. 하나는 첫 번째 행을 가져오고, 다른 하나는 오프셋(offset)을 이용해 마지막 행을 가져옵니다.1. 예제 테이블 생성먼저 실습에 사용할 테이블을 생성합니다. 직원 ID, 이름, 나이를 저장하는 테이블입니다.mysql> create table FirstAndLastDataDemo -> ( -> EmployeeId i

  3. MySQL에서 WHERE id IN (...) 조건으로 지정한 순서대로 결과를 정렬하는 방법

    MySQL에서 WHERE id IN (...) 조건을 사용할 때, 기본적으로 결과는 지정한 값의 순서가 아닌 임의의 순서(주로 저장 순서나 인덱스에 따라)로 반환됩니다. 만약 IN 절에 나열한 값의 순서 그대로 결과를 가져오고 싶다면 FIND_IN_SET() 함수를 활용해야 합니다.FIND_IN_SET()을 이용한 정렬 문법FIND_IN_SET() 함수는 문자열 목록에서 특정 값이 몇 번째 위치에 있는지를 반환하므로, 이를 ORDER BY 절과 함께 사용하면 원하는 순서대로 정렬할 수 있습니다.SELECT * FROM yourTab

  4. MySQL에서 현재 일·월·연도 기준으로 레코드 필터링하는 방법

    MySQL에서 로그인 시간처럼 날짜와 시간이 저장된 데이터를 다루다 보면, 오늘 날짜(현재 일, 월, 연도)에 해당하는 레코드만 조회해야 하는 경우가 자주 있습니다. 예를 들어 사용자의 로그인 기록을 저장한 테이블이 있다면, 오늘 접속한 사용자, 이번 달에 접속한 사용자, 올해 접속한 사용자를 각각 필터링할 수 있어야겠죠.이 글에서는 YEAR(), MONTH(), DAY() 함수와 NOW() 함수를 조합하여 현재 날짜 기준으로 레코드를 필터링하는 방법을 단계별로 알아보겠습니다.1. 샘플 테이블 생성먼저 사용자 로그인 정보를 저장할

  5. MySQL에서 정규 표현식으로 데이터 검사를 강제하는 방법

    네, MySQL에서도 정규 표현식(Regular Expression)을 활용해 데이터 검사를 강제할 수 있습니다. 방법은 간단합니다. 먼저 테이블을 생성한 후, 해당 테이블에 BEFORE INSERT 트리거를 만들어 INSERT가 실행되기 전에 데이터 형식을 검증하도록 하는 것입니다. 이 글에서는 전화번호 형식을 검사하는 예제를 통해 그 과정을 단계별로 살펴보겠습니다.1. 테이블 생성하기가장 먼저 전화번호를 저장할 테이블을 생성합니다. 아래 쿼리를 실행하면 yourPhoneNumber라는 컬럼 하나를 가진 테이블이 만들어집니다.my

  6. MySQL 정수 열에 양수만 입력되도록 제약 조건 설정하는 방법

    MySQL에서 특정 열에 음수가 입력되지 않도록 양의 정수 제약 조건을 설정하려면 UNSIGNED 속성을 사용해야 합니다. UNSIGNED로 선언된 열에는 음수를 저장할 수 없기 때문에 자연스럽게 양수 값만 허용됩니다.UNSIGNED 열 생성 문법기본적인 문법은 다음과 같습니다.CREATE TABLE 테이블명 ( 컬럼명 INT UNSIGNED );테이블 생성 예제개념을 이해하기 위해 실제로 테이블을 생성해 보겠습니다. 아래 쿼리는 양수 값만 저장할 수 있는 Marks 열을 가진 테이블을 만듭니다.mysql> create

  7. Java로 MySQL 데이터베이스 테이블의 마지막 레코드 가져오는 방법

    MySQL에서 마지막 레코드 조회하기MySQL 데이터베이스에서 데이터를 가져오려면 Java의 executeQuery() 메서드를 사용해야 합니다. 이 글에서는 sample 데이터베이스에 테이블을 생성하고, Java 코드를 통해 해당 테이블의 마지막 레코드를 조회하는 방법을 단계별로 살펴보겠습니다.마지막 레코드를 가져오는 핵심은 ORDER BY DESC 절과 LIMIT 1을 함께 사용하는 것입니다. ID를 내림차순으로 정렬한 후 첫 번째 행만 선택하면, 곧 가장 최근에 삽입된 레코드를 얻을 수 있습니다.1단계: MySQL 테이블 생성

  8. MySQL에서 문자열을 분할해 테이블에 개별 값으로 삽입하는 방법

    MySQL에서 문자열 분할 후 개별 값 삽입하기MySQL에서는 준비된 문(Prepared Statement)을 활용하면 쉼표로 구분된 문자열을 분할하여 각각의 개별 값으로 테이블에 삽입할 수 있습니다. 이 글에서는 그 과정을 단계별로 살펴보겠습니다.1단계: 테이블 생성먼저 데이터를 저장할 테이블을 생성해야 합니다. 다음 쿼리를 사용하세요.mysql> CREATE TABLE University-> (-> UserId int,-> UniversityId int-> );Query OK, 0 rows affect

  9. MySQL SUBSTRING_INDEX()로 파일명 열에서 파일 확장자만 추출하는 방법

    MySQL에서 파일 이름이 저장된 문자열 열에서 파일 확장자만 추출하고 싶다면 SUBSTRING_INDEX() 함수를 사용하면 됩니다. 이 함수는 구분자를 기준으로 문자열을 나누고, 지정한 위치의 부분 문자열을 반환합니다.SUBSTRING_INDEX() 함수 문법SELECT SUBSTRING_INDEX(컬럼명, ., -1) AS 별칭 FROM 테이블명;여기서 세 번째 인자에 -1을 지정하면 마지막 마침표(.) 뒤에 있는 문자열, 즉 파일 확장자가 반환됩니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성해 보겠습니다. 아래 쿼

  10. MySQL 단일 쿼리에서 서로 다른 두 개의 열 개수 세기 – CASE 문 활용 방법

    MySQL에서 하나의 쿼리로 두 개의 서로 다른 열 집계하기MySQL에서는 CASE 문과 SUM() 함수를 조합하면 하나의 쿼리만으로 서로 다른 두 개의 열에 대한 조건부 카운트를 동시에 수행할 수 있습니다. 이 기법은 특정 조건을 만족하는 행의 개수를 여러 관점에서 한 번에 집계해야 할 때 매우 유용합니다.개념을 이해하기 위해 먼저 예제 테이블을 생성해 보겠습니다.1. 테이블 생성아래 쿼리로 예제 테이블을 만듭니다.mysql> create table CountDifferentDemo    - > ( &

  11. MySQL에서 ID 컬럼을 NULL 값으로 선택하는 방법

    MySQL에서 실제 존재하지 않는 ID 컬럼을 조회 결과에 포함시키고 싶을 때가 있습니다. 이럴 때 NULL 값을 가상의 컬럼으로 선택하는 기법을 활용하면 됩니다. 이 글에서는 예제 테이블을 만들고, 데이터를 삽입한 뒤, ID 컬럼을 NULL로 선택하는 방법을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다. 아래는 테이블을 만드는 CREATE TABLE 쿼리입니다.mysql> create table selectAllDemo - > ( - > Name varchar(100

  12. MySQL 쿼리로 상관계수(상관 관계)를 계산하는 방법

    네, MySQL 쿼리만으로도 두 변수 간의 상관관계(correlation)를 충분히 계산할 수 있습니다. 별도의 애플리케이션 로직 없이 avg(), stddev_samp() 같은 집계 함수와 사용자 정의 변수를 조합하면 피어슨 상관계수(Pearson correlation coefficient)를 직접 구할 수 있습니다.이 글에서는 예제 테이블을 만들고 데이터를 삽입한 뒤, 실제 상관계수를 계산하는 전체 과정을 단계별로 살펴보겠습니다.1단계: 예제 테이블 생성먼저 상관관계를 분석할 두 개의 숫자 컬럼을 가진 테이블을 생성합니다.mys

  13. MySQL 테이블에 'created at' 타임스탬프 열을 추가하는 방법

    MySQL에서 이미 생성된 테이블에 레코드 생성 시간을 자동으로 기록하려면 ALTER 명령어를 사용해 created at 열을 추가할 수 있습니다. 이 글에서는 TIMESTAMP 타입의 열을 추가하고 기본값을 CURRENT_TIMESTAMP로 설정하는 방법을 단계별로 살펴보겠습니다.1. 예제 테이블 생성하기먼저 created at 열이 없는 테이블을 생성해 보겠습니다. 아래 쿼리는 Id, Email, PhoneNumber, Country, Platform 열을 가진 formDemo 테이블을 만드는 예제입니다.mysql> cre

  14. MySQL 테이블 삽입 시 발생하는 '잘못된 날짜/시간 값' 오류 해결 방법

    MySQL에서 데이터를 삽입할 때 ERROR 1292 (22007): Incorrect datetime value 오류가 발생하는 경우가 많습니다. 이 오류를 피하려면 STR_TO_DATE() 함수를 사용하면 됩니다.MySQL의 DATETIME 형식은 YYYY-MM-DD HH:MM:SS이며, 이 형식과 다른 형태의 날짜 문자열을 그대로 삽입하려고 하면 오류가 발생합니다. 아래에서 오류가 발생하는 과정과 해결 방법을 단계별로 살펴보겠습니다.1. 오류가 발생하는 상황먼저 테스트용 테이블을 생성합니다.mysql> create tab

  15. MySQL 단일 쿼리로 ID 열의 모든 행을 1씩 증가시키는 방법

    UPDATE 문으로 ID 열 전체를 1씩 증가시키기MySQL에서 특정 ID 열의 모든 행 값을 한 번에 1씩 증가시키려면 UPDATE 명령문을 사용하면 됩니다. 이때 ORDER BY ... DESC 절을 함께 사용하는 것이 핵심인데요. ID 열이 기본 키(PRIMARY KEY)로 설정되어 있어 값의 고유성이 요구되는 경우, 가장 큰 값부터 내림차순으로 업데이트해야 중복 오류 없이 처리할 수 있기 때문입니다.쿼리의 기본 문법은 다음과 같습니다.UPDATE yourTableName SET yourIdColumnName = yourIdC

  16. MySQL 데이터베이스는 어디에 저장될까? 실제 저장 위치 확인 방법

    MySQL 데이터베이스의 실제 저장 위치 확인하기MySQL에서 데이터베이스를 생성하면 물리적으로 어디에 저장될까요? 데이터베이스가 생성되는 위치(데이터 디렉터리)를 확인하려면 MySQL 시스템 변수인 @@datadir를 사용하면 됩니다.1. @@datadir 변수로 저장 경로 조회저장 위치를 확인하는 기본 문법은 다음과 같습니다.SELECT @@datadir;실제로 MySQL에 접속한 후 아래와 같이 쿼리를 실행해 보겠습니다.mysql> select @@datadir;쿼리를 실행하면 다음과 같은 결과가 출력되며, 이것이 바로

  17. MySQL에서 TEXT 열을 TIMESTAMP 데이터 유형으로 변경하는 방법

    MySQL 열의 데이터 유형을 TEXT에서 TIMESTAMP로 변경하기MySQL에서 기존 열의 데이터 유형을 TEXT에서 TIMESTAMP로 변경하려면 ALTER 명령어를 사용해야 합니다.기본 문법은 다음과 같습니다.ALTER TABLE 테이블이름 MODIFY COLUMN 열이름 TIMESTAMP;위 문법을 실제로 이해하기 위해 예제 테이블을 하나 만들어 보겠습니다.1. 예제 테이블 생성테이블 생성 쿼리는 다음과 같습니다.mysql> create table textTotimestampdemo    &

  18. MySQL에서 마지막으로 삽입된 행 조회하는 방법: LAST_INSERT_ID() 완벽 가이드

    MySQL에서 마지막으로 삽입된 행 가져오기MySQL 테이블에 AUTO_INCREMENT 컬럼이 설정되어 있다면, LAST_INSERT_ID() 함수를 사용하여 가장 최근에 삽입된 레코드의 ID를 손쉽게 확인할 수 있습니다. 이 함수는 현재 세션에서 마지막으로 성공적으로 삽입된 행의 자동 증가 값을 반환합니다.기본 문법SELECT LAST_INSERT_ID();예제 테이블 생성하기실제 동작을 이해하기 위해 예제 테이블을 먼저 만들어 보겠습니다. 아래 쿼리로 LastInsertedRow라는 이름의 테이블을 생성합니다.mysql>

  19. MySQL 저장 프로시저에서 단일 SELECT 문으로 두 개의 변수를 설정하는 방법

    MySQL에서는 SELECT ... INTO 구문을 활용하면 하나의 SELECT 문만으로 여러 개의 변수에 값을 동시에 할당할 수 있습니다. 이 글에서는 저장 프로시저(Stored Procedure) 내부에서 단일 SELECT 문으로 두 개의 변수를 설정하는 방법을 예제와 함께 단계별로 살펴보겠습니다.1단계: 테이블 생성먼저 예제에 사용할 새로운 테이블을 MySQL에서 생성합니다.mysql> create table useProcedure -> ( -> Id int NOT NULL AUTO_INCREMENT P

  20. MySQL에서 범위별로 GROUP BY를 구현하는 방법

    MySQL에서 숫자 데이터를 특정 범위(예: 10 단위)별로 묶어 집계하려면 ROUND 함수와 UNION을 활용하면 됩니다. 이 글에서는 예제 테이블을 만들고, 값의 크기에 따라 그룹으로 나누어 개수를 세는 방법을 단계별로 살펴보겠습니다.1. 예제 테이블 생성하기먼저 범위별로 그룹화할 숫자 값을 저장할 테이블을 생성합니다. 아래 쿼리는 자동 증가되는 Id 컬럼과 정수형 값 컬럼으로 구성된 테이블을 만듭니다.mysql> create table GroupByRangeDemo - > ( - > Id int

Total 4564 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:132/229  20-컴퓨터/Page Goto:1 126 127 128 129 130 131 132 133 134 135 136 137 138