프로그래밍 (61) 썸네일형 리스트형 MySQL 문법 - 6 (CREATE) CREATE CREATE DATABASE 데이터베이스를 만드는 역할, 이 글에서 소개할 방식은 workbench에서 GUI를 통해 만드는 법이다. 간단하게 SQL문을 짜주는 사이트도 많고, 직접 타이핑 해서 만들어도 되고 선택은 자유롭고 편한 방식을 찾아서 하면 될 일이다. CREATE DATABASE [데이터베이스명] 을 통해서 생성하며, 보이지 않는다면 왼쪽 위 schemas 오른쪽에 있는 새로고침 버튼을 눌러주면 나온다. 테이블을 조작하려면 Tables를 우클릭 한 뒤 CREATE Table... 을 눌러주면 된다. 여기서 만들어주는 것은 어렵지 않다. 원하는 Datatype을 선택하고, 체크하고, 이름바꾸고.. 다 만들었다면 오른쪽 아래의 APPLY를 눌러주면 된다. 그렇다면 이런 창이 뜰 것이다.. MySQL 문법 - 5 (내장함수 정리) 내장함수 사용자 편의를 위해 사전에 정의되어있는 함수들을 뜻한다. 일반적인 프로그래밍 언어에서 쓰던 기능도 많고 특히 날짜 관련해서 사용할 일이 많아서 그런지 관련 함수가 풍부하다. 문자열 LENGTH(문자열) 문자열의 길이를 반환 CONCAT(문자열1,문자열2,문자열3..) 문자열을 합쳐서 반환 LOCATE(찾을 문자열,대상 문자열) 찾으려는 문자열이 들어있다면 시작점의 인덱스를 반환, MySQL은 맨 앞이 0이 아닌 1부터 시작한다. 등장하지 않는다면 0이 반환된다. LEFT(문자열,길이) 문자열의 왼쪽에서부터 전달받은 길이까지 반환 RIGHT(문자열, 길이) 문자열의 오른쪽에서부터 전달받은 길이만큼 반환, 순서가 뒤집힌다거나 하지는 않음. LOWER(문자열) 문자열의 대문자를 모두 소문자로 바꿔서 .. MySQL 문법 - 4 (GROUP BY / HAVING / WITH ROLLUP / JOIN) GROUP BY 그룹으로 묶어주는 역할, 보통 AS와 같이 쓰인다. AS 는 영어 뜻처럼 '~로써' 라고 생각하면 된다. GROUP BY [그룹화할 데이터] AS [이름] 이렇게 사용한다. 집계 함수와 함께 쓰이고는 한다. 집계 함수는 다음과 같다. AVG() 평균값 MIN() 최솟값 MAX() 최댓값 COUNT() 행의 개수, COUNT(DISTINCT)의 경우 중복 제거 STDEV() 표준 편차 VARIANCE() 분산 SUM() 합 형태는 다음과 같다. SELECT [가져올 값], (집계 함수) FROM [가져올 곳] GROUP BY [그룹화할 기준] AS를 사용한다면 다음과 같다. SELECT [가져올 값], (집계 함수) AS [이름] FROM [가져올 곳] GROUP BY [그룹화할 기준] S.. MySQL 문법 - 3 (SubQuery / ANY / SOME / ALL / ORDER BY / DISTINCT / LIMIT ) SubQuery 쿼리문 속에 쿼리문이 또 존재하는 것. "A를 만족하는 데이터의 B값과 일치하는 C값들을 찾기" 라는 느낌이다. B값은 2개 이상이 되면 에러가 발생한다. 작성은 다음과 같다. SELECT [가져올 것] FROM [가져올 위치] WHERE [비교할 값] [조건] (서브쿼리) 서브쿼리는 다음과 같다. SELECT [보내줄 값] FROM [가져올 위치] WHERE [비교할 값] [비교 대상] 일반적인 쿼리문과 같다. 이 쿼리문을 만족하는 데이터들을 찾아준다. (서브쿼리)가 곧 비교할 대상들을 뜻한다고 봐도 무방할 것 같다. 아래는 작성 예시이다. SELECT * FROM city WHERE District = (SELECT District FROM city WHERE NAME='suwon').. 44가지 파이썬 알고리즘 꿀팁 모음 파이썬으로 알고리즘 공부하면서 알아간 것들을 정리한 글입니다.초심자가 읽기에는 어려움이 있습니다, 그런데 나중에 다시 보면 아 이소리구나 하는 글입니다.틀린 정보가 있을 수도 있습니다😀 1. 파이썬의 queue 라이브러리는 쳐다보지 말아라파이썬에서 Queue를 이용하려 한다면 queue 라이브러리의 Queue가 아닌 Collections 의 deque를 이용하는 것이 좋다.queue로 할 수 있는 것은 모두 deque로 할 수 있으며, 들어있는 원소의 활용이나 속도 등 모든 면에서 deque가 좋다고 할 수 있을 정도로 성능 차이가 많이 난다. 2. 파이썬에서 stack을 이용하려 한다면 그냥 list 그 자체로 쓰면 된다.append와 pop으로 스택처럼 사용 가능하며 둘다 O(1)이다.스택이 비어있.. MySQL 문법 - 2 (SELECT FROM / WHERE / BETWEEN / LIKE) SELECT * FROM 데이터를 가져올 때 쓰는 구문이다. 아래 예시는 city라는 테이블의 전체 row들을 가져오는 것이다. *가 정말 언어마다 다양한 역할을 하는데 여기서는 파이썬 import 처럼 생각하면 될 것 같다. SELECT * FROM [테이블명] 이라면 "해당 테이블에서 모든 데이터를 가져오겠다" 라는 뜻이다. SELECT * FROM city; *(애스터리스크)가 아닌 특정 데이터들만 골라서 가져올 수도 있다. SELECT Population FROM city; 여러 개의 데이터를 가져오는 것도 가능하다. SELECT Name,Population FROM city; WHERE SELECT 문에서 선택한 데이터 중 특정 조건을 만족하는 값을 가져오고 싶을 때 이용하는 구문이다. 아래와 .. MYSQL 문법 - 1 (SHOW / USE / DESCRIBE / SELECT * FROM) https://www.mysql.com/downloads/ MySQL 사이트에서 설치한 뒤 실행하면 기본적으로 몇몇 테이블들이 들어가 있습니다! SHOW / USE / DESCRIBE / 세미콜론 (;) C언어나 자바처럼 끝에 ;를 붙임으로써 쿼리의 종료를 표현한다. SHOW SHOW는 말그대로 보여주는 명령어이다. SHOW DATABASES; 위와 같이 입력 시 현재 서버에 어떤 DB가 있는지 확인할 수 있다. 명령어를 실행 시 위와 같은 결과를 얻을 수 있다. 이렇게 얻은 DB명들을 이용하기 위해서 USE를 이용해 줄 수 있다. 만약 DB를 USE 중이라면 SHOW TABLES 를 통해 테이블 이름을 알아 낼 수 있다. 만약 USE world를 통해서 world DB를 이용 중 일때 다음과 같은 쿼리.. MySQL 이란? https://www.youtube.com/watch?v=vgIc4ctNFbc 해당 강의을 많이 참고하였습니다! 특징과 개념 MySQL은 가장 널리 사용되는 관계형 데이터베이스 관리 시스템(RDBMS)으로, 오픈 소스에 다중 사용자와 다중 스레드를 지원한다. SQL 자체는 Structed Query Language의 약자로 RDBMS의 데이터 관리를 위해 설계된 언어를 뜻한다. C계열과, 자바, PHP 등 다양한 언어를 위한 API를 제공하며 다양한 운용체제에서 사용이 가능하다. DML, DDL, DCL 등으로 분류할 수 있으며 이 기능들을 수행하기 위해 만들어진 언어이다. 다른 프로그래밍 언어와는 달리 RDBMS에 접속하기 위한 목적으로만 사용된다. DML (Data Manipulation Langua.. 백준 20157 - 화살을 쏘자! (파이썬) 난이도 골드 5 유형 수학 브루트 포스 해시맵 해결 실수형의 값을 이용하지 말고 분수꼴로 넣어주면 해결할 수 있다. gcd를 이용하여 기약분수 꼴로 해시맵에 저장해 준 뒤 가장 큰 값을 출력해주면 된다. 코드 from sys import stdin from collections import defaultdict from math import gcd input=stdin.readline def gettilt(x,y): if x==0: if y>0: return '위' return '아래' if y==0: if x>0: return '오른쪽' return '왼쪽' div=gcd(x,y) return (x//div,y//div) n=int(input()) arr=[map(int,input().split()) .. 백준 1824 - 도미노 (파이썬) 난이도 플래티넘 3 유형 이분 매칭 해결 아이디어를 떠올리기까지 한참 걸렸다. 비숍 문제와 같이 흑백으로 생각하고 이분매칭을 이용해주면 풀린다. 코드 from sys import stdin from collections import defaultdict input=stdin.readline def dfs(x): if vi[x]: return False vi[x]=True for i in able[x]: if placed[i]==0 or dfs(placed[i]): vi[i]=True placed[i]=x return True return False n,m=map(int,input().split()) able=[[] for i in range(n*m+1)] arr=[[m*j+i for i in range(.. 이전 1 2 3 4 5 6 7 다음