본문 바로가기

개발/Database30

테이블 변경 (ALTER) - 테이블 제약 조건 제거 (DROP) 테이블 변경 (ALTER) - 테이블 제약 조건 제거 (DROP) ALTER TABLE hero DROP COLUMN star, DROP PRIMARY KEY; DESC hero hero 테이블 변경 DROP COLUMN 컬럼명 : star 컬럼 제거 기본키 제거 2024. 2. 2.
테이블 변경 (ALTER) - 테이블 변경 (CHANGE, MODIFY) 테이블 변경 (ALTER) - 테이블 변경 (CHANGE, MODIFY) MODIFY 컬럼의 상태 변경 컬럼의 값을 바꿀 때 사용 ALTER TABLE hero MODIFY COLUMN star BIGINT DEFAULT 10000; DESC hero; CHANGE 컬럼의 상태 변경 MODIFY와 달리 컬럼의 이름도 변경 가능하다. ALTER TABLE hero CHANGE COLUMN star rating INT DEFAULT 100; DESC hero; INT INT의 범위 INT의 범위는 4바이트이므로 -2147483648 ~ 2147483647의 범위를 갖지만, 대부분의 경우 id에 음수를 사용하지 않기 때문에 UNSIGNED 속성을 지정하면, 0 ~ 4294967295의 범위를 갖는다. 테이블에.. 2024. 2. 2.
테이블 변경 (ALTER) - 테이블 칼럼 , 제약조건 추가 (ADD) 테이블 변경 (ALTER) - 테이블 칼럼 , 제약조건 추가 (ADD) ALTER TABLE hero ADD COLUMN star INT NOT NULL AFTER _id, ADD PRIMARY KEY (_id); DESC hero; hero 테이블 변경 자료형이 INT이고 NOT NULL 인 star라는 컬럼을 _id 컬럼 바로 뒤에 생성 _id를 기본키로 생성 AFTER 컬럼명 컬럼명 뒤에 컬럼을 생성하는 구문으로 추가될 컬럼의 위치를 선정한다. FIRST 컬럼명 첫 번째 컬럼으로 추가(첫 번째 컬럼은 보통 기본키) ADD COLUMN 컬럼명 조건 새로운 컬럼을 컬럼명과 조건으로 신규 생성해서 추가 2024. 2. 2.
테이블 변경 (ALTER) - 테이블 이름 변경 (RENAME) 테이블 변경 (ALTER) - 테이블 이름 변경 (RENAME) 테이블 이름 변경 (RENAME) 테이블 컬럼, 제약조건 추가(ADD) 테이블 변경(CHANGE, MODIFY) 테이블 제약 조건 제거 (DROP) ALTER TABLE 테이블명 변경할 테이블을 설정 DESC 테이블명 : 테이블 상태 확인 DESC student; 테이블 이름 변경 (RENAME) ALTER TABLE student RENAME TO hero; DESC hero; student 테이블을 변경 student 테이블 명을 hero로 변경 RENAME TO 테이블명 ALTER TABLE로 변경 할 테이블 명을 TO 뒤에 있는 테이블명으로 변경 2024. 2. 2.
데이터 베이스, 테이블 삭제 데이터 베이스, 테이블 삭제 DROP DATABASE db_name; DROP TABLE table_name; DELETE FROM table_name; DELETE FROM table_name WHERE _id = 20070103; 1. db_name 데이터 베이스 삭제 2. table_name 테이블 삭제 3. table_name 테이블의 모든 데이터 삭제 4. table_name 테이블에서 _id = 20070103인 데이터 삭제 데이터 베이스와 테이블을 삭제 할 때에는 DROP 사용 테이블의 데이터를 삭제 할 때에는 DELETE 사용 삭제하면 복구 할 수 없다. 4번 쿼리에서 데이터를 삭제할 때는 원하는 데이터를 SELECT 할때와 마찬가지로 조건을 주어 삭제할 수 있다. 2024. 2. 2.
조건 검색, 효율적인 방법 (BETWEEN, IN) 조건 검색, 효율적인 방법 (BETWEEN, IN) 1. AND를 이용한 조건절 SELECT * FROM student WHERE _id > '2009' AND _id < '2011'; BETWEEN A AND B A부터 B까지 조건에 맞는 데이터 조회 숫자와 문자도 가능하 2. BETWEEN을 이용한 조건 SELECT * FROM student WHERE _id BETWEEN '2009' AND '2011'; 1번과 2번의 결과는 같지만 두 쿼리의 성능은 다르다. 1번은 '2009'보다 큰 값을 모두 구하고, '2011' 보다 작은 값을 모두 구하여 교집합을 다시 구하는 연산 2번은 '2009' 부터 시작하여 '2011'보다 작을 때 까지 순차적으로 구하기 때문에 1번에 비해 성능적으로 좋다. 3. O.. 2024. 2. 2.
와일드 카드 (LIKE, %, _ ) 와일드 카드 (LIKE, %, _ ) "%" _id가 2009로 시작하는 모든 값을 가져온다. _id가 2009로 시작하지 않은 모든 값을 가져온다. SELECT * FROM student WHERE _id LIKE '2009%'; SELECT * FROM student WHERE _id NOT LIKE '2009%'; 2024. 2. 1.
데이터 조건 선택 (WHERE) 데이터 조건 선택 (WHERE) belong 이 'IDE'인 데이터 추출 SELECT * FROM student WHERE belong = 'IDE'; WHERE : 조건 AND 와 OR을 조건으로 연산 가능 SELECT * FROM student WHERE status > 0 AND belong = 'IDE' SELECT * FROM student WHERE status > 0 OR belong = 'IDE'; 문자열 비교 연산(사전순으로 비교) 순서 : !"#$%&'()*+,-./0-9:;?@A-Z[\]^_`a-z{|} SELECT * FROM student WHERE _id > '2010'; 2024. 2. 1.