IT/Database 13

DML DDL

DML (Data Manipulation Language)DML은 데이터 조작 언어로, 데이터베이스 내의 데이터를 조회, 삽입, 수정, 삭제하는 작업을 담당하는 SQL 명령어들의 집합이다주요 명령어:SELECT: 데이터 조회INSERT: 새로운 데이터를 데이터베이스 테이블에 삽입UPDATE: 기존 데이터를 수정한다DELETE: 데이터를 삭제한다 DDL (Data Definition Language)DDL은 데이터 정의 언어로, 데이터베이스 구조(스키마)를 정의하거나 수정하는데 사용되는 SQL 명령어들의 집합이다.테이블, 뷰, 인덱스 등의 객체를 정의하거나 변경하는 데 사용된다.주요 명령어:CREATE: 새로운 데이터베이스 객체(테이블, 뷰 등)를 생성한다.ALTER: 기존 데이터베이스 객체의 구조를 수정..

IT/Database 2025.01.07

COALESCE 와 IFNULL 차이

SQL에서 Null 값 처리하기 위해 사용되는 함수 IFNULL 과 COALESCE 가 있다. IFNULL 은 MySQL에서만 사용 가능하고,COALESCE 은 SQL 표준 함수이다. IFNULL(val, x)  =>  single argument 처리val 값이 null 이면 x 반환, null 아니면 val 반환 COALESCE(val1, val2, val3, ... )  =>  multiple argument 처리val1이 null이면 val2 반환, val2도 null이면 val3 반환val1이 null이면 val2 반환, val2 null 아니면 val2 반환         refer tohttps://qingmi-53.tistory.com/260

IT/Database 2024.12.23

BETWEEN 절에서 날짜 범위

BETWEEN 절에서 날짜 범위 에러 SELECT date, total FROM today_sales WHERE date BETWEEN DATE(NOW()) AND DATE(DATE_ADD(NOW(), INTERVAL -7 DAY)) ORDER BY date DESC; 시작 날짜가 더 작고 끝 날짜가 더 커야 한다 따라서 DATE(NOW())와 DATE(DATE_ADD(NOW(), INTERVAL -7 DAY))의 순서를 바꿔야 한다.▶SELECT date, total FROM today_sales WHERE date BETWEEN DATE(DATE_ADD(NOW(), INTERVAL -6 DAY)) AND DATE(NOW()) ORDER BY date;

IT/Database 2024.12.23

MySQL collation 에러

데이터베이스 복구 중 에러Illegal mix of collations (utf8_general_ci,COERCIBLE) and (utf8_unicode_ci,COERCIBLE) for operation '=' when trying to dump tablespaces 다른 문자 collation을 사용하는 컬럼들을 비교하려 할 때 발생하는 문제이다utf8 collation(utf8_general_ci와 utf8_unicode_ci)컬럼의 collation을 동일하게 변경한다두 컬럼의 collation이 다르면, MySQL에서 비교하는 과정에서 오류를 발생시킬 수 있다Collation 변경하기문제를 일으키는 컬럼들의 collation을 동일하게 변경한다예를 들어, utf8_general_ci로 변경하려면 ..

IT/Database 2024.12.07

HeidiSQL

https://www.heidisql.com/download.php Download HeidiSQLDownload HeidiSQL 12.8, released on 11 Jul 2024 Installer, 32/64 bit combined ≃ Portable version (zipped): 32 bit ≃ 64 bit ≃ Stable link to latest portable version: 32 bit 64 bit Sourcecode Previous releases v12.7 (revision 6850) from 05 May 2024: 32www.heidisql.com 설치 후좌측 하단 신규 클릭  사용자, 암호 입력후,  좌측하단의 저장 클릭 새로 만든 세션을 클릭, 하단의 열기 버튼 누르면 끝!

IT/Database 2024.11.29

MySQL Error

쇼핑몰 - 회원의 최근 배송지 목록 조회하기 ⬇️ payments 테이블의 데이터 ⬇️ SQLSELECT DISTINCT receivername, receiverphone, postcode, addr1, addr2 FROM paymentsWHERE memberid = 2ORDER BY date DESCLIMIT 5; ⬇️ Error[ERROR] 24-11-28 20:05:03 [sqlonly:144] - 1. PreparedStatement.execute() SELECT DISTINCT receivername, receiverphone, postcode, addr1, addr2 FROM payments WHERE memberid = 2 AND paycheck = 'Y'ORDER BY date DESC L..

IT/Database 2024.11.28

MySQL Database 구축하기

