MYSQL | mysql 기본문법

페이지 정보

작성자 : 에렐리앙 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 날짜 : 작성일10-12-30 11:14 조회 : 1,157회

본문

1. 디비 접속법

● 설치폴더 -> 빈폴더의 마이에스큐엘로 접속함

● 암호설정시 접속법(아이디가 root, 비번이1234 일 경우)

mysql -u root -p Enter

다음 암호입력

 

2. 기본 쿼리문장

● 디비보기 : show databases;

● 디비만들기 지우기 : create database dbname, drop database dbname;

● 디비사용하기 : use dbname;

● 테이블보기 : show tables;

● 테이블만들기 : create table tablename(fild type(len),...);

● 테이블지우기 : drop table tablename;

● 필드 구성 보기 : desc table name;

● 데이터 추가하기 :insert into (table 명) values ( , , );

● 데이터 지우기 : delete from (table 명) where (field명) = ‘ ’;

● 중복하지 않게 하나씩 증가시키기 : (id smallint primary key auto_increment)

 

3. Root 사용자 비밀번호 변경하기

● mysql>use mysql

>update user set password=password("원하는비밀번호“) where user='root';

이렇게 하면 우선 처리내역이 밑에 뜬다.

● Flush 해주기 (안해주면 비밀번호가 바뀌지 않는다. 방법은 두가지)

가. mysql 접속 상태에서 Flush 하기

mysql>flush privileges;

위와같이 입력하면 Flush 되었다고 나온다. 그러면 비밀번호 변경 완료!!

나. mysql 접속을 끊고 밖에서 Flush 하기

c:\mysql\bin>mysqladmin -u root -p flush-privileges

Enter password : <-이렇게 뜨면 바뀌기 전 비밀번호 입력하면 된다.

입력하고 엔터쳐도 별 반응 없다 반응없으면 된거고 삐 소리나면 안된것!!

(c.f) 위에 다른 사용자 비밀번호를 변경하려면 root에 다른 사용자 ID집어 넣을것!

 

4. Grant 를 사용하여서 계정 만들기

● 관리자를 추가하기 위한 Grant 사용 (Root와 동일 한 사용자)

mysql>GRANT ALL PRIVILEGES ON *.* to (추가하려는 ID)@localhost IDENTIFIED BY '(원하는 패스워드)' WITH GRANT OPTION;

+) (추가하려는 ID)@"%" - 외부 접근 가능

주의!! : 위에서 ID와 PW의 가로는 쓰면 안 됨. 문장에서 구분하기 좋으라고 해 놓은 가로임!!

● 일반 사용자에게 자신의 db(mydb)에 관한 모든 권한 부여하기.

mysql>GRANT ALL PRIVILEGES on mydb.* to user@localhost IDENTIFIED BY 'password';

* user에다가 원하는 사용자 ID 집어넣고 password에 원하는 pw 집어 넣으면 됨.

(c.f) MySQL version 5.0 alpha user privileges list.

 

5. Select 문을 이용한 Data 검색.

● 기본검색 - 테이블 안의 레코드 전체를 보여줌

mysql>select * from 테이블명; <- 이건 기본적인 지정테이블 안의 모든 내용을 보

● 조건검색(where) - 테이블안의 레코드중 지정한 조건에 맞는 값만 검색

mysql>select * from 테이블명 where 필드명=‘조건값’;

->지정 필드에서 조건 지정 값만 출력.

mysql>select * from 테이블명 where 필드명=‘조건값’ && 필드명=‘조건값;’

->and를 이용 두가지 이상 조건 값을 줄 수 있다.. 두가지 조건을 다 만족하는 값만 검색한다.

5.0 이상 버전에서는 and라고 쳐도 되지만 이전 버전에서는 && 라고 써야한다. 관리자가

때에 따라 이전버전을 사용할 수도 있으므로 && 기호로 사용하는 습관을 기르자.

mysql>select * from 테이블명 where 필드명=‘조건값’ || 필드명=‘조건값’;

->or를 이용 두가지 이상 조건 값을 줄 수 있다.. 두가지중 하나만 만족해도 검색한다.

