SQL(Structured Query Language)은 데이터를 보다 쉽게 검색, 추가, 삭제, 수정하기 위해 고안된 컴퓨터 언어
콘솔에서 다음 명령 실행
mysql -uroot -p
uroot : u(user)를 관리자 계정인 root로 DBMS에 접속하겠다는 뜻
p : password를 의미
명령을 실행하고 나서 본인이 설치할 때 정했던 password를 입력한다
접속에 성공하면 mysql> 프롬프트가 표시된다
mysql> create database DB이름;
위 명령어로 database를 생성한다
Database 생성 후에 해당 데이터베이스를 사용할 계정을 생성해야 한다
그리고 해당 계정에게 데이터베이스를 이용할 권한을 부여해야 한다
grant all privileges on db이름.* to 계정이름 @'%' identified by '암호';
grant all privileges on db이름.* to 계정이름 @'localhost' identified by '암호';
flush privileges;
db이름. 에서 는 모든 권한을 부여한다는 의미이다.
@'%'는 모든 클라이언트에서 접근 가능하다는 의미이다.
@'localhost'는 해당 컴퓨터에서만 접근 가능하다는 의미이다.
flush privilieges는 DBMS에게 명령을 적용하라는 뜻이다
반드시 해당 명령을 실행해줘야 한다
(privilieges : 특권)
주의 : 8.0버전에서는 query가 다름
create database 데이터베이스이름;
create user 계정이름@localhost identified by '계정비밀번호';
grant all privileges on 데이터베이스이름.*TO '계정이름'@'localhost';
flush privileges;
내가 설치한 8.0 버전에서는 위와 같이 query를 입력해야 한다.
유저이름 : connectuser
pw : connect123!@#
mysql -h호스트명 -uDB계정명 -p 데이터베이스이름
호스트는 내 컴퓨터의 IP이므로 127.0.0.1
위의 사용자 생성에서 만든 계정명과 접속할 데이터베이스 이름을 입력하고 엔터 입력
계정 password 입력
database 이름 : connectdb
user 이름 : user1234 (pw : 1234)
mysql> QUIT;
mysql> exit;
둘 중 뭐를 사용해도 상관없다
Bye가 출력되면 연결 끊기 성공
mysql> SELECT VERSION(), CURRENT_DATE;
SQL은 query라고 읽는다 (DBMS에 명령을 내리는 문장들)
SQL은 ;로 끝난다
;로 끝나기 때문에 ;가 입력되기 전에 엔터를 이용해서 줄바꿈을 하며 query를 작성할 수 있다
같은 원리로 문장 끝에 ;만 붙여주면 한 줄에 여러 문장을 실행할 수 있다.
SELECT 키워드는 어떤 내용을 조회할 때 사용한다
SQL의 키워드는 대소문자를 구분하지 않는다
쿼리를 이용해서 계산식을 작성할 수 있다.
mysql>SELECT SIN(PI()/4),(4+1)*5;
SQL을 입력하는 도중에 \c를 입력해서 취소할 수 있다.
mysql>show databases
작업하기 위한 데이터베이스를 선택하려면 어떤 데이터베이스가 있는지 알아야 한다.
mysql>use mydb;
use command를 사용한다. 이미 데이터베이스가 존재해야 하고, 접속한 계정이 데이터베이스에 대한 접근권한이 있어야 한다.
RDBMS(관계형 DBMS)의 기본적 저장구조인 테이블
column : 테이블 상에서 단일 종류의 데이터를 나타냄, 특정 데이터 타입,크기를 가짐
row : column 값들의 조합, 기본 키 (PK)에 의해 구분된다
PK는 중복을 허용하지 않으며 없어서는 안된다
위의 예시에서는 student_id가 PK
field : row와 column의 교차점. 데이터를 포함하거나 없으면 null
테이블을 만들지 않은 상태에서 show tables; 를 입력하면 empty set을 표시한다.
강의에서 제공하는 파일 말고 댓글에서 제공하는 파일로 해야 되는것 같다..
곰니님 댓글에 있는 파일로 하면 됨
desc 테이블명;
해주면 해당 테이블의 구조를 확인할 수 있다.
(desc = describe)