본문 바로가기
728x90
반응형

back-end/SQL16

workbench로 db설계 만약 이런 문구가 뜬다면!!!! -> 괄호 빼기 - varchar의 특징은 그 길이만큼 잡힌다 - order은 예약어'orderby' 때문에 orders로 씀 - orderdate에서 timestamp 괄호 빼주기! - 'AI(auto increase)' 상품번호 이런 거 자동으로 증가되는 거 - ENUM(): 열거형 orders에 있는 userid는 member에 있는 userid를 참조하는 외래 키이다. 외래키 설정해보자. - Foreign Key Name: orders_userid_member_userid_fk - FK는 비식별(점선): PK가 다른 테이블에서 FK로 사용하고 있을 경우 - pk가 테이블마다 중복으로 있으면 1개의 역할밖에 못해서 주문 1로 인식하게 됨. 그래서 다른 칼럼을 pk로 .. 2022. 4. 11.
DML 정리(SELECT | UPDATE | INSERT | DELETE) ◈ INSERT [값을 컬럼 순서대로 다 넣는 경우] INSERT INTO table_name VALUES (col_val1, col_val2, col_val3, …, col_valN); ex) -- 회원 정보 등록(전체 정보 넣기) -- 'kimssafy', '김싸피', '1234', 'kimssafy', 'ssafy.com' 등록시간 -- 등록시간은 now()함수를 사용한다 insert into ssafy_member(userid,username,userpwd,emailid,emaildomain,joindate) value ('kimssafy', '김싸피', '1234', 'kimssafy', 'ssafy.com',now()); [컬럼 이름 중에 골라서, 그 값을 넣는 경우] INSERT INTO t.. 2022. 3. 18.
DDL 정리(CREATE | ALTER | DROP) ◈ 데이터베이스 생성(create) create database 데이터베이스명; create database 데이터베이스명 default character set 값 collate 값; * character set은 각 문자가 컴퓨터에 저장될 때 어떠한 '코드'로 저장 될지에 대한 규칙의 집합을 의미한다. * collate은 특정 문자 셋에 의해 데이터베이스에 저장된 값들을 비교 검색하거나 정렬 등의 작업을 위해 문자들을 서로 '비교' 할 때 사용 하는 규칙들의 집합을 의미한다. ex) -- 회원 정보 table 생성. -- table name : ssafy_member -- column -- idxintauto_incrementPK -- useridvarchar(16)not null -- usernam.. 2022. 3. 18.
[MySQL] SELECT 모든것 ◈ SELECT의 기본 SELECT와 FROM은 필수 * FROM 절에 나열된 테이블에서 모든 열을 선택 ALL(생략 가능) 선택된 모든 행을 반환. ALL이 default DISTINCT 선택된 모든 행 중에서 중복 행 제거 column FROM 절에 나열된 테이블에서 지정된 열을 선택 expression 표현식은 값으로 인식되는 하나 이상의 값, 연산자 및 SQL 함수의 조합을 뜻함 alias 별칭 ◈ SELECT에서의 사칙연산 ( +, - , *, / ), alias, NULL Value [모든 사원의 사번, 이름, 급여, 급여 * 12 (연봉) 검색] select employee_id as 사번, first_name "이 름", salary as "급여", salary * 12 "연봉" from .. 2022. 3. 18.
MySQL에서 이모지 쓰는 방법 1 2 3 default character set utf8mb3 collate utf8mb3_general_ci;/*이모지 불가능*/ default character set utf8mb4 collate utf8mb4_general_ci;/*이모지 가능*/ cs 이모지는 window버튼+.(점)을 누르면 나온다. 2022. 3. 17.
제약조건 UNIQUE | PRIMARY KEY | FOREIGN KEY 차이 ◈ UNIQUE 컬럼에 중복된 값을 저장 할 수 없음 NULL값은 허용 유일값 ◈ PRIMARY KEY 컬럼에 중복된 값을 저장 할 수 없음 NULL값도 허용하지 않음 주로 ROW를 구분하기 위한 유일한 값을 지정할 때 사용. ‘기본키’라고도 부름 NOT NULL + UNIQUE ◈ FOREIGN KEY 특정 테이블의 PK 컬럼에 저장되어 있는 값만 저장 ‘참조키’, ‘외래키’라고도 부름 NULL값은 허용(PK는 NULL허용 안된다 했지만, FK는 허용함) references를 이용하여 어떤 컬럼에 어떤 데이터를 참조하는지 반드시 지정 2022. 3. 17.
날짜형 데이터 타입 DATETIME | TIMESTAMP 차이 ◈ DATETIME 8바이트 YYYY-MM-DD HH:MM:SS ('1001-01-01 00:00:00' ~ '9999-12-31 23:59:59') 내가 저장하는 방식에 따라 달라짐(어느 나라에 있건, 내가 설정한 시간으로 고정) ◈ TIMESTAMP 4바이트 1970-01-01 ~ 2038-01-19 03:14:07까지 지원(1970-01-01 00:00:00을 0으로 해서 1초 단위로 표기) Index가 더 빠르게 생성. 어느 나라에 있느냐에 따라 달라짐 2022. 3. 17.
문자형 데이터 타입 CHAR | VARCHAR | TEXT 차이 ◈ CHAR 고정 길이를 갖는 문자열을 저장(=문자) 문자수는 1 ~ 255(2^8 - 1) byte CHAR(20)인 컬럼에 10자만 저장을 하더라도, 20자만큼의 기억 장소를 차지(공백으로 처리됨) 검색 속도는 CHAR가 빠름 ◈ VARCHAR 가변 길이를 갖는 문자열을 저장 문자수는 1 ~ 65535(2^16 - 1) byte VARCHAR(20)인 컬럼에 10자만 저장을 하면, 실제로도 10자만큼의 기억 장소를 차지 검색 속도는 TEXT보다는 VARCHAR가 빠름 CHAR보다 검색 속도가 느린데, 내부적으로 연산을 수행함. 연결되어있는 것을 연결하면서 속도가 느려짐 ◈ TEXT 최대 65535(2^16 - 1) byte 2022. 3. 17.
DDL / DML /DCL / TCL ◈ DDL (Data Definition Language) : 데이터 정의어 데이터베이스 객체(table, view, index,…)의 구조를 정의 테이블 생성, 컬럼 추가, 타입 변경, 제약조건 지정, 수정 등 create 데이터베이스 객체를 생성 drop 데이터베이스 객체를 삭제 alter 기존에 존재하는 데이터베이스 객체를 수정 ◈ DML (Data Manipulation Language) : 데이터 조작어 Data 조작기능 테이블의 레코드를 CRUD (Create, Retrieve, Update, Delete) insert (C) 데이터베이스 객체에 데이터를 입력 select (R) 데이터베이스 객체에서 데이터를 조회 update (U) 데이터베이스 객체에 데이터를 수정 delete (D) 데이터.. 2022. 3. 17.
728x90
반응형