이 자습서를 보여줍니다 기본적인 문법과 명령 및 구조화 언어를합니다.
첫 번째, 어디 보자 mysql 서버에서 어떤 데이터베이스에 이미 존재합니다. 우리는이 정보를 사용하여 볼 수있는 명령을 표시합니다. 다음과 같이 입력하십시오 (을 제외하고 mysql> 부분)을 mysql 콘솔 클라이언트, 다음에 반환 :
mysql> 쇼 데이터베이스;
두 개의 데이터베이스가 이미 mysql 서버에 만들어집니다. the mysql 데이터베이스에 포함되어 관리에 대한 정보가 mysql 서버와해서는 안으로 바뀌었습니다. 다른 데이터베이스, 테스트,이 정확히 무슨 일이 같다 : mysql 서버에 대한 테스트를합니다. 테스트 데이터베이스를 포함하지 않습니다 아무것도, 그리고 필요한 경우 안전하게 제거할 수있습니다.
그래서 어떻게 우리가 우리 자신의 데이터베이스에 추가 mysql 서버? 이렇게하려면 우리가 사용하는 명령을 생성합니다. 하자라는 말은 우리가 원하는 데이터베이스를 만들 mydata; 우리는 다음 구문을 사용합니다.
| 참고 사항 | 의 길이와 문자 제한 사항은 다음의 표는의 이름을 부과하는 데이터베이스, 테이블, 열 및 별칭합니다. |
| 식별자 | 최대 길이 | 유효한 문자 |
|---|---|---|
| 데이터베이스를 | 64 | 올바른 디렉토리 이름 문자를 모두 제외하고 "합니다." 와 "/". |
| 테이블 | 64 | 올바른 디렉토리 이름 문자를 모두 제외하고 "합니다." 와 "/". |
| 칼럼 | 64 | 모두가 유효합니다. |
| 별칭 | 15 | 모두가 유효합니다. |
mysql> 데이터베이스를 작성 mydata;
|
|
통지는 각 명령을 세미콜론가 추가됩니다 구조화 언어 후에합니다. 우리가이 명령을 입력한 후 반환 언론, 쿼리가 좋아하는 우리들의 콘솔 통보합니다.
지금은 우리가 만든 데이터베이스, 할 수 있는지 확인을 다시하여 서버에서 그것은 쇼를 사용하여 명령을 다음과 같습니다 :
mysql> 쇼 데이터베이스;
이 명령은 우리가 기자와 함께 제공될 때, 우리는 우리의 데이터베이스를 볼 수있습니다 목록에 추가되었습니다 (참고 사항의 목록은 알파벳 순서가 아니라 데이터베이스가 만들어 순서를)합니다.
이제 우리는 데이터베이스 서버에서 제거됩니다. 참고 : 우리가 이런 일을하는 경우, 모든 데이터를 (해당되는 경우)가 유실됩니다. 데이터베이스를 제거하려면, 우리는 "드롭"이것은 서버에서 드롭 다운 메뉴를 사용하여 명령을합니다. 그래서 우리의 새로운 mydata을 떨어뜨릴 데이터베이스, 우리는 다음과 같은 명령을 사용합니다 :
mysql> 드롭 데이터베이스를 mydata;
우리는이 명령을 실행할 때 반환을, 쿼리가 보고될 좋아합니다.
이제 다시는 만약 우리가 사용하는 데이터베이스의 목록을 보여 명령 :
mysql> 쇼 데이터베이스;
... 우리는 우리가 mydata 데이터베이스는 더 이상 볼 수있습니다 목록에 표시합니다.
내 데이터베이스의 테이블을 만드는 논의하기 전에, 지금은 좋은 시간을 언급은 할 수있을 것 테이블에서 서로 다른 컬럼 형식이 들어있습니다.
테이블에 각 열에 할당되어야합니다 유형을 나타내는 필드가되는 정보의 유형을 유지하려고합니다. 사용할 수있는 형식의 전체 목록은 다음과 같습니다를 사용할 수있습니다 :
| 유형 | 설명 |
|---|---|
| tinyint | 아주 작은 정수합니다. 서명 범위는 255의 127. 서명되지 않은 범위가 0에서 255 사이합니다. |
| smallint | 작은 정수합니다. 서명 범위는 -32768하여 32,767합니다. 서명되지 않은 범위가 0에서 65,535 사이합니다. |
| mediumint | 중간 크기의 정수합니다. 서명 범위는 -8388608가 8,388,607합니다. 서명되지 않은 범위가 0에서 16,777,215까지합니다. |
| int | 정상적인 크기의 정수합니다. 서명 범위는 -2147483648을 2,147,483,647합니다. 서명되지 않은 범위가 0에서 4,294,967,295까지합니다. |
| bigint | 큰 크기의 정수합니다. 서명 범위는 -9223372036854775808을 9223372036854775807합니다. 서명되지 않은 범위가 0에서 18,446,744,073,709,551,615까지합니다. |
| 몰수 | 소형, 단일 - 정밀 부동 - 소수점 숫자 서명이 될 수없습니다. 서명 범위는 - 38을 3.402823466e - 1.755494351e - 38, 0, 그리고 1.755494351e - 38을 3.402823466e 38. |
| 이중 | 이중 - 정밀 부동 - 소수점 숫자 서명이 될 수없습니다. 서명 범위가 - 308을 1.7976931348632157e - 2.2250738585072014e - 308, 0, 그리고 2.2250738585072014e - 308을 1.7976931348632157e 308. |
| 소수점 | an 풀었 부동 - 소수점 숫자 서명이 될 수없습니다. 처럼 작동 "숯"열에있는 숫자는 문자열로 저장됩니다 (즉, 각 번호를 사용합니다 문자를 하나의 문자열). |
| 날짜 | 데이트를합니다. 범위는 1000년 1월 1일의 형식으로하여 9999년 12월 31일는 yyyy - mm - dd합니다. |
| 시간 | 약간의 시간이합니다. 범위는 -838:59:59의 형식을 838:59:59과이 대두 : mm : 잠수함합니다. |
| 날짜 | 날짜와 시간의 조합을합니다. 범위는 9999년 12월 31일 21시 59분 59초을 1000년 1월 1일 00:00:00 그리고 yyyy - mm - dd의 형식은 대두 : mm : 잠수함합니다. |
| 연도 [(2 | 4)] | 일년에 2 - 또는 4 - 자릿수 형식 (기본값은 4). 범위는 1천9백1부터 2천1백55까지 또한 0000. |
| 타임 스탬프를 | 타임 스탬프합니다. 범위는 2037 년 1970년 1월 1일 00:00:00를 배워 yyyymmddhhmmss의 형식으로합니다. |
| 숯 (길이) | 고정 - 길이 문자열이 항상 옳은 - 패드가 저장 공간을 지정된 길이 때. 1부터 2백55까지에 따라 문자의 범위는 "길이"지정합니다. |
| varchar | 변수 - 길이 문자열을합니다. |
| tinyblob / tinytext | 작은 이진 개체를합니다. 최대 길이는 255 문자를합니다. * 아래 표 참조 참고합니다. |
| 무늬 / 텍스트 | 이진 개체를합니다. 최대 길이 65535 문자를합니다. * 아래 표 참조 참고합니다. |
| mediumblob / mediumtext | 매체를 이진 개체를합니다. 의 최대 길이 16777215 문자를합니다. * 아래 표 참조 참고합니다. |
| longblob / longtext | 대형 바이너리 개체를합니다. 의 최대 길이 4294967295 문자를합니다. * 아래 표 참조 참고합니다. |
| enum ( 'val1', 'val2 '...) | an 열거합니다. 단 하나의 문자열 값의 목록을 선택하실 수있습니다. 최대 65535 별개의 값. |
| 세트 ( 'val1', 'val2 '...) | 한 세트. 문자열 개체가 0 개 이상의 값을 가질 수있습니다, 각각의 목록에서 선택해야합니다 (즉, 'val1', 'val2', 등등). 최대 64 문자를합니다. |
| 참고 사항 | 유일한 차이점은 무늬와 텍스트 유형은 정렬 및 비교, 무늬는 케이스 - 민감한 반면 텍스트 유형이없는 경우 - 민감합니다. |
지금이 우리가 알고있는 우리의 테이블을 열 수있는 유형을 살펴 봅시다 테이블을 만드는 방법에 대해 우리가 어떻게 실제 이동합니다.
우리가 소망한다고 가정해 봅시다 일부 사용자 세부 사항을 만들려면 내에있는 데이터베이스 테이블을 개최합니다.
우리가 원하는 사용자의 제목을 저장하기 위해 이름, 이름, 성, 연령 전자 - 메일 주소, 그리고 데이터베이스에의 날짜는 사용자가 추가되었습니다. 그래서 우리는 다음과 같은 항목이 필요합니다의 테이블 :
제목 이름 성 연령 dateadded 이메일 주소
그것을 추가하는 방법을 실제 연습에 들어가기 전에, 우리의 첫 번째 생각에 정보를 저장하는 방법을거야 - 이상을 말하면, 각각의 컬럼에 대한 어떤 종류가 필요합니다.
에 대한 제목, 첫 번째 이름, 성, 우리는 텍스트 종류를 사용할 수있습니다로 많은 문자를 포함합니다에 대한 모든 가능성을 허용합니다.
| 참고 사항 | varchar 속도가 더 나은 선택을 할 수있는 경우 문자열 길이는 255 문자 이하로 제한합니다. |
에 대한 연령, 서명되지 tinyint 명백한 될 선택을하고 나이가 숫자로 지금까지 아무도 라이브를하는 것으로 알려져 과거의 255. 으로 활용한다 - 메일 주소를 다시 할 수있는 텍스트 형식을 사용하므로 실질적인 스토리지 공간을 알려주 주소합니다. 마지막으로, 사용자가 입력된의 날짜가 테이블에, 우리는 타임 스탬프를 사용할 수있습니다.
| 참고 사항 | 와 자바, 그것은 int를 사용하는 데이터를 입력하고 저장할 수있습니다 system.currenttimemillis () / 1000 값으로합니다. 나중에이 값이 될 수있습니다 데이터베이스에서 취득합니다. 그런 다음 1000 및 변환하여 그것을 곱해의 날짜를 입력 (예, 날짜 = 새로운 날짜 (값);). 이것은 일을 현지화 때 유용합니다 및 / 또는 전환 사이에 서로 다른 데이터베이스에 |
큰 재산의 타임 스탬프도 시간과 날짜를 데이터베이스에 자동으로 검색할 수있습니다.
지금이 우리가 알고있는 우리의 컬럼에 대한 어떤 종류 우리가 원하는, 우리는 데이터베이스를 추가하는 테이블을 만들 필요로합니다. 하자 데이터베이스를 만들려면 다음과 같은 명령을 부르는 myinfo :
mysql> 데이터베이스를 작성 myinfo;
우리는이 명령을 실행할 때, 본체가해야하는 보고서 검색어가 좋아합니다. 우리는 이제 우리의 데이터베이스가 만들어졌습니다 확인하고 다음과 같은 명령 :
mysql> 쇼 데이터베이스;
이제 우리에게 말할 필요가있다 mysql myinfo 우리가 작업을 수행하려면 데이터베이스를 소망합니다. 이것은 성취의 사용을 사용하여 명령 :
mysql>를 사용 myinfo;
| 참고 사항 | 를 사용하지 않고, 모든 테이블에 myinfo 데이터베이스를 myinfo.mytable로 추천해야한다, 어떤는 물론 매우 불편합니다. |
이 명령을 실행한 후, 어떤 ddl (데이터 정의 언어) 및 dml (데이터 조작 언어)에 영향을 미치지는 데이터베이스에서 실행되는 진술을 사용, 어떤이 경우에는 데이터베이스는 우리의 myinfo합니다.
지금은 우리가 우리의 데이터베이스를 설정하고 명령을 받아들일 준비가되어, 우리는 우리의 테이블을 만들 수있습니다 (이 우리가 이름을 userinfo)에 다음과 같은 성명 :
mysql> 테이블 만들기 userinfo (-> 식별 int auto_increment, -> 제목 텍스트, -> 이름 텍스트, -> 성 텍스트, -> 나이 tinyint, -> 이메일을 텍스트, -> dateadded 타임 스탬프, -> 기본 키 (식별)) ;
| 참고 사항 | auto_increment는 표준 구조화 옵션을합니다. mssql (마이크로 소프트 구조화)이 비슷한 옵션과 아저씨두 postgre,하지만 오라클하지 않습니다 이것을 할 수있는 방법을이 테이블 만들기 옵션을합니다. 시퀀스 및 트리거를 완료해야합니다. |
약간의 휴식 시간이 들어갑니다 봅시다 무슨 일이 일어나고 그래서 우리가 볼 수있다. 처음에 우리는 우리가 소망을 선포를 입력하여 테이블을 만들려면 테이블을 생성합니다. 다음 우리는 우리가 원하는 이름을 지정하십시오를 호출하는 테이블을;이 경우, 그 이름은 userinfo합니다. 다음을 포함하여 우리는 괄호를 사용하는 모든 컬럼에서 우리는 우리의 테이블과 간단하게 목록을 필요로의 모든 열 이름과 유형을 우리가 필요로합니다. 참고 : 엑스트라 필드 추가했습니다 이름을 식별하는 방법. 마지막으로, 참고로 기본 키 이외의 마지막 매개 변수를합니다. 이것을 사용하여 최적의 방법을 결정합니다 이내에이 테이블은 데이터베이스를합니다.
우리는 이제 우리의 테이블을 확인하고 다음과 같은 명령을 실행하여이 성공적으로 만들어졌습니다 :
mysql> 쇼 테이블;
참고 : 테이블에 열을보기도 수행할 수있습니다을 사용하여 다음과 같은 명령 :
mysql> 묘사 userinfo;
이 명령을 실행하면, 각각의 콘솔에 대한 세부 정보가 표시됩니다의 모든 userinfo 테이블의 열을합니다.
이 정보는 모두에 대해 유용할 수있습니다 테이블을 만들었 확보로 여겼습니다대로 테이블에 열을를 주시고 나중에 포함되어있습니다.
그래서 지금이 우리가 알고있는 테이블을 만드는 방법을 살펴 봅시다 그것을 수정하는 방법에 대해 우리가 이동합니다. 테이블을 수정의 범위는 간단하게 변경할 수있습니다의 유형 중 하나의 칼럼을 추가하는 완전히 새로운 열 (또는 제거하는 기존의 열).
첫 번째 볼 보자의 이름을 우리가 어떻게 기존의 컬럼을 변경합니다. 우리의 userinfo 테이블에서, 우리는 이름이라는 칼럼,하지만 우리는 이제 이것을 읽고 변경 사항 forename, 사람의 첫 번째 이름에 대한 동의어입니다.
이와 같이 변경하려면, 우리는 다음과 같은 구문을 사용해야합니다 :
mysql> forename 텍스트를 변경할 테이블 이름을 변경 userinfo;
| 팁 | 그것은 매우 권장을 위해 디자인은 데이터베이스를 작성하기 전에 항상 생각하기 때문에 문제가있을 수있습니다 수정 / 변경 데이터베이스 테이블이나 구조를 데이터를 삽입 후 테이블에있다. |
참고 : 우리는 또한 데이터 유형을 제공해야합니다 칼럼뿐만 아니라 옛과 새 이름을합니다.
만약 우리가 userinfo 테이블을 설명하는 다음과 같은 명령 :
mysql> 묘사 userinfo;
... 우리의 열 이름을 볼 수있습니다 이름을 forename되었습니다.
우리의 데이터 유형을 변경할 수도있습니다 열에 테이블을합니다. 우리가 원하는 가정해 봅시다 tinyint에서 열 수있는 나이를 변경하는 int. 우리는 다음과 같은 명령을 사용합니다 :
mysql>을 변경할 테이블을 수정 userinfo 연령 int;
이 명령을 실행한 후, 만약 우리가 설명하는 테이블, 우리가 볼 수있는가 int의 종류가 변경되었습니다.
마지막으로, 그것은 좋은을 알고 테이블에서 필드를 제거하는 방법 (예를 들어, 만약 그들은 더 이상 필요). 이제 더 이상 우리가 필요로하는 봅시다 - 메일을 필드에있는지를 우리의 userinfo 테이블을합니다. 우리가하고 싶지는 "드롭"그 분야의 테이블을합니다. 여기가있는지를 - 메일을 필드의 구문을 제거합니다.
mysql>을 변경할 테이블을 userinfo 드롭 이메일;
이 명령이 실행되면, 우리는 테이블에 다음과 같은 명령을 설명합니다 :
mysql> 묘사 userinfo;
데이터베이스에서 테이블을 제거하는 작업은 매우 간단합니다,하지만주의하지 않고 비참한 영향을 쓸 수있습니다. 이 때 중요한 것을 참고 떨어지는것을 테이블, 또한 테이블 내에 포함된 모든 데이터를 잃게합니다. 따라서, 그것은 항상 실행하기 전에 데이터베이스를 백업하는 현명한 어떤 드롭 명령을합니다.
지금 보라를 버려라하자 userinfo 테이블에 우리가 어떻게 우리의 myinfo 데이터베이스를합니다. 이렇게하려면 다음과 같은 명령을 실행해야합니다 mysql 콘솔에서 클라이언트를합니다.
| 참고 사항 | 테이블을 삭제할 수없습니다 실제 관계가있는 경우에 다른 테이블의 무결성을 깰 수있는 데이터베이스를합니다. 만약 관계가 없다 "레알,"테이블을 오류없이 삭제될 수있습니다,하지만 타협의 무결성는 그 다음. 조심하지 않으면 관리자는 데이터베이스를 영구적으로 손상 수있습니다. mysql> 드롭 테이블 userinfo; |
이 명령이 실행되면, 우리는 확인할 수있는 테이블이 삭제되었습니다 나열하여 우리의 어떤 테이블은 현재 다음과 같은 명령을 실행하여 데이터베이스를 myinfo :
mysql> 쇼 테이블;
데이터베이스에있는 테이블에 더 이상 존재하지 않습니다.
Online: 618 users browsing the articles directory
|
|