개발자 끄적끄적
MySQL 설치 및 cmd 본문
SQL(Structured Query Language) : 데이터베이스의 데이터를 조회, 입력, 수정, 삭제, 저장하는데 사용하는 질의언어
mysql쿼리 작성 규칙
- 대소문자를 구분하지 않는다(단, 비교문의 문자열은 대소문자를 구별하여 비교)
- 문자열은 작은 따옴표를 사용
- 날짜는 문자열로 비교 가능
- 숫자 비교는 문자열로 비교해도 된다
- '같다'라는 의미는 '='기호를 사용
- 논리 연산자는 not, and, or를 사용
- 쿼리 문장의 끝은 ';'로 끝낸다
SQL명령의 분류
1. DDL(Data Definition Language) : CREATE(생성), ALTER,(구조 변경) DROP(삭제)
2. DCL(Data Control Language) : GRANT(권한 부여), REVOKE(권한 회수)
3. DML(Data Manipulation Language) : INSERT(데이터 입력), UPDATE(수정), DELETE(삭제), MERGE(병합), CALL(프로시저 호출)
4. DQL(Data Query Language) : SELECT(조회, 선택)
5. DTL(Data Transaction Language) : ROLLBACK(실행 취소), COMMIT(실행 확정)
*프로시저(Procedure)
- 어떤 업무를 수행하기 위한 절차(프로세스를 절차적으로 기술해 놓은 것)
유저 등록 및 권한 부여
- 유저 등록 : CREATE USER 아이디@호스트 [ IDENTIFIED BY 암호 ];
ex) CREATE USER 'hong'@'localhost' IDENTIFIED BY '1111';
- 암호 지정 : CREATE USER 아이디@호스트 IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '암호';
- 유저 제거 : DROP USER 유저명@호스트
사용자 권한
1. all : 모든 권한
2. alter : 테이블의 구조를 변경할 수 있는 권한
3. create : DB와 Table을 생성할 수 있는 권한
4. create user : 사용자 관리에 관한 권한
5. create view : view를 관리할 수 있는 권한
6. select, insert, update, delete : Table데이터 조작 권한
7. drop : DB, Table, View등을 삭제할 수 있는 권한
권한 부여
- 권한 부여 : GRANT[권한종류 | ALL] PRIVILEGES ON db.명 테이블명 TO 아이디@호스트;
ex)kim@localhost에게 test DB에 있는 모든 테이블에 관한 모든 권한 부여
=>grant all privileges on test.*to kim@localhost
권한 제거 : REVOKE [권한] ON [DB].[TABLE]FROM유저@호스트
ex)kim@localhost에게 주었던 권한 제거
=>revoke all on test.*from kim@localhost
DATABASE 생성
생성 : CREATE DATABASE db명;
삭제 : DROP DATABASE db명;
sample table install
- mysql설치 시 sample table들은 설치되지 않아 따로 설치해야 한다
sample table들은 깃허브에 공유되어 있어 내려 받을 수 있으며
손쉽게 import 할 수 있다
*cmd
- 처음 경로 : C:\Users\이해선
- dir : 목록(directory) 확인
- 'n:' : n드라이브로 이동
- 'd' : d드라이브로 이동
- 'c' : c드라이브로 이동
- cd(change directory) : 이동하기
- cd ftp : FTP라는 폴더로 이동(tap키 : 목록들 중 선택)
- cd.. : 바로 이전의 상위 경로로 다시 돌아가기
- cd\ : 루트 폴더로 이동
- cd ftp\ftp1\ftp2 : FTP폴더 안에 있는 FTP1폴더 안에 있는 FTP2폴더로 이동
1. 명령 프롬프트 실행(윈도우 검색창>cmd)
2. 압축해제 폴더로 이동
a. cd\
b. cd mysql-xxx
c. cd bin
d. mysqld --initialize-insecure --> data폴더 생성
e. mysqld(백그라운드로 mysql 서버 구동 중)
3. mysql클라이언트로 접속
a. cd\
b. cd mysql-xxxd
c. cd bin
d. mysql -u root | mysql -u root@localhost
* "mysql>" => mysql- uroot -p
- MYSQL관리자 계정인 root로 데이터베이스 관리 시스템에 접속한다는 의미
4. root암호 설정
a. 관리자 모드 명령프롬프트 실행
b. cd\
c. cd mysql-xxx
d. cd bin
e. mysql -u root
f. alter user root@localhost identified by '1111';
b. exit
* 세미콜(;)론 꼭 붙치기->명령을 끝 마친다는 의미
->세미콜론을 못썼으면 나가고 다시 해야한다
5. 암호 설정 후 서버 접속
a. mysql -u root -p -> Enter password : ****(1111)
mysql client tool설치
- dbeaver or heidisql or querybox
[신규 유저 등록]
1) 콘솔창을 열고 mysql의 실행파일들이 있는 폴더로 이동
2) mysql서버에 root 계정으로 접속
3) create user 명령을 사용하여 아이디가 hong이고 암호는 1111로 등록
4) exit 명령으로 접속을 종료한 후
*작업관리자 -> 프로세스 -> mysql.exe종료
*Heidisql(하이디 SQL)
- 자유 소프트웨어, 오픈 소스 클라이언트, MySQL프론트엔드 제품
[신규 유저에게 권한 부여] root유저로 작업
grant all privileges on mysql.* to hong@localhost
*데몬(Daemon)
- 멀티태스킹 운영 체제에서 데몬(Daemon)은 사용자가 직접적으로 제어하지 않고,
백그라운드에서 돌면서 여러 작업을 하는 프로그램
- 프로세스 형식으로 실행되며 데몬이라는 표시를 위해 뒤에 d가 붙는다
*DBeaver(Universal Database Tool)
- SQL의 클라이언트이자 데이터베이스 관리 도구
- DBeaver는 크로스 플랫폼 도구로서 이클립스가 지원하는 플랫폼에서 동작한다
- ER Diagrams 툴이 유용하다
*DBeaver특징
장점
- 다양한 데이터베이스 지원
- 직관적인 인터페이스
- 오픈소스(GPL 라이센스)
- 쉬운 Import/ Export / Backup
- 크로스플랫폼 지원 -Windows, Linux, Max OS
단점
- 무거운 쿼리를 실행 시킬 경우 다운 될 수 있다
*쿼리(Query)
- Database나 파일의 내용 중 원하는 내용을 검색하기 위해서
몇 개의 코드(Code)나 키(Key)를 기초로 질의하는 것
*쿼리박스(QueryBox)
- 국내에서 데이터베이스 보안으로 유명한 피앤피스큐에서 개발한
데이터베이스 성능 관리 및 쿼리 툴이다
- QueryBox for Windows(64bit)다운
DATABASE생성
ex)
1. DATABASE(폴더)
1) table1(파일)
a. row, colum
2) table2(파일)
a. row, colum
3) table3(파일)
a. row, colum
*DB명은 5.1버전 이후에는 변경할 수 없다
*USE db_name으로 사용할 db를 선택한다
생성 : CREATE DATABASE db명;
삭제 : DROP DATABASE db명;
sample table install
- mysql설치 시 sample table들은 설치되지 않아 따로 설치해야한다
sample table들은 깃허브에 공유되어 있어 내려 받을 수 있으며
손쉽게 import 할 수 있다
[mysql_sample_data.sql]활용하기
1) 깃허브에 있는 자료를 좀 더 간단히 설치하기 위해서 만들어진 파일
2) 탐색기를 사용하여 압축을 푼 파일을 mysql설치 폴더 아래에 있는 bin폴더에 복사
3) mysql\bin 폴더로 이동한 후 탐색기>파일>Power Shell을 열어 작업한다
DB목록 확인 : SHOW DATABASES;
'MySQL' 카테고리의 다른 글
join, like, 정규화 (0) | 2023.03.08 |
---|---|
SQL 테이블, 무결성 제약, case (0) | 2023.03.08 |
SQL 기본 구조, rollup (0) | 2023.03.08 |