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

MySQL

  1. MySQL에서 자동 증분(AUTO_INCREMENT)이 적용된 두 개의 열로 구성된 복합 기본 키 만드는 방법

    MySQL에서 두 개의 열로 이루어진 복합 기본 키(Primary Key)에 자동 증분(AUTO_INCREMENT)을 적용하려면 MyISAM 스토리지 엔진을 사용해야 합니다. InnoDB 엔진에서는 복합 키의 일부 열에 AUTO_INCREMENT를 지정할 수 없지만, MyISAM에서는 복합 기본 키의 마지막 열에 자동 증분을 설정하면 각 그룹별로 번호가 매겨집니다.아래 예제를 통해 실제 동작 방식을 확인해 보겠습니다.1. 두 개의 열을 기본 키로 하는 테이블 생성먼저 Result와 StudentId 두 개의 열을 복합 기본 키로 지

  2. MySQL에서 VALUES 절로 여러 행을 한 번에 삽입하는 방법

    MySQL에서는 INSERT 문의 VALUES 절을 활용하면 여러 개의 행(레코드)을 한 번의 쿼리로 손쉽게 삽입할 수 있습니다. 각 행의 값들을 괄호 ()로 묶고, 행과 행 사이는 쉼표(,)로 구분해 주면 됩니다. 이 방식은 행마다 INSERT 문을 반복 실행하는 것보다 쿼리 호출 횟수가 줄어들어 성능 면에서도 유리합니다.기본 문법MySQL에서 여러 행을 삽입할 때 사용하는 기본 문법은 다음과 같습니다.INSERT INTO yourTableName(yourColumnName1, yourColumnName2, ..., yourCol

  3. MySQL에서 ONLY_FULL_GROUP_BY 모드 비활성화하는 방법

    MySQL에서 ONLY_FULL_GROUP_BY는 GROUP BY 절에 포함되지 않은 컬럼을 SELECT할 때 오류를 발생시키는 SQL 모드입니다. 데이터의 일관성을 높여주지만, 기존 쿼리가 동작하지 않는 원인이 되기도 합니다. 이 글에서는 이 모드를 활성화하고 비활성화하는 방법을 알아보겠습니다.ONLY_FULL_GROUP_BY 활성화하기SET 명령어를 사용하면 간단하게 ONLY_FULL_GROUP_BY 모드를 활성화할 수 있습니다.mysql> SET sql_mode = ONLY_FULL_GROUP_BY;Query OK, 0

  4. MySQL에서 NULL을 허용하도록 열(Column)을 수정하는 방법

    개요이 글에서는 NOT NULL 제약 조건이 적용된 테이블을 생성한 뒤, ALTER TABLE 문을 사용해 특정 열을 수정하여 NULL 값을 허용하도록 변경하는 방법을 단계별로 살펴봅니다.NOT NULL 제약 조건이 있는 테이블 생성먼저 NOT NULL 제약 조건이 설정된 테이블을 만들어 보겠습니다. mysql> create table AllowNullDemo -> ( -> id int not null -> ); Query OK, 0 rows affected (0.48 sec) 레코드 삽입 및

  5. MySQL에서 기본 키(Primary Key) 제거하는 방법 완벽 가이드

    MySQL에서 테이블의 기본 키(Primary Key)를 제거하려면 DROP PRIMARY KEY 명령어를 사용하면 됩니다. 개념을 쉽게 이해하기 위해 먼저 특정 컬럼을 기본 키로 설정한 테이블을 생성해 보겠습니다.1. 기본 키가 있는 테이블 생성mysql> create table PrimaryKeyDemo-> (-> id int not null,-> Primary key(id)-> );Query OK, 0 rows affected (0.60 sec)2. 테이블 구조 확인하기이제 DESC 명령어를 사용하여

  6. MySQL ZEROFILL이란? 개념부터 실전 예제까지 한눈에 보기

    MySQL의 ZEROFILL 속성은 컬럼 정의 시 설정한 표시 너비(display width)만큼 숫자 값 앞을 0으로 채워서 출력해 주는 기능입니다. 예를 들어 int(18)로 정의된 컬럼에 값 1을 저장하면, 화면에는 000000000000000001처럼 18자리를 맞춰 표시됩니다.그렇다면 ZEROFILL은 실제로 어떤 상황에서 유용할까요? 아래 예제를 통해 그 역할을 자세히 살펴보겠습니다.ZEROFILL 비교용 테이블 생성하기ZEROFILL의 차이를 확인하기 위해 두 개의 컬럼을 가진 테이블을 만들어 보겠습니다. 첫 번째 컬럼

  7. MySQL에서 인덱스 목록을 조회하는 방법

    SHOW 명령어로 MySQL 인덱스 확인하기 먼저 MySQL에서 인덱스 정보를 표시하는 방법부터 살펴보겠습니다. 인덱스를 확인할 때는 SHOW 명령어를 사용합니다. 인덱스를 조회하는 쿼리는 다음과 같습니다. mysql> SHOW INDEX FROM indexingdemo; 위 쿼리의 실행 결과입니다. +--------------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+--

  8. MySQL 데이터베이스 테이블 크기 확인 방법 – information_schema 활용하기

    MySQL 데이터베이스에서 각 테이블이 차지하는 디스크 용량을 확인하고 싶다면 information_schema.TABLES 뷰를 활용하는 것이 가장 간편한 방법입니다. 이 시스템 뷰에는 테이블 이름, 데이터 길이(DATA_LENGTH), 인덱스 길이(INDEX_LENGTH) 등 다양한 메타데이터가 저장되어 있어, 이를 조합하면 테이블별 실제 크기를 손쉽게 계산할 수 있습니다. MySQL 테이블 크기 조회 기본 문법 특정 데이터베이스에 속한 모든 테이블의 크기를 MB(메가바이트) 단위로 한 번에 확인하려면 아래 쿼리를 사용하세요.

  9. Java로 MySQL 데이터베이스에서 데이터를 삭제하는 방법 완벽 가이드

    MySQL 데이터베이스에서 데이터를 삭제하려면 DELETE 명령어를 사용합니다. 기본 문법은 다음과 같습니다.delete from 테이블명 where 조건;1. 예제 테이블 생성 및 데이터 삽입이번 글에서는 Java 프로그래밍 언어를 활용해 MySQL 데이터베이스의 데이터를 삭제하는 방법을 단계별로 살펴보겠습니다. 먼저 실습에 사용할 테이블을 생성하고 샘플 데이터를 삽입하겠습니다.테이블을 생성하는 쿼리는 다음과 같습니다.mysql> create table DeleteTableDemo-> (-> id int,->

  10. Java로 MySQL 데이터베이스 데이터 업데이트하는 방법 완벽 가이드

    MySQL 테이블의 데이터를 Java로 업데이트하는 방법MySQL 데이터베이스 테이블의 기존 데이터를 수정하려면 UPDATE 명령어를 사용합니다. 기본 문법은 다음과 같습니다.update yourTableName set yourColumnName1 = value1,....N where condition;UPDATE 문은 WHERE 조건절과 함께 사용해야 원하는 레코드만 정확하게 수정할 수 있습니다. WHERE 절을 생략하면 테이블의 모든 행이 변경되므로 각별히 주의해야 합니다.1단계: 테이블 생성하기먼저 실습에 사용할 테이블을 생성

  11. MySQL Workbench로 데이터베이스 다이어그램 자동 생성하는 방법

    MySQL에서 데이터베이스 구조를 시각적으로 확인하고 싶다면 MySQL Workbench의 리버스 엔지니어링(Reverse Engineer) 기능을 활용하면 됩니다. 이 기능은 실제 데이터베이스의 테이블, 컬럼, 관계 등을 자동으로 분석하여 EER(Enhanced Entity-Relationship) 다이어그램 형태로 시각화해 줍니다.리버스 엔지니어링 실행 방법MySQL Workbench를 실행한 후, 상단 메뉴에서 아래와 같이 Database → Reverse Engineer 옵션을 선택합니다.Database -> Rever

  12. MySQL에서 SAVEPOINT로 중첩 트랜잭션 구현하는 방법

    MySQL은 기본적으로 중첩 트랜잭션을 직접 지원하지 않지만, SAVEPOINT 문을 활용하면 사실상 중첩 트랜잭션과 같은 효과를 낼 수 있습니다. SAVEPOINT를 사용하면 트랜잭션 내에 이름이 지정된 저장 지점을 만들고, 필요할 때 해당 지점까지만 롤백하여 전체 트랜잭션을 취소하지 않고도 특정 작업만 되돌릴 수 있습니다.중첩 트랜잭션 처리 순서전체 작업 흐름은 다음과 같습니다.테이블을 생성합니다.트랜잭션을 시작합니다(START TRANSACTION).테이블에 레코드를 삽입합니다.SAVEPOINT 문으로 식별자 이름을 가진 저장

  13. MySQL에서 ALTER TABLE로 복합 기본 키(Composite Primary Key) 추가하기

    MySQL에서 복합 기본 키(Composite Primary Key)를 추가하려면 ALTER 명령어를 사용하면 됩니다. 이번 글에서는 실제 예제를 통해 단계별로 살펴보겠습니다. 1. 데모 테이블 생성 먼저 예제로 사용할 테이블을 생성합니다. 테이블 생성 쿼리는 다음과 같습니다. mysql> create table CompositePrimaryKey -> ( -> Id int, -> StudentName varchar(100), -> Age int -> ); Query OK

  14. MySQL 테이블에서 UNIQUE 제약 조건을 삭제하는 방법

    MySQL에서 컬럼에 UNIQUE 제약 조건이 설정되어 있으면 중복된 값을 입력할 수 없습니다. 이번 글에서는 UNIQUE 제약 조건이 적용된 테이블을 만들고, 실제로 중복 값 입력 시 오류가 발생하는지 확인한 뒤, 해당 제약 조건을 삭제하는 방법까지 단계별로 살펴보겠습니다. 1. UNIQUE 제약 조건이 있는 테이블 생성 먼저 Name 컬럼에 UNIQUE 제약 조건을 설정하여 테이블을 생성합니다. 이렇게 하면 해당 컬럼에는 중복된 값을 추가할 수 없습니다. mysql> create table UniqueConstraint

  15. MySQL에서 기존 열을 AUTO_INCREMENT로 변경하는 방법

    MySQL 열에 AUTO_INCREMENT 속성 추가하기이미 생성된 테이블의 특정 열에 AUTO_INCREMENT 속성을 추가해야 하는 경우가 종종 있습니다. 이럴 때는 ALTER TABLE 문과 함께 MODIFY 명령어를 사용하면 됩니다.이번 글에서는 데모 테이블을 직접 만들고, 기존 열을 AUTO_INCREMENT로 변경한 뒤, 실제로 값이 자동으로 증가하는지까지 단계별로 확인해 보겠습니다.1단계: 테스트용 테이블 생성먼저 예제로 사용할 테이블을 생성합니다.mysql> CREATE TABLE AddingAutoIncreme

  16. MySQL BigInt(20)과 Int(20)의 차이점 완벽 정리

    MySQL에서 int 타입은 4바이트 부호 있는 정수, 즉 32비트를 차지하며 최대 232개의 값을 저장할 수 있습니다. 반면 BigInt 타입은 8바이트 부호 있는 정수, 즉 64비트를 사용하므로 264개의 값을 저장할 수 있습니다.괄호 안 숫자(20)의 의미int(20)이나 BigInt(20)처럼 타입 뒤에 붙는 숫자는 저장 크기가 아니라 표시 폭(display width)을 나타냅니다. 즉, 이 숫자는 실제 저장 용량이나 값의 범위에는 영향을 주지 않으며, zerofill 옵션과 함께 사용될 때 숫자 앞을 0으로 채우는 역할을

  17. MySQL에서 SHOW PROCESSLIST 출력을 사용자 정의하는 방법

    MySQL SHOW PROCESSLIST를 사용자 정의하는 방법MySQL에서 SHOW PROCESSLIST 명령은 현재 서버에 연결된 스레드와 실행 중인 쿼리의 상태를 확인할 때 유용하게 사용됩니다. 하지만 이 명령은 출력 형식이 고정되어 있어 원하는 컬럼만 선택하거나 정렬하기 어렵다는 단점이 있습니다.이러한 한계를 극복하려면 information_schema 데이터베이스의 PROCESSLIST 테이블을 활용하면 됩니다. 이 테이블은 MySQL 5.1.7 버전부터 제공되었으며, 일반 테이블처럼 SELECT, WHERE, ORDER

  18. MySQL에서 NULL 값을 0으로 반환하는 방법 – IFNULL() 함수 완벽 가이드

    MySQL에서 NULL을 0으로 변환하는 방법MySQL에서 쿼리 결과에 포함된 NULL 값을 0으로 반환해야 하는 경우가 자주 있습니다. 예를 들어, 집계 결과나 리포트를 만들 때 NULL 대신 0을 표시하는 것이 훨씬 읽기 편합니다. 이럴 때 사용할 수 있는 것이 바로 IFNULL() 함수입니다.IFNULL()의 기본 문법은 다음과 같습니다.IFNULL(표현식, 0);첫 번째 인자의 값이 NULL이면 두 번째 인자로 지정한 값(여기서는 0)을 반환하고, NULL이 아니라면 원래 값을 그대로 반환합니다.1. 예제용 테이블 생성하기먼

  19. MySQL 사용자 계정 목록 확인 방법 완벽 가이드

    MySQL 사용자 계정 목록 조회하기MySQL 서버에 등록된 사용자 계정 목록을 확인하려면 mysql.user 테이블에 SELECT 쿼리를 실행하면 됩니다. 이 테이블에는 서버의 모든 사용자 계정 정보가 저장되어 있어, 간단한 쿼리 한 줄로 전체 계정 현황을 파악할 수 있습니다.1. 사용자 계정 목록 조회 쿼리다음은 MySQL 사용자 계정 목록을 출력하는 가장 기본적인 쿼리입니다. SELECT User FROM mysql.user; 위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다. +------------------+ | User

  20. MySQL DESCRIBE 명령어 완벽 정리: 테이블 구조 확인하는 방법

    MySQL에서 DESCRIBE와 DESC는 완전히 동일한 명령어입니다. DESC는 DESCRIBE의 축약형으로, 테이블에 대한 정보를 빠르게 확인할 때 사용됩니다. DESCRIBE 명령어란? DESCRIBE 명령어를 실행하면 테이블의 구조를 한눈에 파악할 수 있습니다. 구체적으로 다음과 같은 정보를 보여줍니다. 컬럼(Field) 이름 데이터 타입(Type) NULL 허용 여부 키(Key) 설정 여부 기본값(Default) 추가 속성(Extra) SHOW COLUMNS와의 동일성 사실 DESCRIBE 명령어는 아래 명령어와 결과가

Total 4564 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:166/229  20-컴퓨터/Page Goto:1 160 161 162 163 164 165 166 167 168 169 170 171 172