메뉴 건너뛰기

2014.02.27 11:36

Mysql 기본 명령어

조회 수 5693 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
MySQL의 기본 명령어와 SQL문 정리. 내가 RDBMS에 완전 문외한이기 때문에 기본 SQL쿼리까지...
Redhat Linux 7.3, MySQL 3.23.58 에서 테스트함.
설치는 Redhat 기본 제공 RPM으로 했다.

데이터베이스 접속
$ mysql -u 사용자명 -p dbname
설치 직후에는 root 사용자에 비밀번호가 없으므로 다음과 같이 접속하여 MySQL을 관리할 수 있다.
$ mysql -u root mysql

비밀번호 변경
MySQL을 설치한 직후에는 root 계정에 암호가 지정되어 있지 않다.
다음 세가지 방법으로 비밀번호를 변경 할 수 있다.
  • mysqladmin이용
  1. $ mysqladmin -u root password 새비밀번호

  • update문 이용
  1. $ mysql -u root mysql
  2. mysql> UPDATE user SET password=password('새비밀번호') WHERE user='root';
    mysql> FLUSH PRIVILEGES;

  • Set Password 이용
  1. SET PASSWORD FOR root=password('새비밀번호');

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

사용자 추가/삭제
  • 사용자 추가
  1. mysql> GRANT ALL PRIVILEGES ON dbname.* TO username@localhost IDENTIFIED BY 'password';
username 이라는 사용자를 password라는 비밀번호를 갖도록 하여 추가한다. username은 dbname이라는
데이타베이스에 대해 모든 권한을 가지고 있다.
username 사용자는 로칼 호스트에서만 접속할 수 있다. 다른 호스트에서 접속하려면
  1. GRANT ALL PRIVILEGES ON dbname.* TO username@'%' IDENTIFIED BY 'password';
위를 또한 번 실행한다. '%'에서 홑따옴표를 주의한다.
추가 : '%'를 호스트네임으로 지정해도 모든 호스트에서 접속할 수 없었다. 각 호스트별로 다 지정해야 했다.

  • 사용자 삭제
불필요한 사용자 삭제는
  1. mysql> DLETE FROM user WHERE user='username';
    mysql> FLUSH PRIVILEGES;

데이터베이스 생성/보기
데이터베이스를 생성하고,
  1. mysql> CREATE DATABASE dbname;

현재 존재하는 데이터베이스 목록을 보여준다.
  1. mysql> SHOW DATABASES;

특정 데이타베이스를 사용하겠다고 선언한다.
  1. mysql> USE dbname;

쓸모 없으면 과감히 삭제한다.
  1. mysql> DROP DATABASE [IF EXISTS] dbname;
IF EXISTS 옵션은 비록 데이타베이스가 없더라도 오류를 발생시키지 말라는 의미이다.

테이블 생성/보기
테이블을 생성하고,
  1. mysql> CREATE TABLE tablename (
  2. column_name1 INT,
    column_name2 VARCHAR(15),
    column_name3 INT );

현재 데이타베이스의 테이블 목록을 보고
  1. mysql> SHOW TABLES;
테이블 구조를 살펴본다.
  1. mysql> EXPLAIN tablesname;
혹은
  1. mysql> DESCRIBE tablename;

이름을 잘못 지정했으면 이름을 변경할 수도 있다.
  1. mysql> RENAME TABLE tablename1 TO tablename2[, tablename3 TO tablename4];

필요 없으면 삭제한다.
  1. mysql> DROP TABLE [IF EXISTS] tablename;

현재 상태 보기
  1. mysql> status
  2. --------------
    mysql Ver 11.18 Distrib 3.23.58, for pc-linux (i686)
  3. Connection id: 26
    Current database: study
    Current user: study@localhost
    Current pager: stdout
    Using outfile: ''
    Server version: 3.23.58
    Protocol version: 10
    Connection: Localhost via UNIX socket
    Client characterset: latin1
    Server characterset: euc_kr
    UNIX socket: /var/lib/mysql/mysql.sock
    Uptime: 2 hours 9 min 59 sec
  4. Threads: 1 Questions: 160 Slow queries: 0 Opens: 28 Flush tables: 1
    Open tables: 1 Queries per second avg: 0.021
    --------------

