DATABASE –>여러 개의 TABLE -> 여러 개의 필드;
명령어들
-DATABASES-
*SHOW DATABASES; <현재 있는 데이터 베이스 이름을 본다.>
*USE 데이터베이스이름; <데이터베이스이름를 사용한다.>
*CREATE DATABASE 데이터베이스이름; <데이터베이스이름으로 데이터베이스를 만듬.>
*DROP DATABASE 데이터베이스이름; <데이터베이스이름의 데이터베이스를 삭제>
-DATABASE- :USE 데이터베이스이름; 명령으로 사용할 데이터베이스 선택해야함
*CREATE TABLE 테이블이름(구조) <데이터베이스안에 테이블를 만든다.>
Ex) CREATE TABLE aa(id INT AUTO_INCREMENT, name VARCHAR(30), old INT, exp INT, PRIMARY KEY(id));
-> 변수 선언할 때 (변수이름 변수형, ….. )
-> AUTO_INCREMENT 자동추가로 값을 입력할 때 NULL를 넣으면 자동 증가된다.
-> PRIMARY KEY(id) 명령은 테이블 내의 특정 변수를 검색하는데 있어서 데이터베이스를 최적화 하는데 사용된다. 뒤에 in는 가장 처음 선언한 변수로써 id를 가장 많이 검색하게 될 것이므로 id를 테이블의 primary key로 설정했다..
*SHOW TABLES; <데이터베이스안에 선언한 테이블 이름이 출력.>
*DESC 테이블이름; <데이터베이스안의 테이블이름의 구조를 본다.>
Ex) DESC aa; 라고 하면 aa라는 테이블 구조가 출력된다.
*INSERT INTO 테이블이름 VALUES (테이블 변수값);
Ex) INSERT INTO aa VALUES (NULL, ‘잭’, 14, 1431), (NULL, ‘룬’, 20, 14342) ;
->문자열 입력할때는 ‘룬’ 처럼 ‘ ‘ 안에 넣도록
*DROP TABLE aa;
데이터베이스 안의 aa 데이블 자체를 지운다.
<SELECT 테이블 데이타 검색>
*SELECT * FROM 테이블이름 <데이터베이스안의 테이블이름 모든 내용 값출력.>
*SELECT 찾는테이블변수이름 FROM 테이블이름
<데이터베이스안의 검색테이블변수이름에 대한 모든 값을 출력>
Ex) SELECT name,exp FROM aa; aa테이블 안의 name과 exp 부분값만 출력
*SELECT * FROM 테이블이름 WHERE 조건; 테이블안에 조건에 맞는 필드만 출력
Ex) SELECT *FROM aa WHERE exp > 1000; aa테이블 안의 exp부분값이 1000이상일것만 출력
확장 => SELECT id,name FROM aa WHERE old = 86; aa테이블 안의 old값이 86인것만 id과 name를 출력
=> SELECT * FROM aa WHERE old > 86 AND old<20; AND 명령어로 조건을 추가할 수 있다.
*SELECT * FROM aa WHERE name LIKE “J%”; <aa테이블의 name내용중 “J”로 시작하는 필드들 출력
=>LIKE는 부분 속하는것이다. 만약 LIKE “%S%” 로 검색하면 S문자가 포함된 모든 값들을 출력한다.
* SELECT * FROM aa WHERE name LIKE “J%” LIMIT 2; =제한.
<aa테이블의 name내용중 “J”로 시작하는 필드를 출력하는데 2개만 출력한다.>
<DELETE FROM 테이블에 필드 삭제. >
*DELETE FROM aa WHERE name = “Jeff”;
<aa테이블에서 이름이 Jeff인 필드를 삭제한다>
*DELETE FROM aa;
<aa테이블 안의 모든 필드를 지운다.>
<ALTER 테이블에 다른 필드 추가. >
*ALTER TABLE aa ADD lastTime TIMESTAMP;
<aa의 테이블안에 lastTime라는 이름에 TIMESTAMP 속성의 필드가 추가된다.>
즉 aa가 (id INT, name VARCHAR(30), old INT, exp INT); 였다면
위 명령실행후
Aa는 (id INT, name VARCHAR(30), old INT, exp INT, lastTime TIMESTAMP) 로 된다는 것이다.
*ALTER TABLE aa MODIFY name VARCHAR(50);
<aa의 테이블 안에 있는 name 변수를 VARCHAR(50)으로 속성을 바꾼다.>
<UPDATE 필드의 데이터 업데이트>
*UPDATA aa SET lasttime =NULL WHERE name = “Jeff”;
<aa의 테이블 안에 있는 name이 “Jeff”이 lasttime 속성의 값을 현재시간으로 업데이트한다.>
(TIMESTAMP는 NULL입력하면 현재시간으로 된다.)>
(만약 직접 입력하고 싶다면 NULL대신 20090722002000 처럼 입력하면된다. 앞에서부터 2009년 07월 22일 00시20분 00초 이다,)
확장 => 마지막에 LIKE 명령어로 해당 값이 들어간 모든 것에 수정할수 있다.
*UPDATA aa SET lasttime =NULL WHERE name LIKE “J%”;
->이름이 J시작하는 lasttime를 현재시간으로 업데이트한다.
<ORDER BY 출력 순서 정하기 > -기본이 오름차순이다.
*SELECT * FROM aa ORDER BY name; <aa테이블에서 name를 값중심으로 오름차순 정렬한다>
내림차순으로하려면 => *SELECT * FROM aa ORDER BY name DESC;
같은값이 나올 때 또다른 순서 => (ex) old 나이가 같은사람은 다음 경험치로 순서를 정하려면)
*SELECT * FROM aa ORDER BY old,exp;
<마지막 입력된데이터 구하기
1. SELECT @maxid:=MAX(id) FROM aa;
- @명령어로 maxid 이름을 변수를 선언하여 id필드로부터 가장 큰 값을 얻어 저장한다.
2. SELECT *FROM aa WHERE id = @maxid;
- 테이블 aa에서 id값이 maxid에 저장되 최대값인 필드만 출력한다.
*가장 늦은 시간값 구하는 방법
1. 마지막 시간을 가져온다.
SELECT @lastTime:=MAX(lastTime) FROM aa;
2.그 시간을 가지고 검색해서 가져온다.
SELECT * FROM aa WHERE lastTime =@lastTime;
이때 같은 이름을 했지만 지역 변수로 되어 중복되는 것이 아니다.
-기타.
*DB 백업하기 backup.sql 파일 만들기
콘솔화면에서 mysqldump 파일 있는 경로로 가서(보통 sql이 설치된 bin에 있다)
Mysqldump –u root –p DB데이타 이름 > 저장이름.sql
Ex) Mysqldump –u root –p gamedata > gamedata.sql
*gamedata.sql 파일 복원
컨솔화면에서 mysql –u root 넣을데이타베이스이름 < 넣을데이타.sql;
Ex) mysql –u root gamedata <gamedata.sql
중요한건 넣기전에 새로운DB가 없으면 안되니. CREATE DATABASE gamedata; 만들어줄것!
제목 | 날짜 | ||
---|---|---|---|
671 | [GitHub] 이미 push된 file .gitignore 적용하기 | 74 | 2022/01/01 |
670 | [GitHub] git의 .gitignore 사용방법 | 111 | 2021/12/29 |
669 | [jQuery] 텍스트 추출해서 링크 변환하기 | 130 | 2021/12/25 |
668 | HTML/CSS 스크롤바 숨기기 없애기 (스크롤 동작) | 328 | 2021/09/01 |
667 | xampp mysql 명령어 터미널에서 실행하는 방법 | 540 | 2021/02/05 |
666 | [GitHub] 간단한 깃 사용법 | 13 | 2021/02/01 |
665 | 리눅스 cp 명령어 사용법 정리 (파일, 디렉토리 복사, 백업) | 814 | 2020/12/12 |
664 | [리눅스서버] 리눅스 폴더별압축 디렉토리별 압축 | 1058 | 2020/12/12 |
663 | [리눅스서버] 수천 개의 파일이 포함 된 큰 디렉토리를 효율적으로 삭제 | 64 | 2020/12/07 |
662 | [윈도우] 윈도우 이 항목을 찾을 수 없습니다 삭제 방법 | 68 | 2020/11/29 |
661 | [리눅스서버] 리눅스 디렉토리별 용량 체크하는 방법 | 114 | 2020/11/26 |
660 | 무료환율 api | 0 | 2020/08/18 |