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

MySQL

  1. MySQL 테이블에 새로운 행 삽입하는 방법 – INSERT INTO 완벽 정리

    MySQL에서 INSERT INTO 명령문을 사용하면 테이블에 새로운 행(row), 즉 레코드를 손쉽게 삽입할 수 있습니다. 이는 MySQL에서 데이터를 추가하는 가장 기본적이면서도 가장 많이 사용되는 방법입니다.기본 문법INSERT INTO table_name VALUES (value1, value2, ...);테이블에 정의된 모든 컬럼에 값을 순서대로 입력하려면 위와 같이 테이블 이름과 삽입할 값들을 나열하면 됩니다. 이때 값의 순서는 반드시 테이블의 컬럼 순서와 일치해야 합니다.예제예를 들어, Emp_id, Emp_name,

  2. MySQL LAST_INSERT_ID() 함수의 용도와 사용법 완벽 정리

    MySQL의 LAST_INSERT_ID() 함수는 AUTO_INCREMENT 속성이 적용된 컬럼에서 가장 최근에 자동으로 생성된 시퀀스 번호를 조회하는 함수입니다. 새로운 레코드를 삽입한 직후 자동 생성된 ID 값이 필요할 때 매우 유용하게 사용됩니다.LAST_INSERT_ID() 함수의 주요 특징현재 연결(connection)에서 가장 최근에 INSERT된 행의 AUTO_INCREMENT 값을 반환합니다.연결 단위로 관리되기 때문에 다른 클라이언트의 INSERT 작업 결과에 영향을 받지 않습니다.특정 테이블이 아니라 서버 연결 전

  3. 다중 행 삽입 시 MySQL LAST_INSERT_ID() 함수의 출력에는 어떤 영향이 있을까?

    MySQL의 LAST_INSERT_ID() 함수는 가장 최근에 생성된 시퀀스 번호(AUTO_INCREMENT 값)를 반환하는 함수로 널리 알려져 있습니다. 하지만 다중 행 삽입(multiple-row insert)을 수행할 경우에는 예상과 달리 가장 먼저 삽입된 행에서 생성된 시퀀스 번호를 반환합니다. 예제 mysql> Insert into Student(Name) values(Ram),(Mohan),(Aryan); Query OK, 3 rows affected (0.03 sec) Records: 3 Duplicates: 0

  4. MySQL에서 특정 문자의 ASCII 코드 값을 구하는 함수는 무엇일까?

    MySQL ASCII() 함수란?MySQL에서 특정 문자의 숫자 코드(ASCII 값)를 확인하고 싶다면 ASCII() 함수를 사용하면 됩니다. 이 함수는 문자열 함수의 하나로, 전달받은 문자열에서 가장 왼쪽에 있는 문자, 즉 첫 번째 문자의 ASCII 숫자 코드를 반환합니다.문법(Syntax)ASCII(str)여기서 str은 ASCII() 함수의 인자로, 첫 번째 문자의 ASCII 값을 얻고자 하는 문자열을 의미합니다.주의할 점은, 문자열 전체가 아니라 맨 앞의 한 글자에 대한 코드만 반환된다는 것입니다. 예를 들어 여러 글자로 된

  5. MySQL UPDATE문의 SET 절에서 서브쿼리가 여러 행을 반환하면 어떻게 될까?

    UPDATE 문의 SET 절에서 새로운 값을 할당하기 위해 서브쿼리(subquery)를 사용할 때, 해당 서브쿼리는 WHERE 조건과 일치하는 업데이트 대상 테이블의 각 행마다 정확히 하나의 행만 반환해야 합니다. 만약 서브쿼리가 두 개 이상의 행을 반환하면, MySQL은 다음과 같은 오류 메시지를 출력합니다.예시먼저 info 테이블에 데이터를 추가하고 전체 내용을 확인해 보겠습니다.mysql> insert into info(id, remarks) values(5,average); Query OK, 1 row affected

  6. MySQL VARCHAR 열의 최대 길이는 얼마일까?

    MySQL VARCHAR 데이터 타입 개요VARCHAR 데이터 타입은 가변 길이 문자 데이터를 저장하며, 단일 바이트 문자와 멀티바이트 문자를 모두 지원합니다. 이 데이터 타입의 문법은 VARCHAR(n) 형태로, 여기서 n은 저장할 수 있는 최대 문자 수를 의미하며 테이블을 생성할 때 반드시 지정해야 합니다.MySQL 5.0.3 미만 버전에서는 n의 값이 0~255 범위로 제한되었지만, MySQL 5.0.3부터는 0~65,535 범위까지 확장되었습니다.문자셋에 따른 최대 저장 가능 문자 수VARCHAR에 실제로 저장할 수 있는 최

  7. MySQL에서 지원하는 모든 문자 집합을 확인하는 쿼리(SHOW CHARACTER SET)

    MySQL은 전 세계 다양한 언어를 지원하기 위해 수십 가지의 문자 집합(character set)을 내장하고 있습니다. 현재 MySQL 서버가 지원하는 문자 집합의 전체 목록을 확인하려면 SHOW CHARACTER SET 문 하나만 실행하면 됩니다.mysql> SHOW CHARACTER SET; +-----------+-----------------------------+---------------------+--------+ | Charset | Description | Default col

  8. MySQL DISTINCT 키워드로 결과 집합에서 고유한 행만 조회하는 방법

    MySQL에서 SELECT 문에 DISTINCT 키워드를 사용하면 결과 집합에 포함된 중복 행을 제거하고 고유한(unique) 행만 손쉽게 조회할 수 있습니다. 데이터 정리나 리포트 작성 시 중복 값을 걸러내야 할 때 매우 유용하게 활용됩니다.기본 사용 예제먼저 다음과 같이 중복 데이터가 들어 있는 names 테이블을 살펴보겠습니다.mysql> Select * from names; +------+-----------+ | id | name | +------+-----------+ | 1 | Rahul

  9. MySQL 테이블에서 단일 행(레코드)을 삭제하는 방법

    MySQL 테이블에서 특정 행 하나를 삭제하려면 DELETE 문과 함께 해당 행을 정확히 식별하는 WHERE 절을 사용하면 됩니다. WHERE 절은 삭제 대상이 되는 행을 지정하는 역할을 하며, 이를 생략하면 테이블의 모든 행이 삭제되므로 반드시 주의해야 합니다.예제먼저 names 테이블에 저장된 데이터를 조회해 보겠습니다.mysql> Select * from names; +------+-----------+ | id | name | +------+-----------+ | 1 | Rahul | | 2

  10. MySQL 서버의 모든 데이터베이스 기본 문자 집합(Character Set) 확인 방법

    서버에 존재하는 모든 MySQL 데이터베이스의 기본 문자 집합(default character set)을 한 번에 확인하고 싶다면, information_schema.SCHEMATA 테이블을 조회하는 것이 가장 간단하고 확실한 방법입니다.기본 문자 집합 조회 쿼리아래 쿼리를 실행하면 데이터베이스 이름과 함께 해당 데이터베이스의 기본 문자 집합을 확인할 수 있습니다.mysql> SELECT SCHEMA_NAME Database, default_character_set_name charset FROM information_sche

  11. MySQL에서 특정 데이터베이스의 기본 문자 집합(Character Set) 확인하는 방법

    MySQL에서 특정 데이터베이스의 기본 문자 집합(character set)을 확인하려면 information_schema.SCHEMATA 테이블을 조회하는 아래 쿼리를 사용하면 됩니다.mysql> SELECT SCHEMA_NAME DatabaseName, default_character_set_name Charset FROM information_schema.SCHEMATA where schema_name = db_name;예제예를 들어, 다음 쿼리는 Sample이라는 이름의 데이터베이스에 설정된 기본 문자 집합을 반환합니다

  12. MySQL 테이블 컬럼의 문자셋(Character Set)을 확인하는 쿼리 방법

    MySQL 테이블 컬럼의 문자셋 확인하기MySQL에서 특정 테이블의 컬럼이 어떤 문자셋(Character Set)으로 설정되어 있는지 궁금할 때가 있습니다. 이때는 information_schema.columns 뷰를 조회하면 간단하게 확인할 수 있습니다. 다음 쿼리를 사용하면 됩니다.mysql> Select Column_name Column, Character_set_name Charset FROM       information_schema.columns whe

  13. MySQL 테이블에서 여러 행을 한 번에 삭제하는 방법

    MySQL 테이블에서 여러 행을 한 번에 삭제하려면 DELETE 문과 함께 WHERE 절을 사용하면 됩니다. WHERE 절이 삭제할 대상 행들을 특정 조건으로 식별해 주기 때문에, 조건에 해당하는 모든 행이 하나의 쿼리로 제거됩니다.예제먼저 names 테이블의 현재 데이터를 확인해 보겠습니다.mysql> Select * from names; +------+-----------+ | id | name | +------+-----------+ | 1 | Rahul | | 2 | Gaurav |

  14. 특정 MySQL 데이터베이스의 모든 테이블 문자 집합 확인 방법

    다음 MySQL 쿼리를 사용하면 특정 데이터베이스에 포함된 모든 테이블의 문자 집합(character set)을 간단하게 확인할 수 있습니다.mysql> Select TABLE_NAME, CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.Columns Where TABLE_SCHEMA = db_name;쿼리 동작 원리이 쿼리는 MySQL의 메타데이터 저장소인 INFORMATION_SCHEMA.Columns 뷰를 조회합니다. WHERE 절의 TABLE_SCHEMA 조건에 데이터베이스 이름을 지정하면,

  15. MySQL UPDATE 문의 SET 절에서 컬럼 순서가 중요한 이유 – 결과 집합에 큰 차이가 있을까?

    MySQL UPDATE 문의 SET 절에서 컬럼 순서가 중요한 이유 MySQL에서 UPDATE 문의 SET 절에 나열되는 컬럼 순서가 중요한 이유는, 표현식(expression) 내에서 참조되는 컬럼 이름에 대해 MySQL이 이미 갱신된 값을 사용하기 때문입니다. 즉, SET 절에서 먼저 처리된 컬럼의 새로운 값이 이후 표현식에 그대로 반영됩니다. 따라서 컬럼 순서를 바꾸면 MySQL이 반환하는 결과 집합에 큰 차이가 발생할 수 있습니다.다음 예제를 통해 구체적으로 살펴보겠습니다. 예제 준비: tender 테이블 mysql>

  16. MySQL NOW()와 SYSDATE() 함수의 차이점 완벽 정리

    MySQL에서 NOW() 함수와 SYSDATE() 함수는 모두 현재 타임스탬프 값을 반환합니다. 하지만 두 함수의 출력 결과는 실행 시점에 따라 달라지며, 바로 이 점이 두 함수 사이의 가장 큰 차이를 만듭니다.NOW() 함수의 특징NOW() 함수는 해당 문장(쿼리)이 실행을 시작한 시점의 시간을 일정하게 유지하며 반환합니다. 즉, 쿼리 실행 도중에 시간이 얼마나 흘렀더라도 항상 동일한 시작 시각을 돌려줍니다.SYSDATE() 함수의 특징반면 SYSDATE() 함수는 해당 문장이 실제로 실행되는 정확한 시점의 시간을 반환합니다. 쿼

  17. MySQL UPDATE 문의 SET 절에서 행의 기존 값을 활용해 새로운 값을 설정하는 방법

    MySQL의 UPDATE 문에서 WHERE 절의 조건과 일치하는 행이라면, SET 절에 새로운 값을 지정할 때 해당 행의 기존 값을 그대로 활용할 수 있습니다. 즉, 기존 열 값을 기반으로 산술 연산 등을 수행한 결과를 새로운 값으로 저장하는 것이 가능합니다. 다음 예제를 통해 구체적인 동작 방식을 살펴보겠습니다.예제먼저 다음과 같은 tender라는 이름의 테이블이 있다고 가정해 보겠습니다.mysql> Select * from tender; +-----------+---------+------+ | tender_id | com

  18. MySQL DATE 타입 컬럼에 날짜와 시간을 함께 저장하면 어떻게 될까?

    MySQL의 DATE 데이터 타입 기본 형식은 YYYY-MM-DD입니다. 이 형식에는 시간 값을 저장할 공간이 없지만, 만약 DATE 타입으로 선언된 컬럼에 날짜와 시간 값을 함께 저장하면 MySQL은 경고(warning)를 표시하고 해당 컬럼에는 오직 날짜 값만 저장합니다. 아래 예제를 통해 이를 직접 확인해 보겠습니다.예제mysql> Create table date_time_test(date DATE); Query OK, 0 rows affected (0.44 sec) mysql> Insert into date_ti

  19. 다른 MySQL 테이블의 값을 사용해 한 테이블의 값을 업데이트하는 방법

    한 MySQL 테이블의 값을 다른 MySQL 테이블에 저장된 값을 이용해 업데이트하려면, UPDATE 문의 SET 절에서 서브쿼리(sub-query)를 표현식으로 활용해야 합니다. 서브쿼리가 조건에 맞는 행마다 해당 값을 반환하면서 원하는 데이터로 손쉽게 갱신할 수 있습니다.예시이 예제에서는 student와 info라는 두 개의 테이블을 사용합니다. info 테이블의 remarks 컬럼 값을 가져와서 student 테이블의 grade 컬럼 값을 업데이트해 보겠습니다.mysql> select * from student; +---

  20. MySQL ALLOW_INVALID_DATES SQL 모드란? 용도와 사용 예시

    이름에서 알 수 있듯이 ALLOW_INVALID_DATES SQL 모드를 활성화하면 테이블에 유효하지 않은(잘못된) 날짜 값을 저장할 수 있습니다. 일반적으로 MySQL은 존재하지 않는 날짜, 예를 들어 11월 31일 같은 값을 입력하면 오류를 발생시키지만, 이 모드를 켜면 그러한 값도 그대로 저장됩니다.사용 예시먼저 SQL 모드를 ALLOW_INVALID_DATES로 설정한 후, 실제로 잘못된 날짜가 저장되는지 확인해 보겠습니다.mysql> SET sql_mode = ALLOW_INVALID_DATES; Query OK, 0

Total 4564 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:217/229  20-컴퓨터/Page Goto:1 211 212 213 214 215 216 217 218 219 220 221 222 223