5.0 이상 버전에서는 or라고 쳐도 되지만 이전 버전에서는 || 라고 써야한다. 관리자가

때에 따라 이전버전을 사용할 수도 있으므로 || 기호로 사용하는 습관을 기르자.

mysql>select * from 테이블명 where 필드명 like "%찾을문자“;

->위에 “%찾을문자“는 여러 가지가 들어갈 수 있다. % 위치에 따라서 달리 검색한다.

mysql>select * from 테이블명 where 필드명 regexp "^[jJ]";

->위조건 만족하는 필드명 중에서 첫글자가 j 또는 J로 시작하는 레코드를 검색해서 출력.

-> . - 문자 하나를 나타냅니다.

* - 앞에 나온 문자의 0개 이상 반복합니다.

^ - 문자열의 처음을 나타냅니다.

$ - 문자열의 끝을 나타냅니다.

[,] - 괄호 안의 문자열 일치를 확인합니다.

{,} - 반복을 나타냅니다.

 

● 정렬하기(order by) - 테이블안의 레코드를 검색하여서 지정된 값으로 정렬하는 법

mysql>select * from 테이블명 where 필드명=‘조건값’ order by 필드명 정렬방법;

정렬방법에는 asc 와 desc 이렇게 두가지가 있다. asc(ascend:오름차순), desc(descend:내림차순)

● 여러개의 테이블에서 검색하여 정렬하기

mysql>select * from 테이블1 a, 테이블2 b where a.name=b.name order by a.name asc;

테이블1을 a라고 임의로 지정, 테이블2 를 b 라고 임의로 지정 후 조건에서 a의 name과 b의 name

이 같은 값만 a의 name을 기준으로 하여서 오름차순 정렬하여서 보여줘라. 이런 명령!

● 여러개의 테이블에서 원하는 필드를 골라 검색하여 순서대로 정렬하기.

mysql>select a.name, b.phone, a.age from 테이블1 a, 테이블2 b, where a.name=b.name order by a.name desc;

● count(*)를 사용해서 레코드 개수 보기.(카운트 사용시 조건을 주려면 꼭 group by를 써야한다.)

mysql>select count(*) from 테이블명; <-테이블안의 레코드 계수를 세어서 보여준다.

● group by 를 사용하여서 정렬하기

mysql>select name,count(*) from members group by name;

이렇게 하면 name필드에 중복된 숫자를 파악하여 어떤 name 몇 개 어떤 name 몇 개, 이렇게 출력

mysql>select name,age,count(*) from members group by name, age;

위 내용이랑 비슷한데 이름과 나이가 같은 레코다 몇 개인지 보여주는 select 문이다.

풀어 설명하면 이름이 XX고 나이가 YY인 사람이 몇 명~ 이런식으로...gg

 

6. 테이블의 지우기와 수정하기.

● delete를 이용하여 테이블 지우기

● delete from 테이블명;

해당 테이블을 삭제합니다.

● alter 와 add 를 이용하여 테이블에 열 추가 하기.

mysql>alter table 테이블명 add 열명 자료형태;

테이블에 열을 추가 시킨다.

● alter 와 drop 을 이요하여 테이블에 열 삭제하기.

mysql>alter table 테이블명 drop 열명;

테이블의 열 한 개를 다 지워버린다.

● delete를 이용하여 특정레코드 삭제하기.

mysql>delete from 테이블명 where 열명=‘레코드명’;

위에 where 값에 해당하는 레코드만 삭제한다.

● update를 이용하여 레코드 수정하기.

mysql>update 테이블명 set 열명=‘레코드명’ where 열명=‘레코드명’;

위에 지정한 테이블에서 where조건에서 지정한 열의 해당 레코드에서, set한 열명의 값을 지정한

레코드 값으로 수정한다. 이해 안되도 잘보면 보인다.

단, 오직 update는 레코드나 값만을 수정한다. 필드이름이나 테이블 이름은 수정이 불가능하다.

 

===========================================================================================

===========================================================================================

7. mysql 의 백업과 데이터 복구.

● isamchk 사용하기

#isamchk 옵션 테이블명

mysql의 경우 대부분 isamchk를 돌릴정도의 심각한 오류는 발생하지 않는다. 하지만 기계는 언제나

