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

MySQL

  1. 명령줄에서 MySQL 테이블 복구하는 방법

    MySQL의 REPAIR TABLE 명령은 InnoDB 엔진에는 적용되지 않으며, 오직 MyISAM 엔진 타입의 테이블에만 사용할 수 있습니다. 따라서 테이블을 복구하기 전에 먼저 엔진 타입을 MyISAM으로 변경해야 합니다. 다음은 전체 과정을 단계별로 살펴보는 예시입니다. 1단계: 테이블 생성 mysql> create table RepairTableDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affecte

  2. MySQL 루트 사용자의 전체 권한을 복원하는 방법

    MySQL 루트 사용자 권한 복원 개요MySQL에서 루트(root) 사용자의 전체 권한을 실수로 잃어버렸다면 UPDATE 명령문을 사용하여 손쉽게 복원할 수 있습니다. 이 글에서는 단계별로 루트 계정의 모든 권한을 되돌리는 방법을 알아보겠습니다.1단계: mysqld 중지 후 --skip-grant-tables 옵션으로 재시작가장 먼저 현재 실행 중인 mysqld 서비스를 중지한 뒤, --skip-grant-tables 옵션을 붙여 다시 시작해야 합니다. 이 옵션은 권한 테이블을 로드하지 않고 서버를 구동하기 때문에, 권한이 없는 상

  3. MySQL에서 함수 기반 인덱스 생성하는 방법 완벽 가이드

    MySQL에서 함수 기반 인덱스를 사용할 수 있나요?MySQL 5.6 미만 버전에서는 함수 기반 인덱스를 생성할 수 없었습니다. 이 글에서는 MySQL에서 함수 기반 인덱스를 만드는 방법을 단계별로 살펴보겠습니다.1단계: 테스트용 테이블 생성먼저 함수 기반 인덱스를 적용할 테이블을 생성합니다. ); Query OK, 0 rows affected (0.70 sec)2단계: 함수 기반 인덱스 생성 문법함수 기반 인덱스를 생성하는 기본 문법은 다음과 같습니다.create index index_name on yourTableName (co

  4. MySQL 재시작 없이 느린 쿼리 로그(Slow Query Log) 활성화하는 방법

    MySQL 재시작 없이 느린 쿼리 로그 활성화하기MySQL에서는 SET 문을 사용하면 서버를 다시 시작하지 않고도 느린 쿼리 로그(slow query log)를 즉시 활성화할 수 있습니다. 운영 중인 데이터베이스 환경에서 성능 문제를 분석할 때 매우 유용한 방법입니다.1. 느린 쿼리 로그 활성화 구문기본적인 구문은 다음과 같습니다.SET GLOBAL slow_query_log = Value;위 구문에서 Value 자리에는 ON 또는 OFF 값을 입력할 수 있습니다. 느린 쿼리 로그를 활성화하려면 아래와 같이 실행합니다.mysql&g

  5. MySQL에서 CONCAT과 GROUP_CONCAT을 함께 사용하는 방법

    MySQL에서는 GROUP_CONCAT 함수 내부에 CONCAT 함수를 조합하여 여러 레코드의 값을 하나의 문자열로 깔끔하게 연결할 수 있습니다. 이번 글에서는 예제 테이블을 만들고, 두 함수를 함께 사용하는 방법을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table GroupConcatenateDemo-> (-> id int,-> FirstName varchar(100),-> Score int-> );Query OK, 0 rows a

  6. MySQL에서 InnoDB 엔진으로 테이블을 생성하는 방법

    MySQL에서 테이블을 생성할 때 InnoDB 스토리지 엔진을 지정하려면 ENGINE 옵션을 사용하면 됩니다. InnoDB는 트랜잭션 처리와 외래 키 제약 조건을 지원하는 MySQL의 기본 스토리지 엔진으로, 안정적인 데이터 관리에 적합합니다.InnoDB 엔진 테이블 생성하기테이블 생성 쿼리 마지막에 ENGINE=INNODB를 추가하여 InnoDB 엔진 기반의 테이블을 만들 수 있습니다.mysql> create table EmployeeRecords - > ( - > EmpId int, - > EmpName v

  7. MySQL에서 MyISAM 엔진으로 테이블 생성하는 방법 완벽 가이드

    MySQL에서 MyISAM 엔진을 사용하는 테이블을 생성하려면 CREATE TABLE 문 마지막에 ENGINE 옵션을 지정하면 됩니다. 이 글에서는 MyISAM 엔진 테이블을 만드는 방법과, 실제로 해당 엔진이 적용되었는지 확인하는 여러 가지 방법까지 단계별로 살펴보겠습니다. 1. MyISAM 엔진으로 테이블 생성하기 테이블을 생성할 때 문장 끝에 ENGINE=MyISAM을 추가하면 해당 테이블은 MyISAM 스토리지 엔진으로 생성됩니다. )ENGINE=MyISAM; Query OK, 0 rows affected (0.26 se

  8. MySQL에서 MyISAM을 InnoDB 스토리지 엔진으로 변환하는 방법

    MyISAM 엔진으로 생성된 MySQL 테이블을 InnoDB로 변환하려면 ALTER 명령어를 사용하면 됩니다. 이 글에서는 실제 예제를 통해 변환 과정을 단계별로 살펴보겠습니다. 1. MyISAM 엔진으로 테이블 생성하기 먼저 MyISAM 엔진을 사용하는 테이블을 생성해 보겠습니다. mysql> create table MyISAMToInnoDBDemo -> ( -> id int, -> Name varchar(100) -> )ENGINE=MyISAM; Query OK, 0 rows a

  9. MySQL 잠금 대기 시간 초과(Lock Wait Timeout) 오류 디버깅 방법

    MySQL 잠금 대기 시간 초과(Lock Wait Timeout)란? MySQL에서 Lock wait timeout exceeded 오류는 주로 특정 스레드(트랜잭션)가 레코드에 대한 잠금을 비정상적으로 오랫동안 점유하고 있을 때 발생합니다. 하나의 스레드가 일부 레코드를 매우 긴 시간 동안 붙잡고 있다면, 해당 레코드에 접근하려는 다른 트랜잭션은 기본 대기 시간(기본값 50초, innodb_lock_wait_timeout)이 초과될 때까지 기다리게 되며, 결국 이 오류와 함께 실패합니다. 따라서 문제를 해결하려면 먼저 어떤 트랜잭

  10. MySQL 트리거로 다른 테이블에 행 자동 삽입하기

    MySQL에서는 트리거(Trigger)를 활용하면 한 테이블에 데이터가 삽입될 때 다른 테이블에도 자동으로 동일한 데이터를 기록할 수 있습니다. 이번 글에서는 AFTER INSERT 트리거를 만들어 두 개의 테이블에 데이터를 동시에 저장하는 과정을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 CREATE 명령어를 사용하여 첫 번째 테이블을 생성합니다.mysql> create table Table1-> (-> id int,-> name varchar(100)-> );Query OK, 0 rows affe

  11. MySQL 밀리초·마이크로초 정밀도, 어떤 버전부터 지원될까?

    MySQL 5.6.4 이전 버전에서는 밀리초/마이크로초 단위의 시간 정밀도를 지원하지 않았습니다. 하지만 최신 버전의 MySQL에서는 TIMESTAMP, DATETIME, TIME 타입에 대해 밀리초/마이크로초 정밀도를 공식적으로 지원합니다.MySQL 공식 발표 내용MySQL 공식 문서에는 다음과 같이 명시되어 있습니다.“MySQL은 이제 TIME, DATETIME, TIMESTAMP 값에 대해 소수 초(fractional seconds)를 지원하며, 최대 마이크로초(microsecond) 정밀도까지 표현할 수 있습니다.”MySQL

  12. MySQL에서 한 데이터베이스의 테이블을 다른 데이터베이스로 복사하는 방법

    MySQL에서는 INSERT INTO ... SELECT 구문을 활용하면 한 데이터베이스에 있는 테이블의 데이터를 다른 데이터베이스의 테이블로 간단하게 복사할 수 있습니다.기본 문법테이블을 한 데이터베이스에서 다른 데이터베이스로 복사하는 기본 문법은 다음과 같습니다.INSERT INTO 대상데이터베이스명.대상테이블명 SELECT * FROM 원본데이터베이스명.원본테이블명;이제 실제 예제를 통해 복사 과정을 단계별로 살펴보겠습니다.1단계: 원본 테이블 생성먼저 CREATE 명령어를 사용해 business 데이터베이스에 새로운 테이블을

  13. MySQL에 현재 날짜와 시간을 삽입하는 방법

    MySQL에 현재 날짜/시간 삽입하기MySQL에서 현재 날짜와 시간을 삽입하려면 NOW() 함수를 사용하면 됩니다. NOW() 함수는 쿼리가 실행되는 시점의 날짜와 시간을 YYYY-MM-DD HH:MM:SS 형식으로 반환해 주기 때문에, 별도의 변환 작업 없이 간편하게 활용할 수 있습니다. 지금부터 실제 예제를 통해 살펴보겠습니다.1단계: 테이블 생성먼저 데이터를 저장할 테이블을 만들어야 합니다. 테이블 생성에는 CREATE TABLE 명령어를 사용합니다.mysql > CREATE TABLE CurrentDateTime->

  14. MySQL에서 실행 중인 모든 쿼리 목록을 확인하는 방법

    MySQL에서 현재 실행 중인 쿼리나 연결 상태를 확인하려면 SHOW PROCESSLIST 명령어를 사용하면 됩니다. 이 명령어는 현재 서버에 접속한 모든 스레드의 정보를 보여주므로, 느린 쿼리를 추적하거나 잠금(lock) 문제를 진단할 때 매우 유용합니다.SHOW PROCESSLIST 기본 사용법실행 중인 쿼리 목록을 확인하려면 아래와 같이 show processlist 명령어를 입력합니다.mysql> SHOW processlist;위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.+----+-----------------+

  15. MySQL에서 기존 컬럼에 NOT NULL 제약 조건을 추가하는 방법

    MySQL에서 이미 존재하는 컬럼에 NOT NULL 제약 조건을 추가하려면 ALTER 명령어를 사용합니다. 이 제약 조건은 사용자가 해당 컬럼에 NULL 값을 입력하는 것을 방지하는 일종의 데이터 유효성 검사 역할을 합니다.예제 테이블 생성하기먼저 예제로 사용할 테이블을 만들어 보겠습니다. 테이블 생성에는 CREATE 명령어를 사용합니다. ); Query OK, 0 rows affected (0.44 sec) 레코드 삽입하기테이블에 데이터를 삽입해 보겠습니다. insert into AddNotNUlldemo values(Bob);

  16. MySQL에서 기존 필드를 고유(UNIQUE)하게 만드는 방법

    MySQL에서 고유(UNIQUE) 제약 조건이란 해당 컬럼에 중복된 값을 저장할 수 없도록 하는 규칙입니다. 즉, 동일한 데이터가 두 번 이상 입력되는 것을 데이터베이스 차원에서 자동으로 차단해 줍니다.테이블 생성 시 UNIQUE 제약 조건 설정하기먼저 테이블을 생성하는 시점에 컬럼에 UNIQUE 제약 조건을 적용하는 방법부터 살펴보겠습니다. 아래 예제에서는 name 컬럼에 UNIQUE 옵션을 지정했습니다.mysql> create table UniqueConstDemo-> (-> name varchar(100) un

  17. MySQL 쿼리에서 DISTINCT와 COUNT를 함께 사용하는 방법

    MySQL에서는 DISTINCT와 COUNT를 하나의 쿼리 안에서 함께 사용할 수 있습니다. 이 두 함수를 조합하면 중복된 값을 제거한 상태에서 고유한 값의 개수를 손쉽게 계산할 수 있습니다.이 글에서는 실제 예제를 통해 테이블 생성부터 데이터 삽입, 그리고 COUNT(DISTINCT ...)를 활용한 고유 값 집계 방법까지 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 CREATE 명령어를 사용하여 테이블을 생성합니다.mysql> create table DistCountDemo -> ( -> id int,

  18. MySQL에서 필드 값의 선행·후행 공백 제거하기: TRIM() 함수 활용법

    MySQL에서 문자열 앞뒤에 붙어 있는 불필요한 공백(선행 공백과 후행 공백)을 제거하려면 TRIM() 함수를 사용하면 됩니다. 데이터 입력 과정에서 실수로 공백이 포함되는 경우가 많은데, 이러한 공백은 검색이나 조건 비교 시 예상치 못한 오류를 일으킬 수 있으므로 반드시 정리해 주는 것이 좋습니다.TRIM() 함수 기본 문법TRIM() 함수의 기본적인 사용 방법은 다음과 같습니다.mysql> SELECT TRIM( 공백이_포함된_문자열 );TRIM() 함수 사용 예제아래 쿼리는 문자열 양쪽 끝의 공백을 실제로 제거하는 예시입

  19. MySQL DATETIME을 Unix 타임스탬프로 변환하는 방법

    MySQL에서 날짜와 시간(DATETIME)을 Unix 타임스탬프로 변환하려면 UNIX_TIMESTAMP() 함수를 사용하면 됩니다. 이 함수는 지정한 날짜·시간 값을 1970년 1월 1일 00:00:00 UTC 기준으로 경과한 초 단위의 정수 값으로 반환합니다. UNIX_TIMESTAMP()로 변환하기 아래 쿼리는 문자열 형태의 날짜를 STR_TO_DATE() 함수로 파싱한 뒤, Unix 타임스탬프로 변환하는 예제입니다. mysql> SELECT UNIX_TIMESTAMP(STR_TO_DATE(Oct 19 2018 10:0

  20. MySQL에서 KEY 키워드의 의미와 사용법 완벽 정리

    MySQL에서 KEY란 무엇인가? MySQL에서 KEY는 INDEX(인덱스)와 동의어입니다. 즉, 특정 컬럼에 대한 인덱스를 생성하고 싶다면 KEY 키워드를 사용하면 됩니다. MySQL 공식 문서에서는 이를 다음과 같이 설명하고 있습니다. KEY는 일반적으로 INDEX의 동의어입니다. PRIMARY KEY 속성은 컬럼 정의 시 단순히 KEY로만 지정할 수도 있으며, 이는 다른 데이터베이스 시스템과의 호환성을 위해 구현된 기능입니다. PRIMARY KEY와 함께 KEY 사용하기 먼저 예제 테이블을 생성해 보겠습니다. 아래 쿼리는 id

Total 4564 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:171/229  20-컴퓨터/Page Goto:1 165 166 167 168 169 170 171 172 173 174 175 176 177