sql 파일 삽입(일괄실행)
오늘은 커맨드창에서 create 명령문이나 insert into명령어 없이 테이블과 레코드를 삽입해보겠습니다.
지금까지 커맨드 창에서 테이블 생성 및 레코드 삽입은 다음과 같이 명령문을 입력해서 진행해야했습니다.
테이블을 아래와 같이 만들고
create table 테이블명( name varchar(10), age int(5) );
그리고 레코드를 삽입한다.
insert into 테이블명(필드명)
values (필드값1,필드값2,...);
저렇게 해서 레코드 한줄이 완성된다.
위의 명령문에서 보면 insert into 테이블명 을 적고 난후에 ()사이에 지정했던 필드명을 써주는데 그것은 처음 레코드 기입 할때 한번만 해주면 된다.
그 다음레코드 삽입시에는 insert into 테이블명 하고 바로 엔터후
values(필드값1,필드값2)를 작성하면 된다.
그럼 이제 일괄실행을 해보자 일괄실행은 에디터에서 직접 테이블을 만들고 에디터에서 레코드를 입력하는 과정을 말합니다.
우선 테이블 먼저 만든다. 자신이 쓰고 있는 에디터에
아래와 같이 입력한다. cmd창이 아닌 에디터(ATOM, 노트패드++, 메모장, phpstorm 등 아무 에디터나)이다.
CREATE TABLE my_smart_devices( num int not null AUTO_INCREMENT, name varchar(20), thenumberofcpu varchar(20), company varchar(20), PRIMARY KEY(num));
auto_increment는 자동으로 값이 1씩 늘어나게 하는 설정입니다. 값이 겹치지 않도록 하게 위함 입니다.
레코드의 고유번호를 지정할 때 사용합니다.
위와 같이 입력을 했다면 이제 저장은
macOS에서는 /Application/MAMP/Library/bin/ 폴더에 smart.sql 파일명과 확장자로 저장합니다
windows10 에서는 c:/mamp/bin/mysql/bin 폴더에 smart.sql 파일명과 확장자로 저장합니다.
이제 MySQL에 접속해서 smart라는 데이터베이스를 만듭니다.
CREATE DATABASE smart;
라고 입력하면 smart 라는 데이터베이스가 생성된다.
SHOW databases;
를 입력후 확인하면 smart 데이터베이스가 존재한다.
그 후에
exit를 입력해서 mysql을 종료한다.
그리고 아래와 같이 입력합니다.
macOS 사용자 :
sudo ./mysql -uroot -p smart < smart.sql
입력 후 여러분이 설정한 비밀번호를 입력한다.
windows10 사용자 :
mysql -uroot -p여러분의비번 smart < smart.sql
위에 보는것과 같이 smart.sql 이라는 테이블 생성 소스가 들어있는 파일을 smart 데이터베이스 안에다가 넣는것이다.
그럼 테이블이 생성된다.
이제 smart 데이터베이스 안에 my_smart_devices 테이블이 있는지 알아보자
mysql 에 들어가서 use smart; 를 입력하고 show tables; 를 입력하면 my_smart_devices 테이블이 생성되어있을것이다.
macOS 사용자
windows 사용자
그럼 desc(테이블구조를 보는명령어)로 필드들이 제대로 되어있는지 보자.
DESC my_smart_devices;
되어있다!
그럼 다음 강좌는 특정 레코드 검색해보자!!
현재까지의 db 백업 (아래는 현재까지의 작업을 백업한거라서 중도에 들어오신분들을 위한거에요.)
david_db smart