-
DDL _ CREATE / DROP / ALTERSQL/sql 문법(mysql, mariaDB) 2024. 4. 27. 08:30
▤ 목차
✔ create
create 명령어는 데이터베이스와 테이블을 만들 수 있다.
⌨ 형식
1. 데이터 베이스 만들기
CREATE DATABASE 데이터베이스이름
2. 테이블 만들기
CREATE TABLE 테이블명( 칼럼명 자료형 기타조건들 );
💻 코드로 보기
1. 데이터 베이스 만들기
CREATE DATABASE School;
2. 테이블 만들기
CREATE TABLE student( bun INT primary KEY, irum VARCHAR(10) NOT NULL );
프롬프트 사용 시
데이터 베이스 생성
MariaDB [(none)]> show databases;
create database demo;
show databases;✔ drop
존재하는 테이블 전체를 삭제하는 명령어이다.
⌨ 형식
drop table 테이블명;
💻 코드로 보기
drop table student;
프롬프트 사용 시
데이터베이스 삭제
drop database demo;
✔ ALTER
ALTER 문은 데이터베이스의 전체적인 특성을 수정할 수 있게 해 준다.
테이블에 필드를 추가, 삭제하거나 필드의 타입을 변경할 수 있게 해 준다/⌨ 형식
ALTER DATABASE 데이터베이스이름 CHARACTER SET=문자집합이름
ALTER DATABASE 데이터베이스이름 COLLATE=콜레이션이름
더보기콜레이션(collation)은 데이터베이스에서 검색이나 정렬 작업을 할 때 사용하는 집합을 의미한다.
비교를 위한 규칙이다.
💻 코드로 보기
ALTER TABLE aa ALTER COLUMN juso SET DEFAULT '역삼동';
ALTER TABLE과 ADD문
⌨ 형식
ALTER TABLE 테이블이름 ADD 필드이름 필드타입
💻 코드로 보기
ALTER TABLE aa ADD phoneNum int; ALTER TABLE kbs ADD(job_id INT DEFAULT 100); -- 칼럼 추가 -- 이전 자료에 모두 default값으로 채워진다.
👏 중요
한글을 넣는데 깨진다면 charset=utf8을 설정할 수 있다.
CREATE TABLE aa(bun INT, irum CHAR(10), juso VARCHAR(50))CHARSET=UTF8; -- CHARSET=utf8 : 한글이 깨지는 경우
ALTER TABLE과 DROP문
테이블 전체를 drop 하는 것이 아니라 테이블 필드만 삭제할 수 있다.
⌨ 형식
ALTER TABLE 테이블이름 DROP 필드이름
위와 같은 형식을 따르면 필드는 사라지지만
show 테이블명; 하면 확인할 수 있다.💻 코드로 보기
ALTER TABLE test DROP jjang int;
ALTER TABLE kbs DROP COLUMN job_num;
Alter와 MODIFY COLUMN
Modify column 문과 함께 사용하면 테이블의 필드 타입을 변경할 수 있다.
⌨ 형식
ALTER TABLE 테이블이름 MODIFY COLUMN 필드이름 필드타입
SQL은 데이터와 직접적인 연관이 있어서 적재적소하게 사용하는 게 포인트이다.
구문을 많이 아는 것보다 적절하게 알고 사용할 줄 아는 게 실력이라는 생각이 든다.
💻 코드로 보기
ALTER TABLE test DROP jjang int; -- 칼럼의 구조(type)를 변경하고 있다 ALTER TABLE kbs MODIFY job_num VARCHAR(5);
Alter와 RENAME
RENAME 문과 함께 사용하면 테이블의 필드 타입을 변경할 수 있다.
⌨ 형식
ALTER TABLE 테이블이름 RENAME 변경할 이름;
Alter와 CHANGE
RENAME 문과 함께 사용하면 테이블의 필드 타입을 변경할 수 있다.
⌨ 형식
ALTER TABLE kbs CHANGE job_id job_num INT;
😊정리
SQL은 데이터와 직접적인 연관이 있어서 적재적소하게 사용하는 게 포인트이다.
DB서버를 한번에 다녀오는게 좋은 것도 있으니,
구문을 많이 아는 것보다 적절하게 알고 사용할 줄 아는 게 실력이라는 생각이 든다.
저번에 정리한 DDL은 사실 개발자 입장에서 많이 사용하지 않는다.
특히 DROP 명령어는 더더욱 사용하지 않는다. (DROP은 테이블 자체 제거!!)'SQL > sql 문법(mysql, mariaDB)' 카테고리의 다른 글
SELECT (4) 2024.05.01 INDEX 부여와 그 이유 (0) 2024.04.30 무결성 제약(constraint)조건 : Primary Key(PK), Check, Unique, Default, Foreign Key( (0) 2024.04.29 DML 조작어_ select / insert / update / delete (2) 2024.04.28 MariaDB 설치 및 기본 명령어 (0) 2024.04.26