INT: 정수형
DOUBLE: 실수형
VARCHAR: 문자형
NOT NULL: 빈값일 수 없음
AUTO_INCREMENT: 숫자가 자동으로 증가
PRIMARY KEY:고정키
DESCRIBE 테이블명: 생성된 테이블 상세정보 확인
flush privileges: 새로고침
DDL
(CREATE/ALTER/DROP)
DML
(INSERT/SELECT/UPDATE/DELETE)-CRCD
DCL
(GRANT/REVOKE)
열(세로) column
행(가로) row
표 table
테이블 생성 create
테이블 삭제 drop
테이블 수정 alter
데이터 입력 insert
데이터 삭제 delete
데이터 수정 update
검색/확인 select
** 모든 컬럼 불러오기
특정 컬럼명만 출력하고 싶다면 컬럼명 위치에다 출력 하고자 하는 컬럼명을 ,로 연결
컬럼=필드=속성 모두 같은말
고정길이 문자 n개 char2(n)
핸드폰번호,생일 등
가변길이 문자 n개 nvarchar2(n)
저장할 데이터에 알파벳과 숫자만 들어가는 경우 VARCHAR2 권장
저장할 데이터에 한글이 포함되는 경우 NVARCHAR2 권장
가변길이가 들쑬날쑥한 문자열은 varchar2()를 쓰는게 공간효율적이다 (전부 이걸로 쓰면 느릴수 있음)
length 문자의 갯수를 알려줌
lengthb 문자의 바이트를 알려줌
한글은 한글자당 3바이트
한글같은경우는 nchar()을 쓰는것이 효율적이다
clob 대용량텍스트 데이터타입 최대 4gbyte
명령어 : 소/대문자 상관없음
값 : 소/대문자 상관있음
+-38자리 정수와 실수 number
n자리 정수 number(n)
총m자리인데 소수점이 n자리인 실수 number(m,n)
날짜를 저장('YYYYMMDDHH24MISS') date 현재시간:sysdate
시간데이터 변경 to_date
to_date('1992:04:22 14:05:23', 'yyyy.mm.dd hh24:mi:ss')
저장할 데이터가 없을때 null
문자는 따옴표''사용
작업 취소 rollback;
작업 적용 commit;
현재 데이터베이스에 있는 테이블정보 출력 select * from tab
human 테이블 상세내용 출력 desc human;
mysql> CREATE TABLE 테이블명 (
-> id int NOT NULL auto_increment primary key,
-> name VARCHAR(15) NOT NULL,
-> phone VARCHAR(15) NOT NULL
-> );
특정 table 이나 view의 구조를 확인할때
desc 테이블명
insert into 테이블명(컬럼명) values(들어갈값)
ex)
insert into human(name,age,height,birthday) values
('홍길동', 30,152.1, to_date('2000:02:28 00:00:00','yyyy.mm.dd hh24:mi:ss));
insert into human values
('홍길남', 31,156.1, to_date('2001:02:02 00:00:00','yyyy.mm.dd hh24:mi:ss));
모든입력/작업이 끝나면 반드시 commit을 기술해 줘야한다
저장개념. 필수
데이터 삽입시 원하는 컬럼만 넣고싶을때
insert into 테이블명(컬럼1,컬럼2) values('값1','값2');
원하는 컬럼에 데이터를 저장하기
insert into 새로운테이블 select * from 원래테이블 where 컬럼 = '데이터';
SELECT * FROM 테이블명 ORDER BY id DESC;
update 테이블명 set 컬럼명 = 변경값;
update 다음에 변경할 테이블명을 기술하고 set다음에 변경할 컬럼과 내용을 기술한다.
human 테이블의 age를 100으로 변경해보자
update human set age=100; human테이블의 모든 데이터가 100으로 변경됨
select * from human;를 실행시키면 변경된 모든 데이터를 확인 할 수 있다. 하지만, 실제 데이터를 변경할 때는 특정 데이터만 변경하지 모든 데이터를 변경하는 일은 없다.
특정 데이터만 변경하기
update human set age='100' where id = '특정컬럼';
commit후 rollback은 적용안됨
이게 FM이지만 요즘은 편집도구를 이용해 변경한다
alter table 테이블명 add 컬럼명 varchar(00) after 컬럼명;
ALTER TABLE test add name VARCHAR(15) NOT NULL after age;
alter table 테이블명 modify column 컬럼명 varchar(00) null;
alter table 테이블명 change column 컬럼1 컬럼2 varchar(00) null;
alter table 테이블명 drop column 컬럼;
alter table 테이블명 rename 변경할테이블명;
원하는행을 삭제한다
delete from 테이블명 where 삭제할 조건;
delete from testTable where name='홍길순';
delete 다음에 from은 생략가능하고 삭제하고 싶은 테이블명을 입력하면 됨
human테이블에 모든 데이터를 삭제해보자
delete human; select * from human;
ex)나이가 30보다 큰 사람의 데이터 삭제
delete human where age>30;
테이블 삭제
drop table 테이블명; 데이터베이스에서 해당 테이블을 삭제한다
drop table human;
DELETE FROM A
WHERE no = :no AND feature = :feature`;
DELETE FROM a WHERE no IN (
SELECT no FROM a WHERE member_no = :memberNo AND feature_no = :feature_no)