분류 전체보기
MySQL - 중복제거 distinct, 정렬 order by
select * from books; 중복을 제거하기 distinct select distinct author_lname from books; 정렬하기 order by -- author_lname 으로 정렬 select * from books order by author_lname; -- full_name 으로 정렬(SQL 동작 방식을 이해) select id, title, concat(author_fname, ' ', author_lname) as full_name, released_year, stock_quantity, pages from books order by full_name; -- full_name 내림차순으로 정렬(desc), 오름차순은 아무것도 쓰지 않거나 asc select id, ti..
MySQl 문자열 관련 함수(concat, substring, replace, reverse, char_length, upper, lower)
concat(string1, string2, ... , string_n) 여러 문자열을 합친다. -- author_fname 과 author_lname 컬럼의 값을 합해서 full_name 이라고 보여주고 싶다. select concat(author_fname, ' ', author_lname) as full_name -- as 표시될 컬럼명 from books; concat_ws(seperator, string1, string2, ... string_n) seperator를 구분자로 문자열을 합친다. select concat_ws('-', author_fname, author_lname) as full_name from books; substring(string, start, length) 문자열의 일..
MySQL - 테이블의 데이터 수정(Update), 삭제(Delete)하기
데이터 수정(Update) update 테이블명 set 바꿀값 where 조건; -- cats 테이블의 age 컬럼 전체를 2로 바꾸기 update cats set age = 2; -- cats 테이블의 이름이 Jackson인 고양이의 나이를 5로 바꾸기 update cats set age = 5 where name = 'Jackson'; -- breed 가 Tabby인 고양이의 데이터의 -- breed를 Shorthair로, 나이는 10으로 바꾸기 update cats set breed = 'Shorthair', age = 10 where breed = 'Tabby'; 데이터 삭제(Delete) delete from 테이블명 where 조건; -- cats 테이블에 있는 전체 데이터를 삭제하기(위험한 ..
MySQL - 테이블의 데이터 조회하기 select
select 컬럼명 from 테이블명 where 조건; -- cats 테이블의 모든 컬럼 가져오기 ( *는 전체를 의미한다.) select * from cats; -- name과 age 컬럼만 가져오기 select name, age from cats; -- 이름이 Jackson인 고양이의 데이터를 가져오기. select * from cats where name = 'Jackson'; -- breed가 Maine Coon이고 나이는 11살 이상인 데이터만 가져오기 select * from cats where breed = 'Maine Coon' and age >= 11; -- breed 가 Maine Coon이거나 Tabby인 데이터만 가져오기 select * from cats where breed = '..
MySQL Workbench safe mode 해제하기
MySQL Workbench 에서 테이블을 삭제하려는데 아래와 같은 에러메시지가 떴다. Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect. update 또는 delete 할 때 where 절이 없거나 where 절에 key column 외의 비교문일 때, 발생하는 에러인데 쉽게 말하면 safe mode에서는 한번에 하나의 레코드만을 update, delete하도록 설정되어 있는데, 다수의 레코드를..
MySQL - 제약조건(Constraint), id컬럼 만들기
제약조건 제약조건이란, SQL 테이블에 문제되는/결함있는 데이터가 입력되지 않도록 컬럼별로 미리 지정해 둔 조건이다. 여기서 제약조건에 해당하는 PK NN UQ B UN ZF AI G Default/Expression은 다음과 같다. PK - Primary key. 중복이나 빈값(NULL)이 들어올 수 없음 NN - Not Null. 빈값 못들어옴 UQ - Unique. 중복 값을 넣을 수 없음 B - Binary. 데이터를 이진 문자열로 저장함(010101 같은) UN - Unsigned. 음수 범위 삭제 ZF - Zero Filled 컬럼 크기보다 작은 값을 넣었을 경우 0으로 채운 뒤 삽입시킴 AI - Auto Increment. 값이 자동으로 1씩 늘어남 INT, DOUBLE 등의 경우 UN을 사..
MySQL - 테이블에 데이터 추가하기 insert
insert into 테이블명 (컬럼1, 컬럼2, 컬럼3) values (값1, 값2, 값3); SQL문은 문장을 항상 세미콜론(;) 으로 끝마친다. use YHDB; -- 먼저 테이블이 들어있는 데이터베이스를 지정 --하나의 데이터를 넣는 방법 insert into cats (name, age) values ('Jetson', 7); insert into cats (name, age) values ('Mike', 3); -- 여러 데이터를 넣는 방법 insert into cats (name, age) values ('야옹이', 5), ('냥이', 4), ('Charlie', 10), ('Sandy', 3), ('Bear', 1); -- 특정 컬럼의 값만 데이터를 넣는 방법 insert into cats..
데이터 전처리 - 결측값 처리, 피처 스케일링, train_test_split
NaN 처리 import pandas as pd # 결측값 확인 df.isna().sum() >>> Country 0 Age 1 Salary 1 Purchased 0 dtype: int64 # 1. 삭제 전략 df.dropna() # 2. 채우는 전략 df.fillna(df.mean(numeric_only=True)) Feature Scaling 하나의 변수는 오차가 크고, 하나의 변수는 오차가 작으면, 나중에 오차를 수정할 때 편중된다. 따라서 값의 범위를 맞춰줘야 정확히 트레이닝 된다. 주로 표준화와 정규화를 사용한다. from sklearn.preprocessing import StandardScaler, MinMaxScaler 1. 표준화(Standardization) 값의 범위를 평균이 0, 분..