Basic/DataBase

MySQL 명령어

카고형 2020. 2. 15. 18:33
728x90

             MySQL 활용 예제




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