데이터 베이스 전자적으로 저장된 구조화된 데이터 세트입니다. 데이터베이스의 개념은 우리 조상들에게 컴퓨터가 없던 시절에도 알려져 있었지만 그러한 데이터베이스를 만들고 유지하는 것은 매우 지루한 작업이었습니다. 수동 데이터베이스에서 100 급여 이하의 모든 사원을 검색해야 하는 경우 10k, 그때 얼마나 힘들었을지 생각해 보세요.
피할 수 없는 요즘 세상 데이터 베이스. 현재 수백만 개의 데이터베이스가 전략적 데이터, 직원 기록 또는 웹 기술과 같은 모든 종류의 데이터를 저장하고 가져오기 위해 전 세계에서 작동하고 있습니다.
데이터베이스는 최종 사용자나 사용자에게 보이지 않기 때문에 종종 백엔드 프로세스라고 합니다. 최종 사용자 데이터베이스와 직접 상호 작용합니다. 그들은 프론트 엔드 프로세스 즉, PHP, VB, ASP.NET, 등. 백엔드에서 데이터베이스를 처리하도록 프런트 엔드에 요청하십시오.
다음과 같이 여러 데이터베이스 서버와 클라이언트를 사용할 수 있습니다. 신탁, MySQL, MySQLi, 마리아DB, 몽고DB 등. 이들 모두의 구문은 거의 동일합니다. 하나를 마스터한다는 것은 대부분을 제어할 수 있다는 것을 의미하며 데이터베이스 쿼리를 배우는 것은 매우 쉽고 재미있습니다.
데이터베이스에 대한 간단한 쿼리부터 시작하겠습니다. 우리는 사용할 것입니다 MySQL 대부분의 번들로 제공되는 리눅스 기본적으로 배포판의 경우 기본적으로 설치되지 않은 경우 저장소에서 수동으로 설치할 수 있습니다.
데이터베이스 쿼리는 필요에 따라 사용자 지정 및 정제된 결과를 얻기 위해 데이터베이스로 전송되는 간단한 코드 조각입니다.
사용 "냠" 또는 "적절한"설치할 패키지 관리자 MySQL 데이터 베이스.
# yum install mysql mysql-client mysql-server(on 냠 기반 시스템) # apt-get install mysql mysql-client mysql-server(on 적절한 기반 시스템)
시작 MySQL 데이터베이스 서비스:
# 서비스 mysqld 시작. 또는. # 서비스 mysql 시작
잘 설치 MySQL 데이터베이스는 설정하도록 요청받은 구성으로 이동합니다. 관리자 비밀번호 등 서버 설치 및 시작이 완료되면 MySQL 즉각적인.
# mysql -u 루트 -p
바꾸다 뿌리 구성된 사용자 이름 그리고 입력 비밀번호 메시지가 표시되면 로그인 자격 증명이 올바른 경우 MySQL 눈 깜짝할 사이에 프롬프트합니다.
MySQL 모니터에 오신 것을 환영합니다. 명령은 다음으로 끝납니다. 또는 \g. MySQL 연결 ID는 195 서버 버전: 5.5.31-0+wheezy1(Debian) Copyright (c) 2000, 2013, Oracle 및/또는 그 계열사. 판권 소유. Oracle은 Oracle Corporation 및/또는 그 계열사의 등록 상표입니다. 다른 이름은 해당 소유자의 상표일 수 있습니다. '도움말;'을 입력하십시오. 도움이 필요하면 '\h'. 현재 입력 문을 지우려면 '\c'를 입력하십시오. mysql>
이제 이 프롬프트에서 쿼리를 수행하는 것은 매우 교육적이고 재미있습니다.
mysql> 데이터베이스 tecmint 생성; 쿼리 OK, 1행 영향(0.02초) mysql>
메모: 쿼리가 맞았다고 보고하면 데이터베이스가 생성되었음을 의미합니다. 새로 생성된 데이터베이스를 다음과 같이 확인할 수 있습니다.
mysql> 데이터베이스 표시; ++ | 데이터베이스 | ++ | 정보 스키마 | | mysql | | 성능 스키마 | |텍민트 | | 테스트 | ++ 세트의 9개 행(0.00초) mysql>
메모: 위의 출력에서 데이터베이스를 확인하십시오.
이제 작업할 데이터베이스를 선택해야 합니다.
mysql> tecmint 사용; 데이터베이스가 변경되었습니다. mysql>
여기서 우리는 "민트텍"와 같이 3개의 필드가 있습니다.
mysql> CREATE TABLE minttec ( -> id Int(3), -> first_name Varchar(15), -> 이메일 Varchar(20) -> ); 쿼리 OK, 영향을 받는 행 0개(0.08초) mysql>
메모: 위의 쿼리는 다음과 같이 말합니다. 좋아요 이는 테이블이 오류 없이 생성되었음을 의미합니다. 테이블을 확인하려면 아래 쿼리를 실행하십시오.
mysql> 테이블 표시; ++ | Tables_in_tecmint | ++ | 민트텍 | ++ 세트(0.00초)의 1행 mysql>
지금까지는 일이 잘 되고 있습니다. 예! 테이블 "에서 생성한 열을 볼 수 있습니다.민트텍" NS:
mysql> minttec의 열 표시; +++++++ | 필드 | 유형 | 널 | 키 | 기본값 | 추가 | +++++++ | 아이디 | 정수 (3) | 예 | | 널 | | | 이름 | varchar (15) | 예 | | 널 | | | 이메일 | varchar (20) | 예 | | 널 | | ++++++ 세트(0.00초)의 3개 행 mysql>
그것은 마법에 지나지 않았다. 어쨌든 선언의 종류와 의미에 대해 말씀드리겠습니다.
이제 '라는 열을 추가해야 합니다.성' 열 뒤에 '이름‘.
mysql> ALTER TABLE minttec ADD last_name varchar (20) AFTER first_name; 쿼리 확인, 영향을 받는 행 0개(0.16초) 레코드: 0 중복: 0 경고: 0
이제 테이블에서 확인하십시오.
mysql> minttec의 열 표시; +++++++ | 필드 | 유형 | 널 | 키 | 기본값 | 추가 | +++++++ | 아이디 | 정수 (3) | 예 | | 널 | | | 이름 | varchar (15) | 예 | | 널 | | | 성 | varchar (20) | 예 | | 널 | | | 이메일 | varchar (20) | 예 | | 널 | | ++++++ 세트(0.00초)의 4개 행 mysql>
이제 오른쪽에 열을 추가합니다.국가' 오른쪽에 이메일.
mysql> ALTER TABLE minttec ADD 국가 varchar(15) AFTER 이메일; 쿼리 OK, 영향을 받은 행 0개(0.16초) 레코드: 0 중복: 0 경고: 0 mysql>
위의 열 삽입 쿼리를 확인하십시오.
mysql> minttec의 열 표시; +++++++ | 필드 | 유형 | 널 | 키 | 기본값 | 추가 | ++++++++ | 아이디 | 정수 (3) | 예 | | 널 | | | 이름 | varchar (15) | 예 | | 널 | | | 성 | varchar (20) | 예 | | 널 | | | 이메일 | varchar (20) | 예 | | 널 | | | 국가 | varchar (15) | 예 | | 널 | | ++++++++ 5행 세트(0.00초) mysql>
필드에 값을 삽입하는 것은 어떻습니까?
mysql> INSERT INTO minttec VALUES ('1', 'Ravi', 'Saive', '[이메일 보호됨]', '인도' ); 쿼리 OK, 1행 영향(0.02초) mysql>
이상을 삽입하는 것은 어떻습니까? 1 위의 표에서 한 번에 값.
mysql> INSERT INTO minttec VALUES('2', '나라드', '슈레스타', '[이메일 보호됨]', '인도' ), ('3', '사용자', '싱', '[이메일 보호됨]', 'Aus' ), ('4', 'tecmint', '[닷컴]닷컴', '[이메일 보호됨]', '인도' ); 쿼리 확인, 3개의 행이 영향을 받았습니다(0.05초) 레코드: 3 중복: 0 경고: 0
위의 삽입을 확인하십시오.
mysql> minttec에서 * 선택; ++++++ | 아이디 | 이름 | 성 | 이메일 | 국가 | ++++++ | 1 | 라비 | 사이브 | [이메일 보호됨] | 인도 | | 2 | 나라드 | 슈레스타 | [이메일 보호됨] | 인도 | | 3 | 사용자 | 싱 | [이메일 보호됨] | 호주 | | 4 | 텍민트 | [닷컴] | [이메일 보호됨] | 인도 | ++++++ 세트의 4개 행(0.00초) mysql>
위의 출력에서 세 번째 항목이 유효하지 않고 세 번째 항목을 삭제해야 한다고 가정해 보겠습니다.
mysql> minttec WHERE에서 삭제 ID = 3; 쿼리 확인, 1개 행이 영향을 받았습니다(0.02초).
위의 작업을 확인하십시오.
mysql> minttec에서 * 선택; ++++++ | 아이디 | 이름 | 성 | 이메일 | 국가 | ++++++ | 1 | 라비 | 사이브 |[이메일 보호됨] | 인도 | | 2 | 나라드 | 슈레스타 | [이메일 보호됨] | 인도 | | 4 | 텍민트 | [닷컴] | [이메일 보호됨]| 인도 | ++++++ 3줄 세트(0.00초)
아이디(=4)를 수정해야 합니다.
mysql> 업데이트 minttec SET ID = 3 WHERE first_name = 'tecmint'; 쿼리 확인, 1개 행이 영향을 받았습니다(0.02초). 일치하는 행: 1 변경됨: 1 경고: 0 mysql>
위 쿼리를 확인합니다.
mysql> 업데이트 minttec SET ID = 3 WHERE first_name = 'tecmint'; 쿼리 OK, 영향을 받는 행 1개(0.02초) 일치하는 행: 1 변경됨: 1 경고: 0 mysql>
메모: 위의 쿼리는 수행된 대로 좋은 생각이 아닙니다. ID를 '로 변경합니다.4' 어디에서든 이름이 '텍민트'. 다음과 같이 오류를 최소화하려면 where 절과 함께 둘 이상의 열을 사용하는 것이 항상 좋은 생각입니다.
mysql> 업데이트 minttec SET ID = 6 WHERE first_name = 'tecmint'AND last_name = '[dot]com'; 쿼리 확인, 1개 행이 영향을 받았습니다(0.03초). 일치하는 행: 1 변경됨: 1 경고: 0 mysql>
중요하지 않다고 생각하는 열을 삭제(삭제)해야 합니다.국가' 여기.
mysql> ALTER TABLE minttec 드롭 국가; 쿼리 확인, 3개의 행이 영향을 받았습니다(0.15초). 레코드: 3 중복: 0 경고: 0 mysql>
테이블을 확인합니다.
mysql> minttec에서 * 선택; +++++ | 아이디 | 이름 | 성 | 이메일 | +++++ | 1 | 라비 | 사이브 | [이메일 보호됨] | | 2 | 나라드 | 슈레스타 | [이메일 보호됨] | | 6 | 텍민트 | [닷컴] | [이메일 보호됨]| +++++ 3행 세트(0.00초) mysql>
우리 테이블 이름이 "민트텍"는 그다지 관련이 없습니다. 로 바꾸는 건 어때? tecmint_table.
mysql> 테이블 이름 바꾸기 minttec TO tecmint_table; 쿼리 OK, 영향을 받는 행 0개(0.03초) mysql>
현재 데이터베이스 아래의 모든 테이블을 봅니다.
mysql> 테이블 표시; ++ | Tables_in_tecmint | ++ | tecmint_table | ++ 1행 세트(0.00초) mysql>
테이블 이름이 변경되었습니다. 이제 위의 항목을 백업하십시오. MySQL 정교한 도구 없이 한 줄의 명령으로 데이터베이스를 관리할 수 있습니다. mysql 프롬프트가 아닌 터미널에서 아래 코드를 실행하십시오.
# mysqldump -u root -p tecmint > tecmint.sql 바탕 화면에 다음과 같은 내용이 있을 덤프 파일을 확인합니다. -- MySQL 덤프 10.13 배포판 5.5.31, debian-linux-gnu(i686)용 -- -- 서버 버전 5.5.31-0+wheezy1 -- 2013-09-02 12:55:37 덤프 완료
항상 유지 관리하는 것이 좋습니다. MySQL 데이터베이스 백업. 백업 복원 MySQL Data는 mysql 프롬프트가 아니라 터미널 프롬프트에서 실행해야 하는 간단한 코드 줄입니다.
그러나 먼저 데이터베이스를 삭제하여 복원이 완벽한지 확인합니다.
mysql> 데이터베이스 삭제 tecmint; 쿼리 확인, 1개 행이 영향을 받았습니다(0.02초).
데이터베이스 서버에서 데이터베이스 'tecmint'를 확인하십시오.
mysql> 데이터베이스 표시; ++ | 데이터베이스 | ++ | 정보 스키마 | | my_database | | mysql | | 성능 스키마 | | phpmyadmin | | 시소 | | 테스트 | ++ 세트의 7개 행(0.00초) mysql>
엄청난! 데이터베이스가 손실되었지만 걱정할 필요가 없습니다. 백업이 있습니다.
손실된 데이터베이스를 복원하려면 다음 명령을 실행합니다.
# mysql -u root -p tecmint < tecmint.sql. 암호 입력: 오류 1049(42000): 알 수 없는 데이터베이스 'tecmint'
웁스! 오류입니다. 데이터베이스를 생성하지 않았습니다. 텍민트. 따라서 mysql 프롬프트로 이동하여 데이터베이스를 생성하십시오.텍민트‘.
mysql> 데이터베이스 tecmint 생성; 쿼리 OK, 1행 영향(0.00초) mysql>
이제 쉘 프롬프트에서 복원 명령을 실행할 시간입니다(엄격히).
# mysql -u root -p tecmint < tecmint.sql 비밀번호 입력:
데이터베이스를 확인하십시오.
mysql> 데이터베이스 표시; ++ | 데이터베이스 | ++ | 정보 스키마 | | mysql | | 성능 스키마 | | 텍민트 | | 테스트 | ++ 8행 세트(0.00초)
데이터베이스의 내용을 확인합니다.
mysql> tecmint의 테이블 표시; ++ | Tables_in_tecmint | ++ | tecmint_table | ++ 세트(0.00초)의 1행 mysql>
복원된 테이블의 내용을 확인합니다.
mysql> tecmint_table에서 * 선택; +++++ | 아이디 | 이름 | 성 | 이메일 | +++++ | 1 | 라비 | 사이브 | [이메일 보호됨] | | 2 | 나라드 | 슈레스타 | [이메일 보호됨] | | 6 | 텍민트 | [닷컴] | [이메일 보호됨] | ++++ 3행 세트(0.00초)
이것은 확실히 끝이 아닙니다. 우리는 개념을 다룰 것입니다. 기본 키, 외래 키, 여러 테이블 그리고 쿼리 실행 간단한 사용 PHP 기사의 다음 부분에 있는 스크립트.
잊지 마세요 우리에게 말해, 기사를 읽으면서 느낀 점. 귀하의 의견을 높이 평가합니다. 머무르다 건강한 그리고 조정, 연결된 상태로 유지 테크민트.