WordPress on LEMP Stack 프로젝트를 진행하면서 제대로 공유드리지 못했던 MySQL(MariaDB) 기본 명령어를 공유드립니다. 간단한 내용들이지만 이것들만 알아도 기본적인 쿼리는 날릴 수 있으니 기억해두시면 좋습니다.
MySQL 실행 (Based on Linux)
$ mysql -u [username] -p [Database]
(example)
$ mysql -u flature -p thinkground01
위 예시문을 해석하면 ‘flature라는 계정으로 thinkground01라는 데이터베이스에 접속한다. 접속시 패스워드를 물어봐라.’ 입니다.
-h : hostname (or localhost or ip)
-u : username
-p : 접속시 password를 친다는 의미
-D : Database name
위의 옵션이 대표적입니다. 만약 command 라인에서 패스워드를 해결하고 싶다면 ‘-p[password]’로 입력하시면 됩니다. p와 패스워드 사이를 띄우게 되면 패스워드를 데이터베이스명으로 잘못 인식하게 되니 참고하시면 되겠습니다.
Account 관련 명령어
CREATE USER [username]@[hostname] IDENTIFIED BY "[password]";
(example)
CREATE USER flature@localhost IDENTIFIED BY "password11";
계정을 생성하는 쿼리입니다.
Database 관련 명령어
show databases;
현재 MySQL 서버의 데이터베이스 리스트를 보여줍니다.
use [database]
(example)
use thinkground01
사용하고자 하는 database이름을 입력하면 그 데이터베이스가 선택됩니다.
create database [database];
(example)
create database thinkground01;
database를 생성하는 쿼리입니다.
grant all GRANT ALL ON [database].* TO [username]@localhost;
(example)
grant all GRANT ALL ON thinkground01.* TO flature@localhost;
지정한 유저에게 해당 데이터베이스의 권한을 부여하는 쿼리입니다.
show tables;
선택한 데이터베이스 안에서 사용하는 쿼리로, 데이터베이스에 구성된 테이블 목록을 확인할 수 있습니다.
Data 관련 명령어
insert into [table] values('value1','vlaue2',...);
(example)
insert into table1 values('flature','cloud');
Table에 값을 추가하는 쿼리이다.
select * from [table];
select from [table];
(example)
select * from table1 where name='flature' limit 10;
Table에서 값을 출력하는 쿼리이다. 예시를 해석하자면, ‘table1에서 flature라는 이름을 가진 로우에 대해 모든 컬럼데이터를 최대 10개만 출력하라.’는 뜻이다.
update [table] set [column1] = 'value' where [column2] = 'value2' (and||or) [column3] = 'vlaue3';
(example)
update table1 set name='flature2' where birth='1111.11.11' and mf='male';
update 쿼리는 현재 존재하는 row 데이터의 값을 갱신할 때 사용하는 쿼리문이다. set 뒤에 바꾸고자 하는 값을 설정해주고 where를 사용하여 어떤 조건의 row데이터 값을 변경할 것인지 정해준다. where 부분을 제대로 설정해주지 않으면 의도치 않은 다른 데이터도 변경이 될 수 있으니 조심히 변경해주는 것이 좋다. 차라리 where부분에서 index 컬럼이 있다면 그것을 활용하는게 좋다.