목록Development/Database & SQL (37)
컴공생의 다이어리
[MySQL] 사용자(user) 조회 MySQL의 사용자 목록을 조회하기 위해서 MySQL의 기본 스키마인 mysql안에 user 테이블에서 아래와 같은 명령어를 통해 조회할 수 있다. use mysql;# mysql 스키마 선택 select user, host from user;# 사용자 목록 조회 사용자 생성 사용자 생성시에는 create 명령어를 사용해서 사용자를 추가할 수 있다. 경우에 맞게 example을 참고해서 사용하면 될 것 같다. 나의 경우 내부 접근만 가능하도록 만들기 위해 ex1 명령어를 활용했다. create user '사용자'@'host' identified by '비밀번호'; # ex1) 내부 접근을 허용하는 사용자 추가 create user 'test'@'localhost' i..

DBeaver(디비버) DB연결 디비버에서 DB를 연결하려면 상단의 데이터베이스 탭에서 새 데이터베이스 연결을 클릭한다. 아래 화면이 나오면 연결하고자 하는 DB를 선택한다. 나는 MariaDB를 사용할 것이라 MariaDB를 선택했다. 나는 로컬 MariaDB를 사용해서 Server Host에 localhost를 넣었지만 aws rds와 같이 원격 DB를 쓰면 그에 해당하는 Server Host를 넣어주면 된다. 그리고 Port 부분에도 해당하는 포트 번호를 넣어준다. 그리고 Database를 특정하는 경우에는 Database칸에 넣어주고 아니면 빈칸으로 두면 된다. Username과 Password에 DB에 접근 가능한 username과 password 넣어주면 된다. 위에서 완료를 클릭한 후 다음과..

DBeaver(디비버)란? 디비버란 SQL 클라이언트이자 데이터베이스 관리 도구이며 아파치 라이선스로 배포되는 자유 오픈 소스 소프트웨어이다. 디비버도 유료 버전도 있긴 하지만 블로그 후기와 개인적으로 사용해보니 개인이 쓰기에 무료 버전도 충분한 것 같다. DBeaver 설치 우선 아래 사이트에 접속해서 자신의 운영체제에 맞게 설치 파일을 다운받는다. 나는 윈도우 운영체제를 쓰고 있어서 Windows 64 bit (installer)를 설치했다. Download | DBeaver Community Download Tested and verified for MS Windows, Linux and Mac OS X. Install: Windows installer – run installer executabl..

3단계 데이터베이스 구조 데이터베이스의 복잡한 내부 구조를 감추고 일반 사용자가 데이터베이스를 쉽게 이해하고 이용할 수 있도록 미국의 표준화 기관인 ANSI/SPARC에서는 3단계 데이터베이스 구조(3-level database architecture)를 제안했다. 3단계 데이터베이스 구조는 하나의 데이터베이스를 외부, 개념, 내부 세 단계로 나눈 것이다. 각 단계 별로 다른 추상화를 제공하면 데이터베이스를 효과적으로 관리할 수 있다. 일반적으로 내부 단계에서 외부 단계로 갈수록 추상화 레벨이 높아진다. 추상화 레벨이 높아진다는 것은 데이터베이스가 실제 어떻게 돌아가는지 관심 없다는 것과 비슷하다. 사용자 관점에서는 내부 시스템을 알 수도 없고 알 필요도 없기 때문이다. 3단계 구조를 통해, 모든 데이터..
[MySQL] 조건문 - CASE WHEN MySQL에서 다중 조건문을 사용하고 싶을 때 CASE 함수를 사용해서 처리할 수 있다. CASE문은 WHEN의 조건을 순차적으로 체크하고 조건을 만족한다면 그에 해당하는 THEN 뒤에 있는 값을 반환한다. 모든 조건을 충족하지 않는다면 마지막 ELSE에 해당하는 값을 반환한다. 아래는 CASE함수의 기본 형식이다. CASE WHEN 조건1 THEN 반환값1 WHEN 조건2 THEN 반환값2 ... ELSE 반환값 END CASE함수 예시 아래 쿼리문에서 만일 SCORE가 85라면 해당하는 행의 RESULT 컬럼 값은 B이다. SELECT STUDENT_CODE, CASE WHEN SCORE >= 90 THEN 'A' WHEN SCORE >= 80 THEN 'B..
[MySQL] 절대값 함수 MySQL에서 절대값을 얻기 위해서는 ABS 함수를 사용하면 된다. ABS(숫자) ABS 예시 두 쿼리문의 결과는 모두 1이다. SELECT ABS(-1); SELECT ABS(1); https://solbel.tistory.com/1099 [sql/mysql] abs 절대값 함수 사용법과 예제 [sql/mysql] abs 절대값 함수 사용법과 예제 기본 사용법은 아래와 같습니다. ABS(절대값을 얻어낼 수) 아래는 예제입니다. select abs(100); // 결과는 100; select abs(-100); // 결과는 100; 위 사용법과 예제.. solbel.tistory.com

