DDL를 이용해서 DB 사용해보자. [데이터 베이스와 테이블을 만들고 필드 추가 삭제 등을 알아본다. ]
- create - database, table [if not exists]
- alter - add, drop, chage, modify, rename
- drop - database, table [if exists]
mysql을 사용하기 위해 xampp control를 실행시키자.
xampp의 mysql 경로를 보면 아래와 같다.
cmd창을 열어서 해당 경로로 가서 실행을 해야 한다.
해당 경로에서 mysql 입력
그 후 계정을 입력하는데 아이디는 -u"아이디" -p"비밀번호" 형식으로 쓴다.
관리자로 접속을 하면 현재 위치 경로가 아래 사진과 같이 바뀔 것이다.
show를 입력해서 database가 있는지 확인해보자.
명령어 : show databases;
해당 DB를 사용하려면 use를 사용하고 원하는 db명을 쓴다.
명령어 : use mysql;
명령어 : show tables;
select문은 해당 테이블을 알맞게 볼 수 있다.
(아래 명령어는 user 테이블로 부터 Host, User, Password만 보겠다..)
명령어 : select Host, User, Password from user;
이제 연습을 위해 기존에 있던 database 말고 새로 mrhi_db를만들자
명령어 : create database mrhi_db;
database가 잘 만들어 졌는지 확인해보자.
명령어 : show databases;
database를 삭제 할 수도 있다.
명령어 : drop database mrhi_db;
다시 연습을 위해 mrhi_db라는 데이터베이스를 만들자. 그리고 만든 db에서 작업하자.
명령어 : create database mrhi_db;
명령어 : show databases;
명령어 : use mrhi_db;
지금은 관리자 계정이지만, 연습을 위해 만든 db에 계정을 추가하겠다. 그 계정으로 작업을 하자.
mysql로 가서 user테이블을 보면 현재 계정들이 나온다.
명령어 : use mysql;
명령어 : select host,user,password from user;
관리자 권한으로 DB를 수정할 시 배우는 단계에서 실수할 여지가 있다. 그래서 새로운 사용자 계정을 만들자.
(임의로 mrhi_db 데이터베이스에 id는 cw , pw는 1234로 하였다.)
명령어 : grant all on mrhi_db.* to 'cw'@'localhost' identified by '1234';
mrhi_db DB에 해당 사용자 계정에 대한 권한을 부여하였다.
다시 mtsql의 host를 보면 방금 권한을 준 계정이 보일 것이다.
(비밀번호는 제대로 안보일 것이다. 그러나 위 사진에서 준 1234가 맞다.)
명령어 : select host, user,password from user;
이제 mysql을 나와서 방금전에 만든 계정으로 들어가자.
명령어 : exit;
명령어 : mysql -ucw -p1234
명령어 : show databases;
이제 mrhi_db 데이터베이스에서 연습을 해보자. 데이터베이스만 만들고 안에 내용(table)은 없을 것이다.
명령어 : use mrhi_db;
명령어 : show tables;
이제 임의로 friend 테이블을 만들고 필드로는 num과name을 만들자.
명령어 : create table friend(num integer not null auto_increment, name char(10) not null, primary key(num));
명령어 : show tables;
명령어 : desc friend;
테이블을 만들때 필드로 num,name만 만들었지만, 추후 추가가 가능하다.
age를 추가해보자.
명령어 : alter table friend add age int;
똑같은 방법으로 email을 추가해보자.
명령어 : alter table friend add email varchar(20);
명령어 : desc friend; // 테이블 정보 확인
필드 삭제도 가능하다.
명령어 : alter table friend drop email;
명령어 : desc friend; // 테이블 정보 확인
필드에 tel 을 추가하고 tel의 이름과 Type을 변경 가능하다. ( tel -> hp // char(20) -> int )
명령어 : alter table friend add tel char(20);
명령어 : desc friend;
명령어 : alter table friend change tel hp int;
명령어 : desc friend;
Type만 변경 가능하다.
명령어 : alter table friend modify hp char(20);
명령어 : desc friend;
명령어 : alter table friend rename student;
명령어 : show tables;
테이블 삭제도 가능하다.
명령어 : drop table student;
명령어 : show tables;
만약 한번 만들었는데, 다시 똑같은 이름을 만드는 명령어를 실행한다면?
ERROR가 발생할 것이다. php문에서는 그 줄이 error나도 다음줄이 실행되서 연쇄적인 오류가 발생할 수 있다.
이것을 방지 하기 위해 있으면 실행하지 않고, 없을때만 실행되도록 해보자. ( if not exists )
명령어 : create table if not exists mem(num int, name char(10));
삭제 시에도 사용 가능하다.
명령어 : drop table if exists mem;
'안드로이드 웹앱 콘테츠 개발자 양성(국비지원) > DBMS' 카테고리의 다른 글
db,php,html,script 홈페이지 1-1 (HOME, 회원가입 페이지 작업) (1) | 2020.01.08 |
---|---|
DBMS 다양한 방법 2(php 파일로 일괄 적용 PDO로 php와 DBMS 연결) (0) | 2020.01.07 |
DBMS 다양한 방법 1 (php 파일로 일괄 적용 php와 DBMS 연결) (0) | 2020.01.07 |
DBMS 1-2 (DML를 이용 테이블 필드 추가,변경,삭제) (0) | 2020.01.07 |
DBMS 종류 및 Query문 3종류 (0) | 2020.01.06 |
댓글