본문 바로가기

DataBase23

[MySQL] 트랜잭션과 ACID 참고 자료유투브 쉬운코드 트랜잭션과 ACID트랜잭션 개념이체로 배워보는 트랜잭션 개념  A: 100만원 B: 200만원  A → B 에게 20만원 송금  그럼 2개의 SQL문을 사용한다. 1. A 계좌 20만원 감소 UPDATE account SET balance = balance - 200000 WHERE id = 'A';2. B 계좌 20만원 증가 UPDATE account SET balance = balance + 200000 WHERE id = 'B'; 이 2가지 SQL문 중에서 1개의 SQL만 실패해도 이상한 결과가 나온다.  EX)1번 성공 2번 실패: A 계좌에서 20만원만 증발1번 실패 2번 성공: B 계좌는 20만원 증가했지만 A 계좌는 그대로 유지  즉 이런 이체 작업은 둘 다 정상 처.. 2024. 11. 13.
[MySQL] 트리거 trigger 참고 자료유투브 쉬운코드 SQLtriggerSQL Trigger?데이터에 변경이 생겼을 때 DB에 insert, update, delete가 발생했을 때 이것이 계기가 되어 자동적으로 실행되는 프로시저(procedure)를 의미 SQL Trigger 예제1유저의 닉네임을 바꾸면(update) 유저의 이름을 기록하는 로그에 이전 이름을 INSERT 하는 트리거를 만들어 보자 users, nickname_logs 테이블 CREATE TABLE users ( id int primary key auto_increment, nickname varchar(20) not null);CREATE TABLE nickname_logs ( id int primary key auto_increment, .. 2024. 11. 12.
[MySQL] 스토어드 프로시저 stored procedure 참고 자료 유투브 쉬운코드 stored procedurestored procedure?Stored Procedure는 여러 개의 SQL 문을 모아 놓은 하나의 작업 단위로, 특정 작업을 수행하기 위해 데이터베이스에 저장된다. 반환값이 없거나 1개 이상도 가능하다. OUT 파라미터로 설정 stored function은 무조건 1개를 반환 stored procedure 예제1 (IN, OUT)두 정수의 곱셈 결과를 가져오는 프로시저를 작성하자 프로시저 생성 DROP PROCEDURE IF EXISTS product;delimiter $$CREATE PROCEDURE product(IN a int, In b int, OUT result int)BEGIN SET result = a * b;END$$deli.. 2024. 11. 12.
[MySQL] 스토어드 함수 stored function 참고 자료 유투브 쉬운코드 stored function stored function? 사용자가 정의한 함수DBMS에 저장되고 사용되는 함수 SELECT, INSERT, UPDATE, DELETE statement 에서 사용할 수 있다.stored function 예제11. 임직원의 ID를 열자리 정수로 랜덤하게 발급하고 싶다 2. ID의 맨 앞자리는 1로 고정이다.  delimiter DELIMITER는 MySQL과 같은 데이터베이스 시스템에서 사용되는 명령어로, SQL 문에서 기본 구분자인 세미콜론(;) 외에 다른 구분자를 설정하고, 이후 다시 기본 구분자로 돌아가는 데 사용된다.  쿼리 (id_generator 생성)delimiter $$CREATE FUNCTION id_generator()RETUR.. 2024. 11. 12.
[MySQL] RealMySQL 8.0 4.1 MySQL 엔진 아키텍처 참고 자료 RealMySQL 8.0 1권 - 백은빈, 이성욱 지음해당 글은 책에서 나오는 내용을 나중에 편하게 보기 위해서 요약한 내용이다. 04장 아키텍처 MySQL 서버는 사람의 머리 역할을 하는 MySQL 엔진과 손발 역할을 담당하는 스토리지 엔진으로 구분할 수 있다.스토리지 엔진은 핸들러 API를 만족하면 누구든지 스토리지 엔진을 구현해서 MySQL 서버에 추가해서 사용할 수 있다.MySQL 엔진, MySQL 서버에서 기본으로 제공하는 InnoDB 스토리지 엔진,  MyISAM 스토리지 엔진에 대해서 알아보자 4.1 MySQL 엔진 아키텍처 MySQL 접근 방법 지원 MySQL은 일반 사용 RDBMS와 같이 대부분의 프로그래밍 언어로부터 접근 방법을 모두 제공한다.JDBC, ODBC, .NET의 .. 2024. 11. 11.
[MySQL] RealMySQL 8.0 3장: 사용자 및 권한 참고 자료 RealMySQL 8.0 1권 - 백은빈, 이성욱 지음해당 글은 책에서 나오는 내용을 나중에 편하게 보기 위해서 요약한 내용이다. 1. 사용자 식별 MySQL에서 사용자는 사용자의 계정뿐 아니라 사용자의 접속 지점(호스트명, 도메인, IP 주소)도 계정의 일부가 된다. 'svc_id'@'127.0.0.1' 아이디: svc_id접속 지점: 127.0.0.1 해당 아이디는 MySQL 서버가 기동 중인 로컬 호스트에서 svc_id라는 아이디로 접속할 때만 사용 가능한 계정만약 사용자 계정에 해당 계정만 있으면 다른 컴퓨터에서는 svc_id라는 아이디로 접속할 수 없다. 모든 외부 컴퓨터에서 접속이 가능한 사용자 계정  사용자 계정의 호스트 부분을 % 문자로 대체한다. % 문자는 모든 IP(모든 호스.. 2024. 11. 9.