개발/SQL

[SQL]기초5. SQL 개요 및 실습 데이터 알아보기

알짭배기 2023. 8. 11. 23:37
반응형

SQL(Structured Query Language)이란? 

- 데이터베이스에 데이터 삽입/삭제/수정/검색하는 방법

- 관계 대수나 관계 해석을 사용 ==> 일반사용자가 사용하기 어렵다. 

-대안 : SQL 사용

- SQL  관계 데이터베이스를 위한 표준 질의어

- 사용자가 처리를 원하는 데이터가 무엇인지만 제시

- 데이터를 얻는 방법에 대하여 언급하지 않음 ==> 비절차적 데이터 언어의 특성


SQL의 역사

- 1974년 SEQUEL (Structured English QUEry Language)에서 유래

-IBM 연구소의 연구용 관계 데이터베이스 관리시스템 (System R)을 위한 언어

- 이후 개발된 관계 데이터베이스 관리 시스템은 다른 질의어를 사용

- 1986년 SQL을 관계 데이터베이스의 표준 질의어로 채택하고 표준화 작업 진행

- 미국 표준 연구소인 ANSI와 국제 표준화 기구인 ISO에서 작업

- 1986년 표준 SQL : SQL-86 또는 SQL1

- 1992년 표준 SQL : SQL-92 또는 SQL2

- 1999년 표준 SQL : SQL-99 또는 SQL3 C. SQL 사용 방법

- DBMS 내에서 대화식으로 질의한다.

- C, C++, Java와 같은 언어로 작성한 프로그램에 삽입하여 사용한다


 SQL 사용 방법

- DBMS 내에서 대화식으로 질의한다.

- C, C++, Java와 같은 언어로 작성한 프로그램에 삽입하여 사용한다!

 


SQL의 분류

- 데이터정의어 (DDL, Data Definition Language)

 테이블을 생성, 변경, 삭제하는 기능

 

- 데이터조작어 (DML, Data Manipulation Language) 

테이블에 데이터를 삽입, 수정, 삭제, 검색하는 기능

 

 

- 데이터제어어 (DCL, Data Control Language) 

보안을 위해 데이터에 대한 접근 및 사용 권한을 사용자별로 부여, 취소하는 기능

데이터베이스 관리자가 주로 사용

 


SQL의 기능

- 주기능 : 검색을 위한 질의 작성용 비절차적 데이터 조작어

- 보조기능 : 데이터 정의 및 제어

 

 


실습해보기!

@연습데이터베이스를 간단한 고객 / 상품 / 주문 으로 나눠서 작성해볼것이다!

 

 

 

** Error Code : 1064 / 1046 

또는 

ERROR 1046 (3D000): No database selected

이 나왓다 

https://pass041.tistory.com/22

 

ERROR 1046 (3D000): No database selected 해결방법!

이렇게 뜨는 이유는 데이터 베이스를 선택하지 않았기 때문이다 그래서 show databases; 를 입력 한 후 사용할 데이터베이스를 입력 하고 다시 명령어를 입력하면 생성된다!

pass041.tistory.com

이걸 참고해라! 

 

1. 테이블 생성 명령어 확인하기

create table customer (
account varchar(10) not null,
name varchar(10) not null,
grade varchar(10) not null,
credit int default 0,
address varchar(100),
primary key(account)
);

> show create talbe customer;

 

 

1. Customer table

account name grade credit address
bank 홍길동 Gold 30000 서울 종로구
apple 이남이 VIP 5000 경기 용인시
sand 김둘 Silver 350 경기 수원
bird 박셋쮀 Gold 2450 부산 서구
king 구선두 New 0 충남 천안시
leg 오나라 VIP 15000 서울 성북구

 

insert into customer values('bank','홍길동','Gold','30000','서울 종로구');
insert into customer values('apple','이남이','VIP','5000','경기 용인시');
insert into customer values('sand','김둘','Silver','350','경기 수원');
insert into customer values('bird','박셋쮀','Gold','2450','부산 서구');
insert into customer values('king','구선두','New','0','충남 천안시');
insert into customer values('leg','오나라','VIP','15000','서울 성북구');

분량 조절 실패로 2편으로 !