INSERT
  1. mysql> INSERT INTO tablename VALUES(값1, 값2, ...);
혹은
  1. mysql> INSERT INTO tablename (col1, col2, ...) VALUES(값1, 값2, ...);

SELECT
  1. mysql> SELECT col1, col2, ... FROM tablename;

컬럼명을 *로 하면 모든 컬럼 의미.
  1. mysql> SELECT col1 AS '성명', col2 AS '국어점수' FROM grade;

컬럼의 이름을 바꿔서 출력.
  1. mysql> SELECT * FROM tablename ORDER BY col1 DESC;
    mysql> SELECT col1, korean + math english AS '총점' FROM tablename ORDER BY '총점' ASC;

DESC는 내림차순 ASC는 오름차순.
  1. mysql> SELECT * FROM grade WHERE korean < 90;

조건줘서 SELECT.
  1. mysql> SELECT * FROM grade LIMIT 10;

결과중 처음부터 10개만 가져오기
  1. mysql> SELECT * FROM grade LIMIT 100, 10;
결과중 100번째부터 10개만 가져오기. 첫번째 레코드는 0번 부터 시작한다.

UPDATE
  1. mysql> UPDATE tablename SET col1=새값 WEHER 조건

DELETE
  1. mysql> DELETE FROM tablename WEHRE 조건

mysql에서 쿼리 결과 세로로 보기
-E 옵션을 줘서 실행한다.
  1. $ mysql -E -u root -p mysql

mysql에서 발생한 오류나 경고 다시 보기
  1. mysql> show errors;
    mysql> show warnings;

  1. MySQL 대용량 DBMS 개선 사례

    Date2017.12.28 Views8013
    Read More
  2. mysql 날짜 관련 date_add, date_format

    Date2016.12.23 Views5500
    Read More
  3. MYSQL 기초문법&예제&문제 2

    Date2021.03.27 Views136
    Read More
  4. MYSQL 기초문법&예제&문제

    Date2021.03.27 Views156
    Read More
  5. Mysql 기본 명령어

    Date2014.02.27 Views5693
    Read More
  6. MySQL 계정생성하기

    Date2017.04.12 Views5008
    Read More
  7. MySQL Table 복구 - Got error 127 from storage engine

    Date2018.07.24 Views4367
    Read More
  8. mysql table 값 변경 mariadb 테이블 값 변경

    Date2023.01.12 Views83
    Read More
  9. MySQL Shard 데이터 재분배

    Date2017.11.28 Views4950
    Read More
  10. MYSQL select 명령문의 조합 &union 예제&문제 8

    Date2021.03.27 Views138
    Read More
  11. MySQL root 패스워드 분실시

    Date2017.04.12 Views5252
    Read More
  12. MySQL Replication 설정(Master-Slave, Maste

    Date2014.02.27 Views6782
    Read More
  13. MySQL replication SQL 문 실행 오류 해결 방법

    Date2018.07.18 Views1608
    Read More
  14. MySQL ORDER BY 조건별 필드 및 ASC DESC

    Date2019.01.08 Views4420
    Read More
  15. MYSQL order by 예제&문제 7

    Date2021.03.27 Views126
    Read More
  16. Mysql Join 해부(Left, Right, Outer, Inner Join)

    Date2017.11.28 Views5340
    Read More
  17. Mysql Join 해부(Left, Right, Outer, Inner Join

    Date2018.10.02 Views1276
    Read More
  18. MySQL JOIN 걸어서 UPDATE 하기

    Date2017.04.12 Views5352
    Read More
  19. MySQL INSERT 성능 향상

    Date2016.12.22 Views11523
    Read More
  20. MYSQL IN&BETWEEN&NULL&예제&FROM절 문제3

    Date2021.03.27 Views104
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved