SQL

SQL Injection이란? SQL Injection은 웹의 취약점을 이용한 해킹기법 입니다. SQL = 데이터베이스에 명령을 내리는 언어 Injection = 주입 그래서 SQL Injection은 데이터베이스에 명령을 내리는 언어를 악의적으로 주입해서 실행시켜 데이터베이스가 비정상적인 동작을 하도록 만드는 것을 의미합니다. SQL Injection의 원리와 여러 공격방식 그럼 SQL인젝션은 어떤 방식으로 어떤 구조로 주입이 이뤄질까요? 아래 사진을 보겠습니다. 이 사진은 로그인 페이지에서 아이디 비밀번호를 입력하고 로그인버튼을 눌렀을 때 실행과정이 그려져 있는데 위쪽에는 SQL언어가 자리잡고 있습니다. 저렇게 아이디와 비밀번호에 입력한 문자열값이 그대로 입력되게 됩니다. 만약 저대로 AAAA' --..
이번엔 2월말부터 한달동안 SQL강의를 수강했었는데요. 앞선 웹개발 종합반보다는 한주 짧은 4주의 강의 기간을 가지고 있었습니다. 국비지원으로 100%수강이 가능하기 때문에 모두 무료로 수강했는데, 국비지원 강의 치고는 커리큘럼이 쉽고 탄탄하게 짜여있었던것 같습니다. 우선 SQL수업은 관계형 데이터베이스를 관리하는 언어를 다루는 법 을 배우게 됩니다. 관계형 데이터베이스는 정보를 표 형식으로 저장한다고 생각하시면 되는데 엑셀시트 표를 생각하시면 편하고 개발 유경험자는 dictionary를 생각하시면 편할것 같습니다. 기능이 크게 CRUD C (Create): 데이터의 생성을 의미 R (Read): 저장된 데이터를 읽어오는 것을 의미 U (Update): 저장된 데이터를 변경 D (Delete): 저장된..
스파르타 SQL 4주차 개발일지다. 4주차에는 SQL에 어려움을 많이 느꼈다 새로운 문법 사용방식이나 복잡한 문법사용이 많이 나왔던것 같다. SubQuery subquery란 쿼리안의 쿼리로 원하는 세분화된 결과를 더욱 쉽게 얻어보기 위해 쓸 수 있다. select u.user_id, u.name, u.email from users u where u.user_id in ( select user_id from orders where payment_method = 'kakaopay' ) 위와같이 where 필드명 in()를 이용해 내부에 원하는 쿼리를 작성해 더 세부적으로 찾아볼 수 있다. where, select, from 서브쿼리는 세가지 절에서 모두 사용될 수 있다. where =============..
3주차에는 데이터를 연결하고 더 복잡한 쿼리를 사용해 데이터를 찾는 능력을 키우는 수업이었다. 데이터를 연결하는 방법은 join코드를 이용해 서로 다른 테이블을 공통된 Key값을 이용해 연결해 하나의 테이블 처럼 보이게한다. join은 이해 했지만 쿼리가 점점 복잡해지니 조금 헷갈렸던것 같기도 하다. 1. Inner Join inner join은 쉽게 설명하면 교집합을 의미한다. 연결하는 양쪽 테이블에 모두 가지고 있는 데이터만 출력한다. 즉 비어있는 데이터(NULL)는 출력되지 않는다. 위는 inner join을 알기쉽게 사진으로 설명한 것 inner join 코드↓↓↓ select * from users u inner join point_users p on u.user_id = p.user_id; 1..
SQL 2주차 수업내용이다. 2주차에는 SQL에서 그룹으로 묶어서 보기편하게 표기하고,통계를 구할 수도 있으며 그것을 order by를 이용해 정렬 하는 법을 배웠다. 또, 실무에서 진짜 사람들이 궁금해하는 데이터인 최소, 최대, 평균값 등을 알아내는 방법도 공부했다. Group by group by를 사용하면 데이터를 종류별로 빠르게 나누고 표기할 수 있다. select name, count(*) from users group by name; #성씨별 회원수를 성씨별로 가져와줘. 이렇게 group by를 이용하면 같은 중복되는 값끼리 묶을 수 있다. 따라서 위와같이 빠르게 한 그룹에 몇명이 있는지 같은 데이터를 구할 수 있다. ex)이씨는 85명 이구나! 코드실행 순서★★★ group by를 알았으니 ..
SQL 1주차 수업 내용이다. 1주차에서는 SQL의 기본적인 문법을 공부했다. Select쿼리문 쿼리(Query)는 질의를 의미합니다. 그 말그대로 데이터베이스에게 질의 하겠다, 명령을 내리겠다. select쿼리문은 "데이터를 선택해서 가져오겠다." 라는 뜻이다. 쿼리문 사용법 데이터 베이스를 연결하고 쿼리문을 입력할 스크립트를 연다. 스크립트에 명령을 내린다. 기본문법 ↓↓↓↓↓ show table 테이블 들을 불러온다. 데이터 베이스에 어떤 테이블 들이 들어있는지 확인 할 수 있다. select * from orders 해당테이블 데이터를 불러온다. "*"은 전부를 의미한다. 즉 orders테이블 내의 전부를 불러온다. select created_at, course_title, payment_meth..
나모_
'SQL' 태그의 글 목록