맥북 쿼리 실행법
cd /usr/local/mysql/bin
./mysql -u root -p
MySQL 명령어
- show databases; : 데이터 베이스 보여주세요
- create database 이름; : '이름' 이라는 데이터 베이스 새로 생성
- use 이름; : '이름' 이라는 데이터베이스 사용
- show tables; : 데이터베이스 안에 있는 table 보여주세요
- desc 테이블 이름; : '이름' 이라는 테이블 구조 출력 (필드의 구조)
- set password for 'root'@localhost = 'abc'; 'abc' 로 root 의 패스워드 변경
database 생성
- mysql> create database 데이터베이스이름;
테이블 생성
- mysql> create table 테이블이름)
--> 필드명 데이터형(크기) 속성,
--> ...
primary key(필드명) //프라이머리로 설정
);
테이블 변경
- alter table 테이블이름 add 필드명 데이터; : 추가
- alter table 테이블이름 change 기존필드명 새로운필드명 데이터형; : 변경
- alter talbe 테이블이름 drop 필드명; : 삭제
테이블 삭제
- drop table 테이블이름;
(alter 랑 이거랑 차이점이 뭐지?)
레코드 삽입
- insert into 테이블이름 vlaues (값1, 값2, ...);
- insert into 테이블이름 (필드1, 필드3, 필드5) value(값1, 값3, 값5);
--> 이건 내가 원하는 필드에만 값 넣을 때 사용. 단, null 값이 yes 일 때만~
레코드 검색
- select 필드1, ... 필드n from 테이블 이름
- where: 검색 조건 : 하나 이상의 검색 조건 and 로 연결하면 두 개 이상의 조건
Ex) select * from userinfo where part ='공대' and count>100; (userinfo 테이블에서 part 는 공대이고 count 가 100 이상인 데이터만 검색)
- order by ASC/DESC (오름/내림차순) : 오름/내림차순 정렬
- group by 필드명 : 원하는 조건으로 그룹핑
Ex) select part, max(count), min(count) from userinfo group by part; (part 를 그룹화 할건데, part 에서 count의 max 와 min 값으로 그룹화 노출)
- having 조건 : group by 에서 추가 조건 지정
- 필드명 between 값 and 값 : 특정 범위 내 검색
- 필드명 like 문자열 : 특정 문자열 포함 "%길%" --> 길이 포함된 문자열
- limit 숫자 : 뽑아낼 데이터 한정하기
- select * from 테이블 이름 : 전체 검색
레코드 변경 및 삭제
- update 테이블이름 set 필드명1=값1, ... 필드명n=값n where 조건
- delete from 테이블 이름 where 삭제조건