728x90

mysql 명령어 모음


데이터베이스 생성 create database 데이터베이스명;
데이터베이스 목록보기 show databases;
데이터베이스 삭제 drop  database 데이터베이스명;
데이터베이스 선택 use 데이터베이스명;

테이블 생성 create table 테이블명(필드명, 타입, 공백 여부 등등);
테이블 보기 show tables;
테이블 구조 보기   desc 테이블명;
필드 추가 alter table 테이블명 add 새로추가할 필드명과 타입 (위치 설정[after 필드명]);
필드 삭제 alter table 테이블명 drop 삭제할 필드명;
필드명 변경 alter table 테이블명 change 기존 필드명 새로운 필드명 타입;
필드의 타입만 변경 alter table 테이블명 modify 기존필드명 새로운 타입;

테이블 이름 변경 alter table 기존 테이블명 rename 새 테이블명;
테이블 삭제 drop 테이블명;
---------------------------------------------------------------------------------
일괄실행 명령어 mysql -u root명 -p 비번 데이터베이스명 < 파일명
create table ep_tb(
sno int not null,
name varchar(10),
det char(20),
addr varchar(80),
tel char(20),
primary key(sno));

파일형식  sql로 library/bin/ 폴더에 저장
---------------------------------------------------------------------------------

단일레코드 변경
update  table name set 필드명 = 변경할 조건 where  필드명 = 기존 속성값
ex update haksa_tb set age = age - 3 where son  = 2002323;

전체 레코드 변경
update 테이블명 set 필드명 = 조건
update gk_tb set time = time - 1;

레코드 삭제
delete from table name where field name = 조건 ;

단일 레코드의 삭제 (like)
delete from haksa_tb where addr like '대전%';

특정 레코드 삭제 (where)
delete from 테이블명 where age >= 20 and age <= 30;

전체 체코드 삭제 
delete from table name;


백업 myslqdump -u -p 데이터베이스명 > 백업파일명

복원  mysql -u  -p db < 백업파일명



테이블의 모든 레코드 검색 select *from 테이블명;

load data 구문
load data infile "텍스트파일" into table 테이블명;
맥의 경우 기본 폴더 설정이 테이블까지 되어있음  mamp/db/mysql/디비명/파일.txt


중복된 레코드값 제거해서 출력
select distinct 필드명  from  테이블명;

조건 where
select  필드1 필드2 필드3 from  테이블명 where 조건;
(ex. select name, age, set, addr, sex from haksa_tb where sex = 'm';)

필드정렬
order by 필드명 sac(오름차순)-  작은 숫자부터 정렬  desc(내림차순) - 큰숫자부터 정렬
(ex. select name,age, det, addr, sex from haksa_tb where sex='M' order by age ASC;

결과값 제한 Limit
select *from 테이블명 order by 필드명 asc or desc limit 숫자;

집계함수 count

count(*) : 테이블 속에 속하는 레코드의 갯수
count(필드명) : null값이 아닌 레코드의 개수
sum(필드명) : 필드명의 값들의 합계
avg(필듬명) : 필드명의 값들의 평균
max(필드명) :  필드명의 값들의 최대값
min(필드명) : 필드명의 값들의 최소값

group by 는 필드명 기준으로 그 결과를 그룹화 한다.

select sno, sum(score) from jumsu_tb group by son;

group by 에 의해 수행된 결과에 대해 조건을 적용하고 검색 하려면 having절을 이용한다.
주의할점은 반드시 group by를 먼저 기술해야 한다.
ex . select son from jumsu_tb group by sno having count(*) >= 2;

특정 문자열 검색
_(언더스코어) 임의의 한문자 한글의 경우 2바이트이므로2개 사용 
예를 들어 준이라는 이름으로 끝나는 사람을 찾는다.  '__준'

null값을 갖는 정보 검색

select *from gk_tb where hakjum IS NULL;

null값이 정보를 제외하고 검색
select *from gk_tb where hakjum IS NOT NULL;

join검색

2개 이상의 테이블로 결과를 검색하는 과정을 조인검색이라고 한다.

select haksa_tb.name from haksa_tb, jumsu_tb where haksa_tb.sno = jumsu.sno AND jumsu_tb.codee = 1001;


Posted by 앗뜨거
,