분류 전체보기 281

문자열 관련 함수, Case(조건문)

문자열 쪼개기: SUBSTRING_INDEX(속성명, '기준문자', 가져올_조각_위치) select user_id, email, SUBSTRING_INDEX(email, '@', 1) from users //이메일에서 아이디만 가져오기 (1번째 조각) select user_id, email, SUBSTRING_INDEX(email, '@', -1) from users //이메일에서 도메인만 가져오기 (마지막 조각) 문자열 일부 출력: SUBSTRING(속성명, 시작위치, 글자개수) select order_no, created_at, substring(created_at,1,10) as date from orders //날짜시간에서 앞의 날짜 부분(첫글자 위치, 글자 개수)만 출력 select substr..

Subquery, WITH

자주 쓰이는 서브 쿼리 유형 WHERE절에 들어가는 서브 쿼리 WHERE 속성명 IN (subquery) 서브쿼리의 결과를 조건으로 활용하고 싶을 때 SELECT절에 들어가는 서브쿼리 SELECT 속성명1, 속성명2, (subquery) FROM ... 기본 테이블에 함께 보고 싶은 통계 데이터를 붙이고 싶을 때 FROM절에 들어가는 서브쿼리 FROM 테이블 a INNER JOIN (subquery) b ON a.속성명 = b.속성명; 내가 만든 SELECT문을 한 테이블처럼 다른 테이블과 JOIN하고 싶을 때 1번 예시 - 전체 유저의 포인트 평균보다 큰 유저들의 데이터 추출하기 SELECT * from point_users pu where point > ( select avg(point) from p..

DML(insert, delete, update, select, union, join)

DML: 사용자가 저장된 데이터를 실질적으로 관리하는데 사용하는 언어 INSERT INTO: 테이블에 새로운 튜플 삽입 INSERT INTO 테이블명([속성명1, 속성명2, ...]) VALUES (데이터1, 데이터2, ...); DELETE FROM: 테이블의 특정 튜플을 삭제 DELETE FROM 테이블명 [WHERE 조건]; UPDATE SET: 테이블의 특정 튜플의 내용을 변경 UPDATE 테이블명 SET 속성명=데이터[, 속성명=데이터, ...] [WHERE 조건]; SELECT: 테이블에서 튜플 검색 SELECT [PREDICATE] [테이블명.]속성명 [AS 별칭] [, [테이블명,]속성명, ...] [, 그룹함수(속성명) [AS 별칭]] [, Window함수 OVER (PARTITION B..

DCL(grant, revoke, commit, rollback, savepoint)

DCL: 데이터의 보안, 무결성, 회복 ,병행 제어 등을 정의 GRANT / REVOKE: 사용자에게 권한 부여 및 취소 사용자 등급 지정 및 해제 GRANT 사용자등급 TO 사용자_ID_리스트 [IDENTIFIED BY 암호]; REVOKE 사용자등급 FROM 사용자_ID_리스트; // 사용자 등급: DBA, RESOURCE(테이블 생성자), CONNECT 테이블 및 속성에 대한 권한 부여 및 취소 GRANT 권한_리스트 ON 개체 TO 사용자 [WITH GRANT OPTION]; REVOKE [GRANT OPTION FOR] 권한_리스트 ON 개체 FROM 사용자 [CASCADE]; // WITH GRANT OPTION: 부여받은 권한을 다른 사용자에게 부여 가능 COMMIT: 트랜잭션의 내용을 데이..

SQL 개념, DDL(create, alter, drop)

SQL 관계형 데이터베이스를 지원하는 언어 관계대수와 관계해석을 기초로 한 혼합 데이터 언어 SQL 종류 DDL(Data Define Language, 데이터 정의어): CREATE, ALTER, DROP DML(Data Manipulation Language, 데이터 조작어): SELECT, INSERT, DELETE, UPDATE DCL(Data Control Language, 데이터 제어어): COMMIT, ROLLBACK, GRANT, REVOKE SQL에서 지원하는 기본 데이터 타입 정수: INTEGER(4Byte 정수), SMALLINT(2Byte 정수) 실수: FLOAT, REAL, DOUBLE PRECISION 형식화된 숫자: DEC(i, j) // i: 전체 자릿수, j: 소수부 자릿수 ..

스크래핑

스크래핑 웹 페이지의 특정 부분에서 필요한 정보를 추출하는 작업 HTML 코드를 컴퓨터가 이해할 수 있는 방식으로 읽어오는 것 스크래핑 예시 import requests from bs4 import BeautifulSoup URL = "https://movie.daum.net/ranking/reservation" headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'} data = requests.get(URL, headers=headers) soup = BeautifulSoup(data.text, 'html..

제작한 웹페이지 배포 방법(GibHub Pages)

1. GitHub에서 저장소 생성 2. 파일 업로드 3. 저장소의 settings > Pages > Branch Name을 main으로 설정 후 save 4. 새로고침하면 주소가 노출됨 주의사항 배포하기 전에 반드시 로컬에서 테스트 수행하기 원격 저장소에는 중요한 정보를 포함하지 않도록 주의 → 비밀번호, API 키, 개인정보 등의 민감한 정보는 소스코드에서 제거해야 함

카테고리 없음 2023.09.14

Firebase 이용: 데이터를 보내고 가져오는 경우

Firebase와 연결하는 과정에서 설정: 1. onclick이 작동안함 -> $("#id").click(async function () {}) 사용 - 데이터 보내기 $("#id").click(async function () { //id에 click을 줌 let doc = {}; //넣고 싶은 데이터 await addDoc(collection(db, "콜렉션이름"), doc); //데이터를 해당 콜렉션에 추가 window.location.reload(); //페이지 새로고침 }) - 데이터 가져오기 let docs = await getDocs(collection(db, "콜렉션이름")); docs.forEach((doc) => { let row = doc.data(); console.log(row); ..

JSON, GET, Fetch

JSON Key : Value 쌍으로 이루어진 텍스트 기반 개방형 표준 데이터 포맷 주로 서버가 클라이언트로 데이터를 보낼 때 사용 크롬 익스텐션 JSONView를 설치해 JSON을 더 예쁘게 볼 수 있음 GET [클라이언트 -> 서버]: 데이터를 요청할 때의 타입이 존재 GET: 데이터 조회(Read)를 요청 POST: 데이터 생성, 변경, 삭제를 요청 GET 방식으로 데이터를 전달하는 방법 URL의 "?" 이후부터 전달할 데이터 작성(쿼리스트링) "&": 전달할 데이터가 더 있다는 *POST는 전송해야 할 데이터를 HTTP의 body 부분에 담아서 전송 Fetch Fetch 기본 골격 fetch("여기에 URL을 입력") // 이 URL로 웹 통신을 요청한다. 괄호 안에 다른 것이 없다면 GET! ...