설치 직후에 root 사용자에 비밀번호가 없을 경우에는 다음과 같이 접속한다.
mysql -u root mysql |
외부 서버에서 접속이 불가하면 MySQL 설정에서 bind-address 항목을 살펴보길 바란다.
비밀번호 변경
MySQL을 설치한 직후 root 계정에 암호가 지정되어 있지 않은 경우 -p 옵션은 생략한다.
# mysqladmin 이용 mysqladmin -u root password 새비밀번호 or mysqladmin -u root -p password 새비밀번호 |
실습
데이터베이스 목록 조회
show databases; |
실습
데이터 베이스 생성/보기
#데이터베이스 생성 mysql> create database dbname; # 현재 존재하는 데이터베이스 목록을 보여준다. mysql> show databases; # 특정 데이터베이스를 사용하겠다고 선언한다. mysql> use dbname; # 데이터베이스 삭제 mysql> drop database dbname; |
실습
테이블 생성/보기
use 데이터베이스 명령으로 사용할 데이터베이스를 활성화 후 진행한다.
primary key는 유일한값으로 not null로 지정하면 해당 칼럼에는 null을 입력 할 수 없다.
# 테이블 생성 mysql> create table tablename( column_name1 int primary key auto_increment, column_name2 varchar(15) not null, column_name3 int ) engine=innodb; or mysql> create table tablename( ID int(10) primary key not null, NAME varchar(20), AGE int); |
현재 데이타베이스의 테이블 목록을 본다.
mysql> show tables; |
실습
테이블 구조를 살펴본다.
mysql> explain tablesname; or mysql> describe tablename; or mysql> desc tablename; |
실습
테이블 이름 변경
mysql> rename table tablename1 to tablename2; |
실습
테이블 삭제
mysql> drop table tablename; |
실습
현재 상태 보기
mysql> status |
실습
INSERT
mysql> insert into tablename values(값1, 값2, ...); or mysql> insert into tablename (col1, col2, ...) values(값1, 값2, ...); |
실습
SELECT
mysql> SELECT col1, col2, ... FROM tablename; |
칼럼명을 * 로 하면 모든 컬럼을 의미한다.
실습
칼럼의 이름을 바꿔서 출력한다.
mysql> SELECT col1 AS '성명' col2 AS '메일' FROM tablename; |
실습
DESC 는 내림차순 ASC 는 오름차순 이다.
mysql> SELECT * FROM tablename ORDER BY col1 DESC; mysql> SELECT col1, ID + AGE AS '합' FROM tablename ORDER BY '합' ASC; |
실습
조건을 만족하는 컬럼에 해당하는 데이터만 조회한다.
mysql> SELECT * FROM 테이블명 WHERE 조건; |
실습
결과중 처음부터 n개만 가져오기.
mysql> SELECT * FROM 테이블명 LIMIT n; |
결과중 n번째 부터 m개만 가져오기. (첫번째 레코드는 0번 부터 시작한다.)
mysql> SELECT * FROM 테이블명 LIMIT n, m; |
실습
UPDATE
mysql> UPDATE tablename SET col1='새값' WHERE 조건; |
실습 : ID = '1' 에 해당하는 AGE를 25로 수정
DELETE
mysql> DELETE FROM tablename WHERE 조건; |
실습
DELETE with JOIN - MySQL Deleye Join | DELETE with INNER JOIN and LEFT JOIN Examples -- DELETE 바로 뒤에 삭제할 테이블을 적는다. -- INNER JOIN DELETE T1, T2 FROM T1 INNER JOIN T2 ON T1.key = T2.key WHERE condition; -- LEFT JOIN DELETE T1 FROM T1 LEFT JOIN T2 ON T1.key = T2.key WHERE T2.key IS NULL; |
칼럼 추가
mysql> ALTER TABLE 테이블명 ADD 추가할칼럼명 칼럼타입; |
실습
칼럼명, 타입 수정
mysql> ALTER TABLE 테이블명 CHANGE 수정할칼럼명 수정된칼럼명 칼럼타입; |
실습
칼럼 삭제
mysql> ALTER TABLE 테이블명 DROP 삭제할 칼럼명; |
실습
칼럼 타입 수정
mysql> ALTER TABLE 테이블명 MODIFY 칼럼명 수정할칼럼타입; |
테이블명 수정
mysql> ALTER TABLE 테이블명 RENAME 수정할테이블명; |
*reference