집('동물원')에 애완동물이 많고 애완동물에 대한 다양한 유형의 정보를 추적하고 싶다고 가정해 보겠습니다. 테이블을 생성하고 필요한 정보를 로드하여 데이터를 저장할 수 있습니다. 그런 다음 테이블에서 데이터를 검색하여 다양한 유형의 동물에 대한 질문에 답할 수 있습니다. 이 섹션에서는 다음 작업을 모두 수행하는 방법을 보여줍니다.
·데이터베이스 생성
·데이터베이스 테이블 생성
·데이터베이스 테이블에 데이터 로드
·각각 테이블에서 데이터를 가져오는 방법
· 다중 테이블 사용하기
동물원 데이터베이스는 (의도적으로) 간단하지만 유사한 데이터베이스가 있는 실제 상황이라고 생각하면 어렵지 않습니다. 사용될 수도 있습니다. 예를 들어, 농부는 이러한 데이터베이스를 사용하여 가축을 추적할 수 있고, 수의사는 이를 사용하여 아픈 동물 기록을 추적할 수 있습니다. 이후 장에서 사용될 일부 쿼리와 샘플 데이터가 포함된 Zoo 배포판은 MySQL 웹사이트에서 구할 수 있습니다. tar 압축 형식(http://downloads.mysql.com/docs/menagerie-db.tar.gz)과 Zip 압축 형식(http://downloads.mysql.com/docs/menagerie-db.zip)이 있습니다.
SHOW 문을 사용하여 현재 서버에 어떤 데이터베이스가 있는지 알아보세요.
mysql> SHOW DATABASES; +----------+ | Database | +----------+ | mysql | | test | | tmp | +----------+
아마도 컴퓨터에 있는 데이터베이스 목록은 다를 수 있지만 mysql과 테스트 데이터베이스. mysql은 사용자 액세스 권한을 설명하기 때문에 필요하며, 테스트 데이터베이스는 사용자가 자신의 기술을 시험해 볼 수 있는 작업 공간으로 자주 사용됩니다.
SHOW DATABASES 권한이 없으면 모든 데이터베이스를 볼 수 없다는 점에 유의하세요.
테스트 데이터베이스가 존재하는 경우 액세스해 보십시오.
mysql> USE test Database changed
QUIT와 마찬가지로 USE에는 세미콜론이 필요하지 않습니다. (원한다면 이러한 명령문을 세미콜론으로 끝낼 수 있습니다. 괜찮습니다.) USE 명령문에는 또 다른 특별한 기능이 있습니다. 즉, 한 줄에 입력해야 합니다.
나중 예제에서 테스트 데이터베이스를 사용할 수 있지만(액세스 권한이 있는 경우) 해당 데이터베이스에 생성한 모든 내용은 액세스하는 다른 사람이 삭제할 수 있으므로 MySQL 관리자에게 라이센스를 요청해야 합니다. 자신의 데이터베이스를 사용합니다. 동물원을 호출하고 싶다면 관리자가 다음 명령을 실행해야 합니다.
mysql> GRANT ALL ON menagerie.* TO 'your_mysql_name'@'your_client_host';
여기서 your_mysql_name은 귀하에게 할당된 MySQL 사용자 이름이고 your_client_host는 연결된 서버가 있는 호스트입니다.
권한을 설정할 때 관리자가 데이터베이스를 생성한 경우 해당 데이터베이스를 사용할 수 있습니다. 그렇지 않은 경우 데이터베이스를 직접 생성해야 합니다.
mysql> CREATE DATABASE menagerie;
Unix에서는 데이터베이스 이름이 SQL 키워드와 달리 대소문자를 구분하므로 데이터베이스 항상 Menagerie, MENAGERIE 또는 기타 변수가 아닌 전시장으로 액세스해야 합니다. 테이블 이름도 마찬가지입니다. (Windows에서는 주어진 쿼리에서 데이터베이스와 테이블을 참조하기 위해 동일한 대소문자를 사용해야 하지만 이 제한 사항은 적용되지 않습니다. 그러나 여러 가지 이유로 모범 사례로서 항상 데이터베이스를 참조할 때와 동일한 대소문자를 사용하는 것이 좋습니다. 와 같은 경우입니다.)
데이터베이스를 생성한다는 것은 데이터베이스를 선택하여 사용한다는 의미가 아니라 명시적으로 수행해야 합니다. 동물원을 현재 데이터베이스로 만들려면 다음 명령을 사용하세요.
mysql> USE menagerie Database changed
데이터베이스는 한 번만 생성하면 되지만, mysql 세션을 시작할 때마다 사용하기 전에 선택해야 합니다. 위의 예를 기반으로 USE 문을 실행하면 이 작업을 수행할 수 있습니다. mysql을 호출할 때 명령줄을 통해 데이터베이스를 선택할 수도 있습니다. 연결 매개변수를 제공한 후에 데이터베이스 이름만 지정하면 됩니다. 예:
shell> mysql -h host -u user -p menagerie Enter password: ********
방금 표시된 명령줄의 동물원은 귀하의 비밀번호가 아닙니다. -p 옵션 뒤에 명령줄에서 비밀번호를 제공하려는 경우 공백을 삽입할 수 없습니다(예: -p mypassword가 아니라 -pmypassword에서와 같이). 그러나 명령줄에 비밀번호를 입력하는 것은 권장되지 않습니다. 이렇게 하면 컴퓨터에 로그인한 다른 사용자에게 비밀번호가 노출될 수 있기 때문입니다.