전체 글 175

MySQL - subquery

서브 쿼리란? 쿼리 문 안에 쿼리문을 사용하는 방법이다. 예시를 들어 설명하자면 books 테이블에 title 을 select 할건데 조건으로 pages 가 가장 큰 값을 가져오라고 하였다. select title from books where pages=( select max(pages) from books ); 위 코드 처럼 where 조건으로 pages = 에 select 문이 통째로 들어간 걸 알 수있다. 이런식으로 select 문 또한 특정 컬럼의 데이터 값이므로 조건에 이용할 수 있다.

개발/SQL 2022.12.07

MySQL - count , min , max , avg , sum

count 는 컬럼의 갯수를 셉니다. select count(*) from books; count() 괄호안에 컬럼명을 입력하여 사용하며 위 코드는 books 테이블에 데이터 갯수를 알려주게 됩니다. min은 컬럼 데이터의 최소값을 알려줍니다. select min(released_year) as '출간년도' from books; max 는 컬럼 데이터의 최대값을 알려줍니다. select max(pages) as '최대페이지' from books; avg 는 컬럼 데이터의 평균을 알려줍니다. select avg(pages) from books; sum은 컬럼 데이터의 합계를 알려줍니다. select sum(pages) from books;

개발/SQL 2022.12.07

MySQL - group by

group by 는 동일한 내용이 있으면 묶어서 이용하는 sql문입니다. 예시) select concat(author_fname,' ' ,author_lname) as full_name, count(title) from books group by author_lname; books 테이블에 author_lname 이 같은 사람들을 그룹으로 묶어 (group by) 타이틀 의 수를 구하고 (count) 풀 네임으로 보여달라는 뜻입니다. select count(pages), concat(author_fname,' ' , author_lname) from books group by author_lname,author_fname; 이런식으로 그룹 바이 뒤에 2개 이상의 컬럼이 와도 됩니다.

개발/SQL 2022.12.07

MySQL - distinct , order by , limit , like , __ 언더바

distinct 키워드는 데이터를 유니크하게 가져온다. 예시) select distinct author_lname from books; 출력결과는 author_lname 컬럼의 중복 없이 나오게 된다. order by 는 정렬을 하기 위한 키워드이다. 정렬하고자 하는 키워드에 desc (내림차순) , asc(오름차순) 으로 정렬된다. 예시) select * from books order by author_lname asc; books 테이블에 데이터를 모두 보여줄건데 author_lname을 기준으로 오름차순한 결과값을 보여준다. limit 은 데이터를 끊어서 가져오는 방법이다. 예시) select * from books limit 0,5; books 테이블에 모든 데이터를 가져올건데 limit 0,5 ..

개발/SQL 2022.12.07

MySQL - 함수 concat(), substring(), replace(),reverse(),char_length(),upper(), lower()

1. concat() : 문자열을 이어준다. concat( column1 , column2 ~~ ) # 중간에 문자열도 가능하다. 예시) select concat( author_fname,' ',author_lname ) as full_name from books; 2. substring() : 문자열을 지정하여 보여준다. substring(column,start,end) 예시) select substring(title,1,18) from books; 3. replace() : 문자열을 교채한다. replace(column,변경할값,변경값) 예시) select replace(title,'The','Hello') from books; 4. reverse() : 문자열을 역순으로 보여준다. reverse(c..

개발/SQL 2022.12.06

MySQL - select , update , delete , insert

1. select select column.name1 , name2, name3 ~~ from table.name where 조건 - 데이터를 가져오는 select 문이다. - select 옆에는 컬럼의 이름을 입력하여 원하는 값을 가져온다. - 전부다 가져오고 싶다면 *을 입력한다. - where 조건을 통해 원하는 데이터만 가져올 수 있다. 예시) article 컬럼의 값이 tank top 인 모든 값을 가져와라 select * from shirts where article ='tank top'; 2. update update table.name set 변경값 where 조건 - 데이터를 변경하는 update 문이다. - update 옆에는 테이블의 이름이 온다. - set 옆에는 데이터의 변경값을 ..

개발/SQL 2022.12.06

MySQL - id set

SQL은 앞선 파이썬의 index 가 존재하지 않습니다. 따라서 중복된 데이터들이 들어있을때 마땅히 구분가능한 방법이 없습니다. 이에 id 값을 생성하여 중복된 데이터들을 구별해봅시다. # 제약조건을 걸어 생성 CREATE TABLE cats4 ( id not null primary key unique unsigned auto_increment, name varchar(50), age int ); id 의 값은 null 값이 올 수 없으며 primary key 이자 유니크하며 정수만 올수 있고 자동증가 된다 는 아주 어려운 제약조건인데 차분히 하나씩 보면 된다. pk : primary key -> 기본키로 데이터들을 구별 할 수있는 고유값 nn : not null , -> 데이터가 비어있으면 안된다. U..

개발/SQL 2022.12.06

MySQL - Null , Not Null, default

기본적으로 데이터에 값을 아무것도 없이 삽입하게 되면 Null을 입력하게 됩니다. Not Null은 설정하게 되면 데이터를 삽입할때 그 컬럼에 해당하는 데이터가 없을 경우 데이터가 삽입이 불가능하게 됩니다. default는 데이터가 없을 경우 기본값으로 설정되도록 하는 방법입니다. # 새로운 테이블을 만듭니다. create table cats2( name varchar(50) Not Null, age int ); insert into cats2(name) values('나나'); insert into cats2(age) values(4); # 여기서부턴 name default='야옹이' 값을 주었습니다. insert into cats2(name,age) values('길동이',1); insert into..

개발/SQL 2022.12.06

MySQL - Varchar

varchar 이란 문자열을 입력받을 메모리의 용량을 가변적으로 이용할 수 있는 변수이다. char 와는 다르게 크기를 지정하면 들어온 데이터만큼만 용량을 차지합니다. # cats 테이블을 생성 create table cats( name varchar(50) age int ); # 데이터 여러개 삽입 , 로 구분 insert into cats(name,age) values('Jetson',7 ),('Mike',3); # 데이터크기를 넘친다면 입력은 중간밖에 안된다. insert into cats(name,age) values('This cat is named Charlie which is also a human named~~~',10 );

개발/SQL 2022.12.06

MySQL - DB 생성, Table 생성,데이터삽입

DB 를 만들어보겠습니다. MySQL 기준으로 저 원통 모양을 통해 DB를 만들 수 있습니다. 이름을 만들어 주시고 Cahrset - Utf-8 Collation 은 general-ci 로 설정합니다. 테이블 생성은 만들어진 DB 내에 만듭니다. 저는 YHDB로 DB를 만들었습니다. 클릭을 해보시면 Tables가 있습니다. Tables 를 선택하고 우클릭 create table을 눌러 컬럼을 정의합니다. Table name 은 이름을 써주시고 아래에 Column name , Datatype ... 이 있는 항목에 테이블에 어떠한 내용이 들어올지 정의합니다. 위와 같은 형식으로 데이터가 들어올지 정하셨으면 apply를 눌러 저장합니다. 이제 쿼리문을 통해 만들어진 db,tables를 확인합니다. # 데이터..

개발/SQL 2022.12.05