cmd에서 MySQL 실행하는 방법
mySQL의 bin폴더로 가서 mysql -u root -p
명령어를 입력해준다
( 이때 -u와 -p사이에는 localhost 와 -P3306이 생략되어 있다
cf. mySQL은 항상 3306번 포트를 listening한다 )
이후 비밀번호를 입력하면 mysql이 실행된다.
MySQL 주요 구문
MySQL에서 데이터베이스에 대한 작업 명령은 SQL 구문을 이용하여 처리된다.
구문뒤에는 항상 세미콜론(;)을 붙인다.
MySQL 구문은 대소문자를 구분하지 않으나 통일하여 적는게 좋다.
데이터베이스 생성
CREATE DATABASE 데이터베이스 이름;
데이터베이스 조회
SHOW DATABASES;
cf. information_schema, mysql, performance_schema, sys 는 기본 데이터베이스
데이터베이스 선택
USE 데이터베이스이름;
데이터베이스 삭제
DROP DATABASE 데이터베이스이름;
테이블 생성
CREATE TABLE 테이블 이름
( 필드이름1 필드타입1 ,
필드이름2 필드타입2,
... );
테이블 조회
SHOW TABLES;
테이블 삭제
DROP TABLE 테이블 이름;
값 채우기
INSERT INTO 테이블 이름 (필드) VALUES (값);
값 조회
SELECT * FROM 테이블 이름;
제약조건
CREATE TABLE 명령어를 사용할때, 필드에 제약조건을 설정할 수 있음
Ex. NOT NULL / UNIQUE / PRIMARY KEY(NOT NULL + UNIQUE)
/ FOREIGN KEY / DEFAULT / AUTO_INCREMENT
값 수정
UPDATE 테이블 이름 SET 필드이름 = 값, ... WHERE 필드이름 = 값;
cf. WHERE 안쓰면 테이블 전체의 값이 변경됨
행 삭제
DELETE FROM 테이블 이름 WHERE 필드이름 = 값;
cf. WHERE 안쓰면 테이블 전체의 값이 삭제됨
예제 - TWICE 데이터베이스에 song 테이블 생성)
mysql> CREATE DATABASE TWICE;
mysql> use TWICE;
mysql> CREATE TABLE song(
-> ID INT NOT NULL AUTO_INCREMENT,
-> name VARCHAR(30),
-> year INT,
-> PRIMARY KEY(ID)); // auto_increment 를 사용하려면 key로 설정해줘야!
mysql> INSERT INTO song (name,year) VALUES
-> ('dance the night away',2017),
-> ('fancy',2019),
-> ('feel special',2019),
-> ('cry for me',2020),
-> ('Lovesick Girls',2020);
mysql> select * from song;
+----+-------------------------+------+
| ID | name | year |
+----+-------------------------+------+
| 1 | dance the night away | 2017 |
| 2 | fancy | 2019 |
| 3 | feel special | 2019 |
| 4 | cry for me | 2020 |
| 5 | Lovesick Girls **** | 2020 |
+----+-------------------------+------+
mysql> UPDATE song SET year=2018 where name='dance the night away';
mysql> DELETE FROM song WHERE name = 'Lovesick Girls';
mysql> select * from song;
+----+----------------------+------+
| ID | name | year |
+----+----------------------+------+
| 1 | dance the night away | 2018 |
| 2 | fancy | 2019 |
| 3 | feel special | 2019 |
| 4 | cry for me | 2020 |
+----+----------------------+------+