728x90
MySQL 명령어
- 대소문자 구분 없고, 대부분 마지막에 ; 으로 끝낸다
cmd 창 에서
mysql 들어가기
- mysql -uroot -p 라고하면 mysql 접속 설치 할때 비밀 번호을 입력하면 접속됨
database 생성
- create database (DB이름); 생성한다 database을 connectDB(이름)으로
사용자 생성 및 권한
- grant all privileges on db이름.*to 계정이름@'%' identfiedby '암호';
(db이름) 에 대한 모든권환을 주겠다 계정이름에 client 모두 가능
- grant all privileges on db이름.*to 계정이름@'localhost' identfiedby '암호';
client는 localhost만 가능
사용자 계정이름이 'conuser' , 암호는 'con123' 이고 아까 만든 connectDB 사용 한다고 하면
- grant all privileges on connectDB.* to conuser@'%'identified by 'con123';
- flush pricileges; 이 명령어를 쳐야 됨
mysql 나가기는 quit; 중간취소는 \c
데이터 베이스 확인
SHOW Database;
데이터 베이스 전환
USE sakila(데이터베이스 이름이다)
SHOW TABLES; --테이블 확인
sakila 의 테이블 을 확인가능
테이블 구조 확인
DESCRIBE actor; -- actor 라는 테이블 구조 를 보면
간단한 쿼리는 SELECT VERSION(), CURRENT_DATE; -- 버전이랑 생성날자?확인가능
사용자 생성(CREATE USER)
CREATE USER 'dev'@'localhost' IDENTIFIED BY '{비밀번호}';
권한 부여
특정 데이터 베이스에 접근 권한 은 GRANT 이용
GRANT all privileges ON employees.* TO 'dev'@'localhost';
사용자 삭제
DROP USER 'dev'@'localhost';
SELECT 문
- 데이터 검색 , 추출
- 원하는 컬럼, 튜플 선택 가능 하고
- join 은 두개의 테이블 결합
- 계산 정렬 요약 가능
SELECT ~(추출할 대상 컬럼) FROM ~(추출할곳 테이블명 )
모든 걸 추출 할때는 * 사용
SELECT * FROM 테이블 명 -- 테이블에 대한 모든 컬럼을 추출한다
산술 계산도 할수 있다
select 10*10*3.114 from dual;
NULL 은 아무런 값도 정해지지 않았음을 의미 하고 0 이나 space등과는 다르다
WHERE (조건식?
- 조건을 부여하여 만족하는 ROW를 선택
- 연산자
- =, !=, >, <, <=, >=
- IN :집합에 포함 되는가?
- BETWEEN a AND b : a와 b 사이인가
- IS NULL, IS NOT NULL : NULL 여부 검사
- AND / OR : 둘다 만족 / 하나라도 만족
- NOT : 만족하지 않으면?
- ANY/ ALL : 집합중 어느 한 열 / 모든 열
SELECT ~컬럼 FROM ~테이블 WHERE ~조건(연산자 써서 해도 됨)
ex)
- SELECT emp_no, salary FROM salaries WHERE salary >=15000 AND salary <=16000;
- SELECT emp_no, salary FROM salaries WHERE salary BETWEEN 15000 AND 16000;
- SELECT first_name, last_name, hire_date FROM employees WHERE first_name IN ('Steven', 'Adam');
- SELECT first_name FROM employees WHERE slaary > (SELECT salary FROM emplooyees WHERE first_name = 'Susan'); -- SELECT 문을 조건식? 안에 넣을 수도있다
ORDER BY
- 주어진 컬럼 리스트의 순서로 결과를 정렬
- 결과 정렬 방법은
- ASC : 오름차순(작은 ~> 큰) -- default
- DESC : 내림차순 (큰 ~> 작은)
- RAND() : 무작위 출력
작성법은
select ~ from ~ where ~(group by ~ having) ~ order by
실행순서는
from~ where ~ (grooup by ~ having) ~ order by ~ select
LEMIT
- LEMIT n : 첫번쨰 부터 n 까지 출력
- LEMIT s, n : s 부터 n 까지 출력
GRANT /REVOKE
시스템 권한
GRANT CREATE ON *.* TO yuser@localhost;
REVOKE CREATE ON *.* FROM yuser@localhost;
스키마 객체 권한
GRANT SELECT ON employees.* TO yuser@localhost;
REVOKE SELEC ON employees.* FROM yuser@localhost;
테이블 생성
CREATE TABLE book(
book_id INT(10),
title VARCHAR(50),
author VARCHAR(20),
pub_date DATETIME DEFAULT CURRENT_TIMESTAMP
728x90
'Basic > DataBase' 카테고리의 다른 글
MySQL 활용 예제 (0) | 2020.02.18 |
---|---|
MySQL 다운 (0) | 2020.02.08 |
SQL(Structured Query Language) 이란? 종류 (0) | 2020.02.07 |
RDB(Relational Database) 관계형 데이터베이스 (0) | 2020.02.07 |
Database 및 Schama 개념정리 (0) | 2020.02.07 |