4월 5일 내용정리
어제부터 SQL 실습으로 코드작성하면서 시작.
1.DB구축하기
SQL "DB구축하기" 기본틀은 아래와 같다.
(1) DB만들기(방만들기)
(2) 테이블만들기(책꽂이만들기)
(3) 입력/수정
(4) 조회
2.SQL언어
DDL; create, Alter(구조 수정),drop(구조 삭제)->책꽃이에 관련된거
DML;select, insert,update,delete->책(데이터)에 관련된거
DCL:revoke(권한삭제),grant(권한)->권한관련, commit(작업완료),rollback(작업취소)
TCL:commit(작업완료),rollback(작업취소)
3.mySQL에서는 스키마(schemas)는 데이터베이스를 처리하는곳으로 인식하나 오라클은 다르니 염두하기
4.SQL은 자바처럼 순차적으로 처리하는 개념이 아니라 한줄한줄 실행 하는개념으로 원하는 줄을 선택하여 컨트롤+엔터 실행, 전체선택하고 컨트롤+시프트+엔터 는 전체 실행
5.SQL은 대소문자를 구분하지 않는다.
6.한줄 주석 "--(한칸띄기)내용내용"
7.테이블을 만들때 속성(=열) 부분에서 필요에따라 지정할때 쓰임
primary key->데이터를 구분하는 유일한키, null쓸수없음, 중복없음
unique->null쓸수있고, 중복쓸수없음
8.수정하고 싶을때 alter 를 쓰고 추가하고 싶거나 수정하고 싶은 부분 수정하기
9.데이터 조회는
select 열이름, 열이름, ...from 테이블명; 여기서 * 는 '전체 열모두' 이다.
10.varchar는 가변길이지정으로 본인이 쓸만큼만 쓰고 나머지는 다시 메모리반환
11.primary key는 중복안됨,삭제안됨,기본적으로 오름차순으로 자동정렬된다.
12.not null 이라고 쓴거는 값을 안넣으면 에러남.
13.null은 빈값도 값으로 인지 값을 비워둬도됨
14.delete from 테이블명; 자료는 없고 구조만 남김
15.drop table; 테이블 자체를 아예 삭제
16.drop database if exists 데이터베이스이름; 데이터베이스이름 있으면 제거하라
create database shopDB; -- create+개체명+만들개체의 이름;
use shopDB; -- 어떤 db를 작업할지 컴터에 알려주는 역할 또는 사용하는 데이터베이스를 더블클릭하여 어떤 db를 작업할지 컴터에 알려줄 수 있음
create table memberTBL(-- 테이블 만들기
memberId char(8) not null primary key, -- 기본키 지정하기
mname char(5) not null,
addr varchar(100) null -- 가변길이 본인이 쓸만큼만 쓰고 들어오메모리만큼만 쓰고 나머지는 다시 메모리반환
-- primary key(memberId) 로 써서 지정해줘도 됨
);
select * from memberTBL;
insert into memberTBL(memberId,mname,addr) values("tess","나후나","경기 부천시 중동");-- insert into 테이블명(열이름,열이름...) values(값1,값2... ) 열이름과 값의 갯수가 동일해야 한다.
-- insert into 테이블명(열이름,열이름...) (1)
-- insert into 테이블명 values(값1,값2... ) (2) 이렇게 2줄로 써도됨
insert into memberTBL(memberId,mname,addr) values("hero","임영웅","서울 은평구 중산동"); -- primary key는 중복안됨,삭제안됨,기본적으로 오름차순으로 자동정렬된다. not null 이라고 쓴거는 값을 안넣으면 안됨
insert into memberTBL(memberId,mname,addr) values("iyou","아이유","경기 부천시 상동"); -- not null 이라고 쓴거는 값을 안넣으면 안됨
insert into memberTBL(memberId,mname,addr) values("jyp","박진영","경기 부천시 중동");-- null은 빈값도 값으로 인지 값을 비워둬도됨
commit; -- 되돌아가기를 막고 싶을때 '자료완료'의 의미
delete from memberTBL; -- 자료는 없고 구조만 남김
select * from memberTBL; -- 조회하기
drop table; -- 테이블 자체를 아예 삭제
drop database ; -- 데이터베이스 자체를 아예 삭제
drop database if exists shopDB; -- shopDB 데이터베이스다 있으면 제거하라