반응형

전체 글 121

데이터 베이스(15) 날짜데이터를 저장하는 데이터타입(date,time,datetime,timestamp)

MySQL에서 날짜시간을 저장하는 데이터 타입은 파이썬과 비슷하게 date, time, datetime, timestamp이 있다. 테이블을 만들때 데이터 형식을 설정할때 바꿀수 있다. 1) date 날짜 데이터 형식이다. 년,월,일을 나타낸다. 2) time 시간 데이터 형식이다. 시,분,초를 나타낸다. 3)datetime 날짜와시간을 동시에 나타낸다. 년월일시분초를 나타낸다. 4)timestamp 데이터가 입력된 시간을 datetime형식으로 보여준다.

데이터 베이스 2022.12.08

데이터 베이스(12) count,sum,avg,max,min 함수

오늘은 전체적으로 인수에 관한 데이터 베이스의 함수를 알아보겠다. 1) count 함수 count함수는 데이터내에 특정 조건을 가진 데이터를 세는 함수이다. 데이터 갯수를 셀수도 있고 조건을 가진 데이터를 셀수도 있으며 중복되지 않은 데이터도 셀수 있다. -- 갯수를 세는 함수 count() -- books 테이블의 데이터 갯수는 ???? select count(*) from books; -- 책 제목에 the가 들어간 책의 갯수는?? select count(*) from books where title like '%the%' ; -- author_lname의 유니크한 데이터의 갯수는?? select count(distinct author_lname) from books; 2)sum 함수 sum은 파이썬..

데이터 베이스 2022.12.08

데이터 베이스(11) 문자열 함수(2) (distinct,order by ,limit,offset, like)

저번 시간에 이어서 데이터 베이스의 문자열 함수에 관해 알아보자 1) distinct 데이터에서 중복인 데이터를 빼고 출력한다. -- 데이터를 유니크하게 만드는 키워드 distinct -- author lname은 카테고리컬 데이터이다. 유니크한 데이터를 확인하자. select distinct author_lname from books; 중복인 데이터는 빠지고 출력된다. 2) order by 데이터를 오름차순 이나 내림차순으로 정렬한다. -- 정렬하는 방법: order by 키워드 -- authour_lname으로 정렬 -- 오름차순일때 asc 파라미터 입력 or 생략 가능 select * from books order by author_lname; 오름차순으로 출력이 되며 아무것도 안쓸때는 asc 파라..

데이터 베이스 2022.12.07

데이터 베이스(10) 문자열 함수(1)(concat, substring, replace,reverse, char_length, upper,lower)

데이터 베이스에서 문자열 데이터를 다루는 함수는 파이썬 만큼이나 다양하다. 1) concat 데이터의 문자열을 합친다. 합칠때 따옴표로 문자를 넣으면 합칠때 같이 출력된다. -- 공백이 존재하게 두 컬럼을 합치라는 뜻 -- as 출력한 함수의 이름을 다시 지어 준다. select concat(author_fname,' ',author_lname) as full_name from books; 두 이름 컬럼이 합쳐져서 풀네임이 되었다. 공백도 합쳐서 가운데에 공백이 적용되었다. concat_ws를 쓰게 되면 합친 문자열 사이에 따옴표 안에 있는 특정 문자열을 전부 집어넣을수 있다. -- 특정 문자열 -를 합친 문자열 사이에 전부 넣는다. select concat_ws('-',author_fname,autho..

데이터 베이스 2022.12.07

데이터 베이스(9) 데이터 함수 CRUD(insert into,select,update,delete)

데이터 베이스를 다루기 위한 본격적인 작업으로써 그 작업이름을 통칭 CRUD라고 한다. CRUD는 영어의 약자로써 C는 Create, R은 Read, U는 Update, D는 Delete에 약자이다. 물론 이 약자를 자체가 명령어는 아니고 명령어는 각각 약자마다 따로 존재한다. 이제 부터 하나씩 알아보자 1. Create => insert into 데이터를 데이터베이스 안에 집어 넣는작업을 말한다. -- 쿼리문 -- 데이터를 cats3 데이터베이스에 집어넣는다. -- 가로안엔 집어넣을 컬럼을 쓴다. insert into cats3(name,age) values ('야웅이',3); 이렇게 야웅이가 추가된다. 2. Read => select select는 데이터 억세스 기능과 매우 유사한 기능이다 selec..

데이터 베이스 2022.12.07

데이터 베이스(8) id 컬럼 만드는 방법

데이터 베이스를 작성할때 신경써야 하는 부분이 존재한다. 바로 중복 데이터이다. 지난 파이썬 함수때 카테고리컬 데이터와 똑같이 중복인 데이터가 데이터 베이스상에 나오면 파이썬 환경이 아니기 때문에 인덱스도 없어서 구별하기 힘들다. 이때 SQL은 id컬럼을 만들어 구별한다. 이렇게 야옹이가 두개가 있는 데이터 베이스에서 나이만 다를뿐 구별하기 힘들다. 따라서 id컬럼을 추가한다. 컬럼 추가는 데이터 테이블 설정에서 해주는데 저번시간에 이어 NN과 PK,UN,AI를 전부 체크해준다. 그리고 적용한다. 각각 옵션에 대해 설명하자면 PK:primary key에 약자로 중요한 key라는 뜻이다. UN: unsigned에 약자로 중복없는 데이터를 의미한다. AI는 Auto Increment에 약자로 자동으로 번호가..

데이터 베이스 2022.12.06

데이터 베이스(7) SQL에서의 Null,Not Null 과 Default의 동작 방식

데이터 테이블을 만들어 줄때 보면 NN이라는 항목이 보인다. NN은 NotNull을 의미한다. Null은 비어있는 데이터를 뜻하고 파이썬 상에 nan과 같은 의미이다. 그렇다면 NotNull은 비어있게 하지 않는다는 의미로써 데이터가 Null이 될때 NN을 선택해놨다면 기본 디폴트값 0으로 나타낸다. NN을 해제하면 Null을 만들수 있다. 옆에 Default/Expression은 디폴트 값을 설정할 수 있다. Null이 생길때 NN을 선택했다면 Null값을 대체하는 역할을 한다. Default/Expression행을 작성해서 설정 할수 있다. Null을 생기게 하기 위해선 다음과 같이 명령문을 작성하면 된다. 그림과 같이 설정하고 데이터 테이블을 만들었다. 이렇게 데이터를 누락 시켜 Null값을 발생시..

데이터 베이스 2022.12.06

데이터 베이스(6) MySQL에서 Varchar형식의 글자 수 제한 취급

MySQL에서 테이블을 만들고 컬럼을 만들게 되면 Varchar형식의 글자수를 제한을 둘수가 있다. SQL에서는 정해준 글자수를 초과하는 데이터가 있다면 글자수를 초과한 글자는 잘려서 데이터 상에 표시되지 않는다. 만약 글자수가 50인 상태에서 SQL문으로 이름등을 길게 쓴다면 어떻게 될까 insert into cats (name, age) values('This cat is named Charlie which is also a human name, In fact I know a couple of Charlies, Fun!!',10); -- 이름을 길게 글자수가 초과된 글자는 그림처럼 잘리게 된다.

데이터 베이스 2022.12.06