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

MySQL

  1. MySQL의 주요 기능 완벽 정리: 알아야 할 핵심 특징

    MySQL은 데이터를 효율적으로 저장하고 관리할 수 있도록 돕는 데이터베이스 관리 시스템(DBMS)입니다. 데이터베이스는 일반적으로 데이터를 구조화된 형태로 저장하며, MySQL은 C와 C++ 언어로 작성되어 다양한 컴파일러 환경에서 버그와 비일관성 여부가 철저히 검증된 안정적인 소프트웨어입니다.지금부터 MySQL이 갖춘 핵심 기능들을 하나씩 살펴보겠습니다.1. 오픈소스MySQL은 오픈소스 소프트웨어로, 누구나 자유롭게 다운로드하고 사용하고 수정할 수 있습니다. 사용 비용이 들지 않을 뿐만 아니라 배우기도 쉬워 입문자에게 적합합니다

  2. MySQL의 역사 완벽 정리: 탄생 배경부터 오라클 인수까지

    MySQL은 오픈 소스 SQL(Structured Query Language, 구조화된 질의 언어) 데이터베이스 관리 시스템(DBMS)입니다. 데이터를 효율적으로 저장하고 관리할 수 있도록 도와주는 시스템으로, 일반적으로 데이터베이스는 구조화된 형태로 데이터를 저장합니다.MySQL 연혁 타임라인1981년 – MySQL의 코드 기반이 되는 Unireg 프로젝트가 시작되었습니다.1995년 – 스웨덴에서 MySQL이 처음 만들어졌습니다.2000년 – MySQL이 오픈 소스로 전환되어 누구나 자유롭게 접근하고 사용할 수 있게 되었습니다.2

  3. MySQL 8.0의 새로운 기능 완벽 정리

    MySQL은 그 자체로 매우 강력한 데이터베이스 관리 시스템입니다. 고가의 상용 데이터베이스 패키지가 제공하는 기능 중 상당 부분을 지원하며, 널리 알려진 표준 SQL 데이터 언어를 사용합니다. MySQL 8.0은 2018년 4월 19일에 출시되었으며, 이 글을 작성하는 시점의 최신 버전은 8.0.23입니다.이번 글에서는 MySQL 8.0에 도입된 주요 신기능을 하나씩 살펴보겠습니다.1. 원자적 DDL(Atomic DDL)MySQL 8.0에서는 원자적 DDL(Data Definition Language) 문이 도입되었습니다. 이를

  4. MySQL 8.0의 핵심 신기능 한눈에 보기

    MySQL 8.0은 이전 버전 대비 보안, 성능, 운영 편의성 등 여러 면에서 크게 개선된 기능들을 담고 있습니다. 이번 글에서는 MySQL 8.0에 새롭게 추가된 주요 기능들을 하나씩 살펴보겠습니다.강화된 보안 수준MySQL 8.0에서는 보안 수준이 크게 향상되었으며, DBA(데이터베이스 관리자)에게 계정 관리에 대한 더 많은 유연성이 제공됩니다. 역할(Role) 기반 권한 관리가 도입되어 사용자별로 세분화된 권한 부여와 체계적인 계정 관리가 가능해졌습니다.리소스 그룹(Resource Groups)리소스 그룹을 생성하고 관리할 수

  5. MySQL 8.0에서 지원 중단(Deprecated)된 기능 총정리

    MySQL 8.0에서 지원 중단(deprecated)으로 표시된 일부 기능은 향후 버전에서 완전히 제거될 수 있습니다. 따라서 해당 버전의 지원 중단 기능을 사용하고 있는 애플리케이션이라면, 가능한 한 빨리 코드를 점검하고 대체 방안으로 전환하는 것이 좋습니다.이 글에서는 MySQL 8.0에서 지원 중단된 주요 기능들을 항목별로 정리해 살펴보겠습니다.1. 문자셋(Character Set) 관련utf8mb3 문자셋이 지원 중단되었습니다. 앞으로는 utf8mb4를 사용해야 합니다. utf8mb4는 이모지를 포함한 모든 유니코드 문자를

  6. MySQL 8.0에서 제거된 기능 완벽 정리: 마이그레이션 시 주의사항

    MySQL 8.0에서 제거된 주요 기능 개요MySQL 8.0으로 업그레이드하면서 일부 기능이 더 이상 사용되지 않게 되었고, 최종적으로 제거되었습니다. 제거된 항목에 대한 대체 방법이 제공되는 경우, 향후 발생할 수 있는 호환성 문제를 피하기 위해 반드시 해당 대체 방법을 사용해야 합니다.가장 대표적인 예로, innodb_locks_unsafe_for_binlog 시스템 변수가 MySQL 8.0에서 완전히 제거되었습니다. 이 변수와 유사하게 동작하는 READ COMMITTED 격리 수준(isolation level)을 대신 사용할

  7. MySQL에서 1일보다 오래된 타임스탬프의 행 조회하는 방법

    MySQL에서 특정 날짜가 현재 시점으로부터 1일보다 오래된 데이터를 조회하려면 from_unixtime() 함수와 now() 함수를 함께 사용하면 됩니다.from_unixtime()은 유닉스 타임스탬프(정수형 숫자)를 사람이 읽을 수 있는 DATETIME 형식으로 변환해 주며, now() - interval 1 day 표현식으로 현재 시간에서 하루 전 시점을 구할 수 있습니다.예제 테이블 생성먼저 유닉스 타임스탬프를 저장할 테이블을 생성합니다.mysql> create table demo75-> (-> due_dat

  8. MySQL에서 고유한 성(last name)을 가진 모든 사용자 조회하기

    MySQL에서 고유한(중복되지 않는) 성(last name)을 가진 모든 사용자를 찾으려면 GROUP BY 절과 HAVING COUNT() 함수를 함께 사용하면 됩니다. 이 방법은 특정 성이 테이블 내에서 한 번만 등장하는 경우를 필터링할 때 유용합니다.먼저 예제에 사용할 테이블을 생성해 보겠습니다.테이블 생성 예제mysql> create table demo76 -> ( -> firstName varchar(20), -> lastName varchar(20) -> ); Quer

  9. MySQL에서 두 테이블의 ID로 사용자 이름 조회하기 – JOIN 쿼리 완벽 가이드

    MySQL에서 두 개의 테이블에 걸쳐 ID를 기준으로 사용자 이름(username)을 조회하려면 JOIN을 사용해야 합니다. JOIN은 공통 컬럼(여기서는 ID)을 기준으로 여러 테이블의 데이터를 하나로 연결해 주는 SQL의 핵심 기능입니다.이해를 돕기 위해 실제 예제를 통해 단계별로 살펴보겠습니다.1단계: 첫 번째 테이블 생성먼저 사용자 정보를 저장할 테이블을 생성합니다.mysql> create table demo77 -> ( -> userid int not null primary key, -

  10. MySQL에서 쉼표를 구분자로 사용해 하나의 열을 두 개의 열로 분리하는 방법

    MySQL에서 쉼표(,)로 구분된 데이터가 저장된 하나의 열을 두 개의 열로 나누려면 substring_index() 함수를 사용하면 됩니다. 이 함수는 지정한 구분자를 기준으로 문자열을 잘라내어 원하는 부분만 반환해 주기 때문에, 이름과 성처럼 쉼표로 묶여 있는 값을 손쉽게 분리할 때 매우 유용합니다.먼저 예제에 사용할 테이블을 생성해 보겠습니다.테이블 생성mysql> create table demo79-> (-> fullname varchar(50)-> );Query OK, 0 rows affected (0

  11. MySQL에서 날짜 형식 변경하기: 2020-04-30을 30-04-2020으로 표시하는 방법

    MySQL 데이터베이스에 저장된 날짜는 기본적으로 YYYY-MM-DD 형식(예: 2020-04-30)으로 저장됩니다. 하지만 경우에 따라 DD-MM-YYYY 형식(예: 30-04-2020)처럼 다른 형태로 날짜를 화면에 표시해야 할 필요가 있습니다.이럴 때 MySQL에서 제공하는 DATE_FORMAT() 함수를 사용하면 간단하게 해결할 수 있습니다. 이 함수는 저장된 날짜 값을 원하는 형식의 문자열로 변환하여 반환합니다.DATE_FORMAT() 함수 문법SELECT DATE_FORMAT(yourColumnName, %d-%m-%Y)

  12. MySQL FIND_IN_SET() 함수로 쉼표 구분 목록 문자열에서 값 조회하기

    쉼표로 구분된 문자열이 저장된 컬럼에서 특정 값이 포함된 행을 찾으려면 FIND_IN_SET() 함수를 사용하면 됩니다. 이 함수는 첫 번째 인수로 전달한 값이 두 번째 인수의 쉼표 구분 목록 안에 있으면 해당 위치(1부터 시작)를 반환하고, 없으면 0을 반환합니다.예제 테이블 생성먼저 테이블을 생성해 보겠습니다.mysql> create table demo81-> (-> id int not null auto_increment primary key,-> username varchar(200)-> );Quer

  13. MySQL에서 다른 테이블의 값을 사용하여 INSERT INTO 쿼리 실행하는 방법

    한 테이블의 데이터를 다른 테이블로 삽입하려면 INSERT INTO ... SELECT 문을 사용하면 됩니다. 이 문법은 SELECT 쿼리의 결과를 그대로 다른 테이블에 삽입할 수 있어 매우 유용합니다.먼저 예제에 사용할 첫 번째 테이블을 생성해 보겠습니다.테이블 생성 예제mysql> create table demo82-> (-> id int,-> name varchar(20)-> );Query OK, 0 rows affected (2.06 sec)INSERT 명령을 사용하여 테이블에 레코드를 추가합니다.

  14. MySQL에서 동일한 ID를 가진 행의 합계(SUM) 구하기 – GROUP BY와 HAVING 활용법

    MySQL에서 동일한 ID를 가진 여러 행의 합계를 구하려면 GROUP BY 절과 HAVING 절을 함께 사용하면 됩니다. GROUP BY는 같은 ID끼리 행을 하나의 그룹으로 묶어주고, HAVING은 그룹화된 결과에 조건을 적용해 원하는 그룹만 필터링합니다.먼저 예제에 사용할 테이블을 생성해 보겠습니다.테이블 생성mysql> create table demo84 -> ( -> id int, -> price int -> ) -> ;Query OK, 0 rows affected

  15. MySQL에서 테이블의 단일 행에 NULL 값이 포함되어 있는지 확인하는 방법

    MySQL에서 특정 행의 컬럼 값 중 하나라도 NULL인지 확인하려면 IS NULL 조건을 활용할 수 있습니다. 이 글에서는 예제 테이블을 만들고, 단일 행에 NULL 값이 존재하는지 확인하는 쿼리를 단계별로 살펴보겠습니다. 1. 예제 테이블 생성 먼저 두 개의 varchar 타입 컬럼을 가진 테이블을 생성합니다. mysql> create table demo86 -> ( -> value1 varchar(20), -> value2 varchar(20) -> ); Query OK,

  16. Java를 활용해 MySQL 테이블 값 조회하고 출력하는 방법

    MySQL 테이블에 저장된 값을 Java로 조회해 화면에 출력하려면 ResultSet 개념을 활용하면 됩니다. 데이터베이스 연결은 MySQL JDBC 드라이버를 통해 수행합니다.전체 과정을 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table demo87 -> ( -> name varchar(20), -> age int -> ) ->;Query OK, 0 rows affected (0.62 sec)2. 레코드

  17. MySQL LIMIT로 특정 범위의 행 조회하기 – 처음 3개 행만 출력하는 방법

    MySQL LIMIT 절의 기본 개념MySQL에서 LIMIT 절은 쿼리 결과 중 원하는 만큼의 행만 가져올 때 사용합니다. 특히 시작 인덱스, 행 개수 형태로 범위를 지정하면, 결과 집합의 특정 구간만 손쉽게 추출할 수 있습니다.기본 문법SELECT * FROM 테이블명 LIMIT 시작인덱스, 가져올행수;여기서 시작 인덱스는 0부터 시작한다는 점에 유의해야 합니다. 즉, 첫 번째 행의 인덱스는 0입니다. 따라서 처음 3개 행을 조회하려면 LIMIT 0, 3과 같이 작성하면 됩니다.예제 테이블 생성먼저 실습용 테이블을 생성하겠습니다.

  18. MySQL에서 여러 행 레코드를 하나로 결합하는 방법

    MySQL에서 행 레코드 결합하기MySQL에서 여러 개의 행(row) 레코드를 하나의 행으로 결합하려면 CASE WHEN 개념과 함께 집계 함수인 MAX()를 활용하면 됩니다. 이 방식은 조건부 피벗(Pivot) 쿼리라고도 불리며, 국가별 직원 정보처럼 카테고리별 데이터를 열 형태로 변환할 때 매우 유용합니다.먼저 예제에 사용할 테이블을 생성해 보겠습니다.mysql> create table demo68-> (-> id int not null auto_increment primary key,-> company_n

  19. MySQL에서 모든 varchar 열 행을 업데이트해 슬래시 앞의 값만 표시하는 방법

    MySQL에서 varchar 열에 저장된 값 중 슬래시(/) 앞부분만 남기고 싶다면 UPDATE 명령과 SUBSTRING_INDEX() 함수를 함께 사용하면 됩니다. 이 글에서는 실제 예제를 통해 테이블 생성부터 데이터 수정까지 단계별로 살펴보겠습니다.1. 테이블 생성하기먼저 예제에 사용할 테이블을 생성합니다.mysql> create table demo69-> (-> name varchar(40)-> );Query OK, 0 rows affected (5.04 sec)2. 샘플 데이터 삽입하기INSERT 명령을

  20. MySQL에서 행을 검색할 때 AND와 OR 연산자의 차이점은 무엇일까?

    MySQL에서 AND와 OR 연산자의 핵심적인 차이는 다음과 같습니다. AND 연산자는 두 조건이 모두 참(true)이어야 전체 조건이 참이 되지만, OR 연산자는 두 조건 중 하나만 참이어도 전체 조건이 참이 됩니다.예제 테이블 생성하기먼저 실습에 사용할 테이블을 만들어 보겠습니다.mysql> create table demo70 -> ( -> id int not null auto_increment primary key, -> name varchar(20), -> age int -> ); Query

Total 4564 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:9/229  20-컴퓨터/Page Goto:1 3 4 5 6 7 8 9 10 11 12 13 14 15