- MySQL은 Visual C++ 재배포 가능 도구에 의존한다https://support.microsoft.com/ko-kr/help/2977003/the-latest-supported-visual-c-downloads통합버전 내려받아 설치 - Visual C++ 재배포 가능 패키지는 Microsoft C 및 C++(MSVC) 런타임 라이브러리를 설치합니다. - Microsoft C 및 C++ 도구를 사용하여 빌드된 많은 애플리케이션에 이러한 라이브러리가 필요합니다. - 앱이 해당 라이브러리를 사용하는 경우 앱을 설치하기 전에 Microsoft Visual C++ 재배포 가능 패키지를 대상 시스템에 설치해야 합니다. - 재배포 가능 패키지 아키텍처는 앱의 대상 아키텍처와 일치해야 합니다. - 재배포 가..

IT/Database 2024.11.18

MySQL 데이터베이스 관리

MySQL테이블 삭제DROP TABLE 테이블이름;테이블 구조 변경ALTER TABLE 테이블이름 명령어;명령어 설명RENAME테이블 이름 변경ADD컬럼이나 제약조건 추가    (AFTER 옵션)CHANGE컬럼 수정DROP컬럼이나 제약조건 삭제참조관계 데이터베이스 백업 / 복구 - 명령프롬프트에서 MySQL의 실행파일이 위치하는 경로로 이동한 후에 수행해야 한다 백업mysqldump -u계정아이디 -p 백업할DB이름 > 백업파일경로 복구mysql -u계정아이디 -p 복구할DB이름   ex )myschool 데이터베이스를 “C:\backup\myschool-dump.sql”로 백업하기mysqldump -uroot -p myschool > c:\backup\myschool-backup.sql- backup ..

IT/Database 2024.11.13

트랜잭션 Transaction

- 데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위를 뜻한다- 데이터베이스 상태를 변화시킨다  =>  SQL를 이용하여 데이터베이스를 접근 하는 것을 의미 - 데이터베이스 관리 시스템(DBMS)에서 하나의 논리적인 작업 단위를 의미- 여러 개의 데이터베이스 작업(쿼리)을 하나의 작업으로 묶어서 처리하는 개념으로,- 트랜잭션 안에 있는 모든 작업이 성공적으로 완료되면 데이터베이스에 반영되고,- 그렇지 않으면 아무것도 반영되지 않도록 보장한다- 트랜잭션은 일관성 있는 상태를 유지하면서 데이터베이스 작업을 처리하기 위한 중요한 메커니즘이다트랜잭션은 다음과 같은 ACID 특성을 충족해야 한다1) Atomicity (원자성):- 트랜잭션은 모두 실행되거나 모두 실행되지 않아야 한다- 트랜잭션 내에서 수..

IT/Database 2024.10.08

데이터 입력, 수정, 삭제

INSERT INTO 테이블이름 VALUES (값, 값, ..., 값);- 값을 나열할 때는 테이블 구조에서 정의하고 있는 컬럼의 순서에 맞게 명시해야 한다- DESC 테이블이름;  으로 테이블 정의 확인 가능INSERT INTO 테이블이름 (컬럼, 컬럼, ..., 컬럼) VALUES (값, 값, ..., 값);- 나열되는 컬럼의 이름이 테이블 구조에서 정의하고 있는 컬럼순서와 일치할 필요 없다insert into student ( studno, name, userid, grade, idnum, birthdate, tel, height, weight, deptno, profno) values ( 10111, '둘리', 'dolly', 2, '8202021234765', '2011-10-01 1..

IT/Database 2024.10.07

SubQuery

- SQL 안의 SQL- 두 개 이상의 SQL문을 하나의 SQL문으로 연결한 형태- 서브쿼리를 포함한 SQL문을 '메인쿼리' 라고 한다 - 서브쿼리는 select문의 시작과 끝에 ()를 묶어서 메인쿼리와 구분한다- 단일 행 서브쿼리  :  하나의 검색 결과만 반환하는 형태  /  비교연산자 사용- 다중 행 서브쿼리  :  하나 이상의 검색결과를 반환하는 형태  /  IN 연산자 사용 ex ) '전은지' 교수와 같은 직급의 교수에 대한 이름, 직급 조회select name, position from professor where position = (select position from professor where name='전은지' );+--------+----------+| name | positio..

IT/Database 2024.10.07

Database

- 공유하여 사용될 목적으로 통합하여 관리하는 데이터 집합- DataBase Management System- 사용자가 새로운 데이터베이스의 생성 및 구조를 명시할 수 있도록 하며, - 데이터를 효율적으로 검색, 수정, 삽입 및 삭제할 수 있도록 하여- 시스템의 고장이나 권한이 없는 사용자의 접근 등으로부터 데이터를 안전하게 보호하고 관리하는 소프트웨어 패키지 - 1995년에 Michael Widenius와 David Axmark가 개발한 오픈 소스 관계형 데이터베이스- 주로 LAMP 스택(Linux, Apache, MySQL, PHP/Perl/Python)의 일환으로 웹 애플리케이션에서 많이 사용됐다- 2008년에 Sun Microsystems에 인수되었고, 2010년에 Sun Microsystems가..

IT/Database 2024.10.02
반응형