프로그래밍

프로그래밍

서버 | [MySQL] MySQL 기본 명령어 정리

페이지정보

작성자 로망학자 날짜16-10-26 16:33 조회수1,283 댓글0

본문



깔끔하게 위키로 만든 글 : http://kwonnam.pe.kr/wiki/database/mysql/basic

(본 글은 위 링크의 게시글을 스크랩 하였습니다.)

 

MySQL 기본 명령어 정리

MySQL의 기본 명령어와 SQL문 정리. 내가 RDBMS에 완전 문외한이기 때문에 기본 SQL쿼리까지…

Redhat Linux 7.3, MySQL 3.23.58 에서 테스트함.

설치는 Redhat 기본 제공 RPM으로 했다.

데이터베이스 접속

설치 직후에는 root 사용자에 비밀번호가 없으므로 다음과 같이 접속하여 MySQL을 관리할 수 있다.

외부 서버에서 접속이 불가하면 MySQL 설정에서 bind-address 항목을 살펴본다.

비밀번호 변경

MySQL을 설치한 직후에는 root 계정에 암호가 지정되어 있지 않다. 다음 세가지 방법으로 비밀번호를 변경 할 수 있다.

일단 root 비밀번호가 설정된 상태에서는 mysql이나 mysqladmin 명령을 실행할 때 -p 옵션을 붙여주고 기존 비밀번호를 입력해야만 한다.

사용자 추가/삭제

username 이라는 사용자를 password라는 비밀번호를 갖도록 하여 추가한다. username은 dbname이라는 데이타베이스에 대해 모든 권한을 가지고 있다. username 사용자는 로칼 호스트에서만 접속할 수 있다. 다른 호스트에서 접속하려면

위를 또한 번 실행한다. '%'에서 홑따옴표를 주의한다.

특정 권한만 주려면, 아래와 같은 형태로 권한을 나열한다.

MySQL error 1045(28000): Access denied for user ...에 따르면 '%'란 localhost 를 제외한 모든 호스트를 뜻한다고 한다. 즉, localhost에 대해서는 명시적으로 따로 권한을 지정해야 한다.

CREATE USER를 통한 사용자 생성이 안될 경우에는 mysql - ERROR 1396 (HY000): Operation CREATE USER failed for 'jack'@'localhost' 참조하여, 먼저 생성하려던 사용자를 drop 하고 재시도 해본다. 이 현상이 나타나는 이유는, CREATE USER/GRANT 명령으로 사용자와 권한을 추가/관리해야 하는데 mysql.db, mysql.user 테이블을 직접 조작하다가 일관성이 깨졌기 때문이다. 가급적 mysql의 계정/권한 테이블에 대한 직접 조작은 하지 말아야 한다.

불필요한 사용자 삭제는

데이터베이스 생성/보기

IF EXISTS 옵션은 비록 데이타베이스가 없더라도 오류를 발생시키지 말라는 의미이다.

테이블 생성/보기

테이블을 생성하고,

현재 데이타베이스의 테이블 목록을 보고

테이블 구조를 살펴본다.

이름을 잘못 지정했으면 이름을 변경할 수도 있다.

필요 없으면 삭제한다.

현재 상태 보기

INSERT

SELECT

컬럼명을 *로 하면 모든 컬럼 의미.

컬럼의 이름을 바꿔서 출력.

DESC는 내림차순 ASC는 오름차순.

결과중 처음부터 10개만 가져오기

결과중 100번째부터 10개만 가져오기. 첫번째 레코드는 0번 부터 시작한다.

UPDATE

DELETE

DELETE with JOIN

mysql에서 쿼리 결과 세로로 보기

-E 옵션을 줘서 실행한다.

mysql에서 발생한 오류나 경고 다시 보기

show processlist

MySQL 버전 알아보기

CREATE TABLE 구문 보기

테이블/컬럼 정보보기

테이블/컬럼의 주석(Comment) 지정

테이블과 컬럼의 전체 정보

information_schema TABLES, COLUMNS를 쿼리하여 테이블, 컬럼 정보를 살펴볼 수 있다.



댓글목록

등록된 댓글이 없습니다.