예고없이 문제를 일으키므로, 꼭 알아두어야할 UTIL 이다.

● isamchk 옵션

#isamchk - : help로 다양한 옵션들을 확인하자.

#isamchk 테이블명 : 해당테이블의 에러를 점검합니다. 상당한 부분까지 점검함.

#isamchk -e 테이블명 : 해당 테이블의 모든 데이터를 점검해 줍니다.

-i 옵션을 추가하면 통계까지 같이 보여 줍니다.

#isamchk -r-q 테이블명 : 해당 테이블의 에러를 쉽고 빠르게 복구해줍니다.

 

● 이 같이 isamchk 를 통하여서 많은 에러로부터 데이터와 테이블을 복구 할 수 있다.

help 를 사용하여서 더 많은 옵션을 꼭 확인 하여야 한다.

● 필자 : 솔직히 실행을 못해보았다. 이상하게 안된다. 어떻게 써야하는지 몰라서 안했으니.....안다면..

나에게도 가르쳐 줬으면 좋겠다. ...

● mysql 에서의 백업하기

c\mysql\bin>mysqldump -h 호스트명 -u 유저명 -p 데이터베이스명 > 백업되어질 파일명

mysql의 백업의 경우는 user/local/mysql/bin 안에 있는 mysqldump를 이용하는 방식이다.

위와 같이 외부명령이다. 즉 mysql안에서 사용하면 안되는 명령이므로, 밖에 local에 나와서 사용

할 수 있도록 하자. 위의 명령을 내리면 Enter pw 창이 나오면 입력하고 Enter!! 치면..끝!!

● mysql 에서의 롤백하기

c\mysql\bin>mysql -h 호스트명 -u 유저명 -p 데이터베이스명 < 백업파일명

위의 명령 또한 외부 명령이다. local에서 실행 할 수 있도록 하자. 그리고 또한 pw창이 나오니

입력하고 엔터....

● 위의 백업에서 중요한 점은 백업을 하면 데이터베이스 전체를 백업 하는 게 아니라는 것이 중요한 점이다. mysqldump 를 실행하면 기본적으로 지정한 데이터베이스 안의 테이블만 백업을 하고, 롤백을 한다는 소리다. 즉, 꼭 데이터베이스의 이름을 기억하여서 롤백 하기전에 mysql안에 들어가서 데이터베이스를 만들어 놓고, 후에 롤백하여서 그 동일한 위치에 저장 될 수 있도록 하자!!!

1. 실행시 프로그램(프로세서,데몬) 차원에서 옵션을 이용한 설정법

 

-O max_connections=1000

 

2. mysql 환경설정파일을 수정하여 시작시마다 자동설정하는 방법

- max_connections=1000

[출처] Mysql 기본 문법|작성자 adel

Total 11건 1 페이지
게시물 검색
웹스터디 목록
번호 제목 글쓴이 날짜 조회
11 MYSQL Centos7 Mysql 설치 에렐리안 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 17-05-17 231
10 MYSQL MYSQL 테이블 복구 명령어 에렐리안 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 17-03-17 203
9 MYSQL 현재 쿼리가 실행중인 결과 보기 에렐리안 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 16-10-18 131
8 MYSQL MYSQL USER 생성추가및 삭제 에렐리앙 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 14-03-04 130
7 MYSQL MYSQL PHP 한글깨짐, 물음표 해결방법 에렐리앙 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 13-02-21 546
6 MYSQL mysql 디비 복구시 한글깨질때 요렇게 하자 에렐리앙 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 13-02-19 216
5 MYSQL mysql 5번전을 4버전으로 낮추고 한글깨져서 덤프되는걸 안깨지게 덤프시켜 백업하기 에렐리앙 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 11-08-11 485
4 MYSQL Mysql 날짜관련 함수 모음 에렐리앙 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 11-01-14 1096
열람중 MYSQL mysql 기본문법 에렐리앙 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 10-12-30 1158
2 MYSQL mysql root 암호 변경 Database 에렐리앙 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 10-08-11 1598
1 MYSQL mysql db백업/db압축풀기 에렐리안 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 09-08-28 1834
Today 74 Yesterday 295
Total 86,596