[MySQL] TIMESTAMP 시간 차이 계산 MySQL에서 TIMESTAMP 자료형의 시간 차이를 계산할 때 TIMESTAMPDIFF 함수를 사용하면 된다. 제일 맨 처음 인자로 단위를 넣고 그 다음 인자들로 TIMESTAMP 타입의 날짜(시간) 2개를 넣어주면 된다. TIMESTAMPDIFF(단위, {날짜1}, {날짜2}); 단위 SECOND : 초 MINUTE : 분 HOUR : 시 DAY : 일 WEEK : 주 MONTH : 월 QUARTER : 분기 YEAR : 연 TIMESTAMPDIFF 예시 아래 쿼리문을 실행한다면 결과는 1이 나온다. SELECT TIMESTAMPDIFF(MONTH, '2022-01-20 10:00:00','2022-02-25 12:00:00') AS RESULT; 보통..
[MySQL] 프로시저를 이용한 더미데이터 생성 갑자기 대용량 데이터로 페이징 테스트와 같이 많은 양의 데이터가 필요한 경우, 하나씩 일일이 넣어주는 것은 너무 비효율적이다. 이러한 문제에 대해 프로시저를 사용하여 더미데이터를 생성할 수 있다. # 더미 데이터 생성 DELIMITER $$ DROP PROCEDURE IF EXISTS loopInsert$$ CREATE PROCEDURE loopInsert() BEGIN DECLARE i INT DEFAULT 1; WHILE i
[MySQL] 정수 난수(랜덤) 값 생성 MySQL에서 정수 랜덤 값을 생성하고 싶다면 rand()함수와 floor 함수를 이용해주면 된다. 만일 0부터 9사이의 난수를 발생하고 싶다면 아래와 같이 FLOOR(RAND()*10)을 사용하면 된다. SELECT FLOOR(RAND()*10); 만일 1부터 10까지의 난수를 발생하고 싶다면 FLOOR 함수 앞에 1을 더해주면 된다. SELECT 1+FLOOR(RAND()*10); https://shared.co.kr/35 MySQL 0부터 9사이의 난수 발생 Rand() 함수가 존재하며 그 결과값은 0부터 1 사이의 값을 리턴한다. (예: 0.43325987654098) 따라서 0 부터 9 사이의 난수를 발생하려면... SELECT Floor( Rand() ..

스키마(schema) 스키마는 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것이다. 인스턴스(instance) 인스턴스는 정의된 스키마에 따라 데이터베이스에 실제로 저장된 값이다. https://jipark2.tistory.com/3 스키마와 인스턴스 데이터베이스에 대하여 논할 때 데이터베이스 스키마와 데이터베이스 인스턴스를 구분해야 한다. 스키마(schema)란 데이터베이스의 논리적 설계에의해 생성된 데이터베이스 구조와 데이터베이 jipark2.tistory.com http://www.yes24.com/Product/Goods/67882661 데이터베이스 개론 - YES24