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

MySQL

  1. MySQL에서 테이블의 기본 키(Primary Key)를 조회하는 방법

    MySQL에서 테이블의 기본 키 확인하기MySQL에서 특정 테이블의 기본 키(Primary Key)를 확인하고 싶다면 SHOW INDEX 명령어를 활용하면 됩니다. 이 명령어는 테이블에 설정된 인덱스 정보를 출력해 주며, 여기에 WHERE 절을 추가해 Key_name이 PRIMARY인 행만 필터링하면 기본 키 정보만 깔끔하게 추출할 수 있습니다.기본 문법은 다음과 같습니다.SHOW INDEX FROM 데이터베이스명.테이블명 WHERE Key_name = PRIMARY;복합 기본 키 예제실습을 위해 두 개의 컬럼으로 구성된 복합 기본

  2. MySQL에서 컬럼 크기 늘리기: ALTER TABLE로 열 크기 변경하는 방법

    MySQL에서 기존 테이블의 컬럼(열) 크기를 늘려야 하는 경우가 자주 발생합니다. 예를 들어 varchar(5)로 설정된 컬럼에 더 긴 문자열을 저장해야 할 때, 컬럼 크기를 변경하지 않으면 데이터 입력 오류가 발생합니다. 이럴 때 ALTER 명령어를 사용하면 간단하게 해결할 수 있습니다.컬럼 크기 변경 기본 문법컬럼 크기를 업데이트하려면 다음과 같은 ALTER TABLE ... CHANGE 구문을 사용합니다.ALTER TABLE 테이블이름 CHANGE 컬럼이름 컬럼이름 데이터타입;여기서 주의할 점은 컬럼 이름을 두 번 작성해야

  3. MySQL ENUM 컬럼에 새 값(멤버) 추가하는 방법 – ALTER TABLE 실전 가이드

    MySQL에서 ENUM 타입 컬럼에 새로운 멤버(값)를 추가하려면 ALTER TABLE 명령어와 함께 MODIFY COLUMN 절을 사용하면 됩니다. 이때 중요한 점은 기존에 정의된 값들을 순서 그대로 유지한 채, 새로운 값들을 뒤에 나열해야 한다는 것입니다.기본 문법ALTER TABLE yourTableName MODIFY COLUMN yourColumnName ENUM(기존값1,기존값2,...,새값1,새값2,...);만약 기존 값의 순서를 바꾸거나 중간에 새 값을 삽입하면, ENUM은 내부적으로 정수 인덱스로 저장되기 때문에 기

  4. MySQL에서 쿼리 결과를 사용자 변수에 설정하는 방법

    MySQL에서 쿼리의 결과값을 사용자 변수(user variable)에 저장하려면, 해당 변수를 할당문 안으로 옮겨주어야 합니다. 즉, SET 문과 함께 서브쿼리(subquery)를 활용하면 쿼리 결과를 변수에 직접 담을 수 있습니다.개념을 이해하기 위해 먼저 예제 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.mysql> create table UserVariable -> ( -> Id int, -> Name varchar(100) -> );Query OK, 0 rows

  5. MySQL에서 DATE_ADD() 함수로 날짜를 1년씩 증가시켜 업데이트하는 방법

    MySQL DATE_ADD() 함수로 날짜를 1년씩 증가시키기MySQL에 저장된 날짜(datetime) 데이터를 일괄적으로 1년씩 증가시키고 싶다면, 내장 함수인 DATE_ADD()와 INTERVAL 키워드를 사용하면 됩니다. 기본 문법은 다음과 같습니다.UPDATE yourTableName SETyourDateColumnName = DATE_ADD(yourDateColumnName, INTERVAL 1 YEAR);WHERE 절 없이 실행하면 테이블의 모든 행에 적용되며, 특정 조건의 행만 수정하고 싶다면 뒤에서 설명할 것처럼 WH

  6. MySQL TINYINT(1)과 TINYINT(2)의 차이점은 무엇일까?

    TINYINT(1)과 TINYINT(2), 괄호 안 숫자의 의미는?MySQL에서 TINYINT 뒤에 붙는 숫자 1과 2는 표시 폭(display width)을 나타냅니다. 즉, TINYINT(1)과 TINYINT(2)는 저장할 수 있는 값의 범위나 내부 동작 방식에는 전혀 차이가 없으며, 오직 화면에 표시되는 자릿수만 다릅니다.두 타입의 차이를 가장 명확하게 확인하는 방법은 ZEROFILL 옵션을 함께 사용하는 것입니다. ZEROFILL은 지정된 표시 폭보다 자릿수가 작은 숫자 앞을 0으로 채워 출력해 주는 옵션입니다.tinyint

  7. SQL과 MySQL의 차이점, 핵심만 쉽게 정리

    SQL이란?SQL(Structured Query Language, 구조화 질의 언어)은 데이터베이스에서 데이터를 저장, 조회, 수정, 삭제하기 위해 사용되는 표준 질의 언어입니다. MySQL, SQL Server, Oracle 등 대부분의 관계형 데이터베이스 관리 시스템(RDBMS)이 SQL을 기반으로 동작합니다.SQL은 단순히 데이터를 조회하는 것을 넘어, 데이터베이스 내 데이터에 접근하고 조작·갱신하는 다양한 작업을 명령어 형태로 수행할 수 있습니다. 대표적인 SQL 명령어는 다음과 같습니다.SELECT – 데이터 조회INSER

  8. MySQL DATE_FORMAT() 함수로 DATETIME을 'DD-MM-YYYY HH:MM:SS' 형식으로 출력하는 방법

    MySQL 테이블에서 DATETIME 값을 조회하면 기본적으로 YYYY-MM-DD HH:MM:SS 형식으로 출력됩니다. 만약 이 출력 형식을 변경하고 싶다면 MySQL에서 기본 제공하는 DATE_FORMAT() 함수를 사용하면 됩니다.DATE_FORMAT() 기본 문법SELECT DATE_FORMAT(날짜컬럼명, 원하는형식) AS 별칭 FROM 테이블명;문법을 실제로 이해하기 위해 먼저 예제 테이블을 생성해 보겠습니다.1. 테이블 생성mysql> create table UserDateFormat -> ( -&g

  9. MySQL에서 조건을 지정해 TRUNCATE할 수 있을까? DELETE 문으로 조건부 삭제하는 방법

    MySQL에서는 조건을 지정하여 테이블을 비우는(TRUNCATE) 방법이 없습니다. TRUNCATE 문은 WHERE 절과 함께 사용할 수 없도록 설계되어 있기 때문입니다.따라서 특정 조건에 맞는 데이터만 삭제하고 싶다면 DELETE 명령문을 사용해야 합니다.DELETE FROM yourTableName WHERE yourCondition;TRUNCATE와 DELETE의 차이점위 구문은 정상적으로 동작하지만, 속도 측면에서는 DELETE가 TRUNCATE보다 느립니다. TRUNCATE의 장점은 로그(log)를 기록하지 않기 때문에 대

  10. MySQL에서 OR 조건과 함께 SELECT IF 문 활용하기

    MySQL에서는 SELECT IF 문에 OR 연산자를 함께 사용할 수 있습니다. IF 문은 조건이 참일 때와 거짓일 때 각각 다른 값을 반환하는 조건부 함수로, OR 연산자를 결합하면 여러 조건 중 하나라도 만족하는 경우를 처리할 수 있습니다.1. 예제 테이블 생성먼저 실습을 위해 직원 정보를 저장할 테이블을 생성하겠습니다. 테이블 생성 쿼리는 다음과 같습니다.mysql> create table EmployeeInformation-> (-> EmployeeId int,-> EmployeeName varchar(

  11. MySQL에서 지난 1시간 동안 수정된 테이블 조회하기

    MySQL에서 최근 1시간 이내에 수정된 테이블을 찾고 싶다면 INFORMATION_SCHEMA.TABLES를 활용하면 됩니다. 여기에 DATE_SUB() 함수와 INTERVAL을 함께 사용하면 원하는 시간 범위의 변경 이력을 손쉽게 확인할 수 있습니다.기본 문법SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE DATE_SUB(NOW(), INTERVAL 1 HOUR) < UPDATE_TIME;지난 1시간 동안 수정된 테이블 이름만 조회하기먼저 테이블 이름만 간단히 확인하고 싶은

  12. MySQL에서 뷰(View)를 활용해 테이블을 간편하게 생성하는 방법

    MySQL에서는 CREATE TABLE ... AS SELECT 구문을 사용하면 뷰(View)를 기반으로 손쉽게 새 테이블을 생성할 수 있습니다. 기본 문법은 다음과 같습니다.CREATE TABLE yourTableName AS SELECT yourColumnName1,yourColumnName2,yourColumnName3,........N from yourViewName;위 쿼리를 실행하려면 먼저 원본 테이블을 생성하고, 그 위에 뷰를 만든 뒤, 마지막으로 뷰를 이용해 테이블을 생성하면 됩니다. 단계별로 자세히 살펴보겠습니다.1

  13. 다른 테이블의 MAX 값을 이용해 MySQL AUTO_INCREMENT 재설정하는 방법

    MySQL에서 다른 테이블에 저장된 최대(MAX) 값을 기준으로 AUTO_INCREMENT 값을 재설정해야 하는 경우가 있습니다. 이럴 때 PREPARE 문을 활용하면 동적으로 SQL문을 구성하여 손쉽게 처리할 수 있습니다.기본 문법다음은 다른 테이블의 MAX 값을 가져와 AUTO_INCREMENT를 재설정하는 기본 문법입니다.set @anyVariableName1=(select MAX(yourColumnName) from yourTableName1); SET @anyVariableName2 = CONCAT(ALTER TABLE y

  14. MySQL로 뉴스 테이블에서 최근 6개월간 레코드 조회하는 방법

    MySQL에서 지난 6개월간의 레코드 선택하기뉴스 테이블의 레코드는 일반적으로 날짜를 기준으로 저장됩니다. 이때 MySQL에서 제공하는 date_sub() 함수를 사용하면 특정 기간(예: 최근 6개월) 동안의 레코드를 간단하게 조회할 수 있습니다.date_sub() 함수는 지정한 날짜에서 일정한 시간 간격을 빼는 역할을 하며, now() 함수와 함께 사용하면 현재 시점을 기준으로 과거 데이터를 필터링할 수 있습니다.기본 문법select * from yourTableName where yourDateTimeColumnName >

  15. MySQL GROUP_CONCAT()으로 JSON 형식 만드는 방법 – 단계별 예제 가이드

    MySQL에서는 GROUP_CONCAT() 함수를 사용해 여러 행의 데이터를 하나의 문자열로 결합할 수 있으며, 여기에 CONCAT() 함수를 함께 활용하면 각 행을 JSON 객체 형태로 감싸서 손쉽게 출력할 수 있습니다.1. 기본 문법SELECT yourColumnName1, GROUP_CONCAT(CONCAT({"anyName":", yourColumnName, ", "anyName":", yourColumnName, "})) anyVariable

  16. Linux에서 사용할 수 있는 무료 경량 MySQL GUI 도구 추천

    Linux용 무료 경량 MySQL GUI 도구Linux 환경에서 MySQL 데이터베이스를 관리할 때 가장 먼저 추천할 수 있는 도구는 phpMyAdmin입니다. phpMyAdmin은 PHP와 MySQL이 설치된 모든 시스템에서 사용할 수 있으며, 가장 널리 쓰이는 무료 오픈소스 데이터베이스 관리 도구 중 하나입니다.phpMyAdmin 다운로드phpMyAdmin은 아래 공식 웹사이트에서 무료로 다운로드할 수 있습니다.https://www.phpmyadmin.net/downloads/phpMyAdmin의 주요 기능완전한 오픈소스 도구로

  17. MySQL에서 데이터베이스 필드 값을 1씩 증가시키는 방법

    MySQL에서는 UPDATE 명령어를 사용하여 특정 필드의 값을 손쉽게 1씩 증가시킬 수 있습니다. 예를 들어 로그인 횟수, 조회수, 카운터처럼 숫자를 누적해야 하는 경우에 매우 유용하게 활용됩니다.기본 문법필드 값을 증가시키는 기본적인 UPDATE 문법은 다음과 같습니다.UPDATE 테이블명SET 컬럼명 = 컬럼명 + 1WHERE 조건;SET 절에서 해당 컬럼의 현재 값에 1을 더해 다시 대입하는 방식입니다. WHERE 절을 생략하면 테이블의 모든 행이 증가하므로, 특정 행만 수정할 때는 반드시 조건을 지정해야 합니다.예제 테이블

  18. MySQL에서 숫자를 소수점 둘째 자리까지 표시하는 방법 – TRUNCATE() 함수 활용

    MySQL에서 숫자를 소수점 이하 두 자리 형식으로 표시하려면 TRUNCATE() 함수를 사용하면 됩니다. 이 함수는 지정한 자릿수 뒤의 값을 버리고 잘라낸 결과를 반환합니다.TRUNCATE() 기본 문법SELECT TRUNCATE(yourColumnName, 2) AS anyVariableName FROM yourTableName;문법을 제대로 이해하기 위해 먼저 실습용 테이블을 생성해 보겠습니다.예제 테이블 생성mysql> CREATE TABLE FormatNumberTwoDecimalPlace ( -> Num

  19. MySQL에서 BOOL과 BOOLEAN 데이터 타입의 차이점은 무엇일까?

    MySQL에서 BOOL과 BOOLEAN은 모두 TINYINT(1)와 완전히 동일하게 동작합니다. 즉, 두 키워드 모두 TINYINT(1)의 별칭(synonym)이라고 할 수 있습니다. 따라서 실질적인 기능상의 차이는 없으며, 저장되는 값도 0 또는 1로 처리됩니다.BOOLEAN 사용 예제먼저 BOOLEAN 타입의 컬럼을 가진 테이블을 생성하는 쿼리입니다.mysql> create table Demo -> ( -> isVaidUser boolean -> );Query OK, 0 rows affected

  20. MySQL에서 조건부 INSERT 구현하는 방법 – DUAL 테이블 활용법

    MySQL에서 특정 조건을 만족할 때만 데이터를 삽입하고 싶다면 DUAL 테이블과 NOT EXISTS 절을 함께 사용하는 방법이 효과적입니다. 이 글에서는 예제 테이블을 직접 만들어가며 조건부 삽입(Conditional Insert)의 개념과 실제 구현 방법을 단계별로 살펴보겠습니다.1. 예제 테이블 생성먼저 조건부 삽입 개념을 이해하기 위한 테이블을 생성합니다. 아래 쿼리를 실행해 보세요.mysql> create table ConditionalInsertDemo-> (-> UserId int,-> TotalU

Total 4564 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:159/229  20-컴퓨터/Page Goto:1 153 154 155 156 157 158 159 160 161 162 163 164 165