MySQL 명령어, DB Table
2022. 2. 8. 11:47ㆍStudy/PHP&MySQL
SQL 데이터베이스 관련 명령어
까만창 무섭다.
데이터베이스 접속 명령
mysql -u계정아이디 -p비밀번호 데이터베이스명
c:\>mysql -usong -p1234 song_db
또는
c:\>mysql -usong -p1234 // 계정로그인
mysql>use song_db // use 명령을 사용해 작업하려는 데이터베이스 선택
데이터베이스 빠져나오기
\q
데이터베이스 생성, 목록 출력
데이터베이스 생성과 삭제 권한은 관리자에게만 있으므로 root로 접속해서 명령을 실행해야 한다!!!! (중요)
데이터베이스 생성 명령 : creat database 데이터베이스명;
데이터베이스는 관리자만 생성할 수 있기 때문에 반드시 root계정으로 생성한 후,
데이터베이스 출력 명령을 통해 그 존재를 확인해 본다.
c:\>mysql -uroot -p mysql // root 계정으로 접속, 비밀번호는 엔터
mysql>create database sample1; // sample1 데이터베이스 생성
mysql>show databases; //데이터베이스 목록 출력 명령
디비세팅은 아래 포스팅을 참고하자
데이터베이스 삭제하기
데이터베이스 삭제 명령 : drop database 데이터베이스명;
c:\>mysql -uroot -p mysql // root 계정 접속
mysql>drop database sample1; // sample1 데이터베이스 삭제
mysql>show databases; //데이터베이스 목록 출력 명령
MySQL 테이블 관련 명령
테이블 : 실제 데이터가 저장될 수 있는 공간
※ 관계형 데이터베이스의 개념 및 구조
관계형 데이터베이스의 개념
논리적 데이터베이스 설계 단계에 대한 이해를 잘 하기 위해서는 관계형 데이터베이스에서 사용되는 용어에 대한 이해를 잘 하는 것이 필수적인 요소이다.
구조
Table | 관계형 데이터베이스의 기본 데이터 저장 구조이며, 하나의 테이블은 여러개의 Row로 구성 (ex. 사원정보, 부서정보...) |
Row | 하나의 테이블을 구성하는 다른 유형의 데이터 (ex. 2 주영현 과장 250 10.. ) |
Column | 하나의 Row를 구성하는 구성요소 (ex. 사원번호, 사원명, 직급, 급여, 부서번호...) |
Primary-key | 테이블에서 각 Row를 유일하게 구분하는 Column-key * 중복되지 않는 데이터가 저장되는 고유한 filed, 식별을 위애 꼭 필요하다 |
Filed | 테이블에서 Row와 Column이 교차하는 데이터 |
Null | 데이터가 존재하지 않는 Column의 값 |
Foreign-key | 하나의 테이블에 있는 Column으로는 그 의미를 표현할 수 없는 경우, 다른 테이블의 Primary-key 컬럼의 값을 반드시 참조하여 표현해야 하는 Column |
데이터베이스 테이블 생성
create table 테이블명(
필드명1 타입,
필드명2 타입,
......
PRIMARY KEY(필드명)
);
mysql>create table friend(
num int not null, // *필수항목(primary-key) 값이 꼭 들어가야 함 / int : 정수, null값 안됨
name char(10), // char(10) : 글자(글자수)
address char(80),
tel char(20),
email char(20), // not null이 없으므로 필수항목이 아니다.
primary key(num) // 기본키는 필드값은 서로 중복되지 않는 유일한 값을 갖는다. 구별되는 필드
);
mysql -usong -p1234 song_db // 데이터베이스 접속
mysql>create table friend(
num int not null,
name char(10),
address char(80),
tel char(20),
email char(20),
primary key(num)
);
mysql>show tables; // 테이블 생성 확인
데이터베이스 테이블 구조 확인
desc 테이블명;
mysql>desc friend;
데이터베이스 테이블 수정 명령
새로운 필드 추가 명령
alter table 테이블명 add 새로운필드명 필드타입 [first 또는 after 필드명];
mysql>alter table friend add age int; // friend 테이블에 age 필드를 정수형으로 추가 (제일 마지막에 추가됨)
mysql>alter table friend add hp char(20) after tel; // tel 필드 바로 다음에 hp필드를 추가
필드 삭제 명령
alter table 테이블명 drop 삭제할 필드명1, drop 필드명2, ....;
mysql>alter table friend drop email; // email 필드 삭제
mysql>alter table friend drop age, drop hp; // age, hp 필드 삭제
mysql>desc friend;
필드 수정 명령
alter table 테이블명 change 이전필드명 새로운필드명 필드타입;
mysql>alter table friend change tel phone int; // tel 필드를 phone 필드 정수형으로 수정
mysql>desc friend;
필드 타입 수정 명령
alter table 테이블명 modify 필드명 새로운타입 not null;
mysql>alter table friend modify name char(20); // name 필드 타입을 char(20)로 수정
mysql>desc friend;
데이터베이스 테이블명 수정 명령
alter table 이전테이블명 rename 새로운테이블명;
mysql>alter table friend rename student;
mysql>show tables;
데이터베이스 테이블 삭제 명령
drop table 테이블명;
mysql>drop table student;
mysql>show tables;
데이터베이스 문자셋 확인하기
mysql>show variables like 'c%';
mysql>show variables like 'c%';
'Study > PHP&MySQL' 카테고리의 다른 글
MySQL 레코드 관련 명령(insert, select, update, delete) (0) | 2022.02.09 |
---|---|
MySQL 명령의 일괄 실행 (0) | 2022.02.09 |
get / post (0) | 2022.02.08 |
form 유효성 검사 (0) | 2022.02.07 |
php 배열과 함수 (0) | 2022.02.04 |