이 tutoriald를 추가하는 방법에 초점을 맞추고, 수정 및 삭제 데이터베이스에있는 테이블에서 데이터를 구조화 데이터 조작 언어를 사용합니다. 이 지식을하지 않고, 우리가별로 데이터베이스를 사용할 수 있나요; 그것은 정적 실체도없이 간단하게 목적을합니다.
첫 번째는 데이터베이스와 테이블을 만들 자고 같이 일하려면이 튜토리얼. 우리의 데이터베이스를 dmlexample라고 불릴 것이다, 그래서 나는 지금도를 만들 자고 다음과 같은 성명 :
mysql> 데이터베이스를 작성 dmlexample;
한 번 만들어, 우리는 우리가 소망을 지정할 필요가 실행하여 새 데이터베이스를 사용하여이 문장은 :
mysql> dmlexample를 사용;
콘솔을 우리에게 알려주는 데이터베이스가 변경되었습니다 이제;
|
|
지금은 우리가 우리의 데이터베이스 설정에 테이블을 만드십시오 실험을하자 전화를 sampletable합니다. 이 테이블은 다음과 같은 필드를 포함합니다 : 사용자 이름, 비밀 번호, 연령 전자 - 메일,과 날짜가 항목이 만들어집니다.
우리가 우리의 테이블을 만들 수있습니다 그러면 다음과 같은 ddl 성명 :
mysql> 테이블 만들기 sampletable (-> 사용자 이름을 텍스트, -> 비밀 번호를 텍스트, -> 나이 int, -> 이메일을 텍스트, -> datecreated 타임 스탬프를);
지금은 우리가 우리의 테이블을 만들어 우리가 이동하는 방법에 대해 살펴 봅시다 추가 행 (레코드)의 정보를 그것. 레코드를 추가하려면 테이블을, 우리의 삽입 명령을 사용해야합니다. 여기서는 단일 행을 추가하는 방법을 우리는 우리의 sampletable합니다.
mysql> 삽입할 sampletable 값 -> ( '앤드루', 'qwerty', 20, 'andrew@dreamcircle.co.uk', 0)
통지하는 방법을 알려주의 의견 행 하나의 콘솔에서 영향을받은되었습니다. 따라서, 우리는 우리의 sampletable 테이블에 한 행을 덧붙였다.
그런 다음 명령을 사용하여 전화를 할 수있는 데이터를 보려면 테이블에서 선택하십시오. 우리는 나중에이 명령에 대한 자세한 정보로 이동이 tutotial, 그것이 매우 중요하지만 지금은 우리는 그저 맹목적으로 사용합니다. 우리의 어떤 데이터가 어디 보자 dmlexample 테이블 :
mysql>을 선택 *에서 sampletable;
| 참고 사항 | datecreated 필드 통지 방법에 시간과 날짜를 반영 테이블에서 우리가 레코드를 추가합니다. 이것은 지정된 널 왜냐하면 우리는 우리가 입력된 경우의 행, 그리고하고 이것은 타임 스탬프 필드를 현재의 날짜와 시간을 잡은 다음에 시스템에서 기본적으로합니다. |
그것은 또한 여러 개의 레코드를 추가할 수있는 데이터를 하나의 명령을합니다. 이렇게 해보자 지금 우리의 테이블에 추가하여 또 다른 3 개의 레코드를 단일 삽입 명령을합니다. 이것은 다음과 같습니다 :
mysql> 삽입할 sampletable 값 -> ( '글렌', 'gimboid', 21, 'glenn@chopsewage.com', 0), -> ( '짐', 'letmein', 23, 'jim@email.net' , 0), -> ( '웨스', 'opensesame', 31 일, 'wes@email.net', 0);
보시다시피, 이번에는 3 개의 레코드의 의견 콘솔에서 영향을 받았다고에 따르면; 따라서, 우리는 우리의 테이블을 3 줄로 덧붙였다. 우리가를 선택 명령을 사용하여 다시 이것을 확인할 수있습니다 :
mysql>을 선택 *에서 sampletable;
이것이 실행되면, 당신은 이제 그 테이블을 참조하십시오 4 개의 행이 포함되어있습니다 (또는 레코드를, 당신이 원한다면)의 정보를합니다.
지금이 우리가 알고있는 테이블에 데이터를 추가하는 방법을 살펴 봅시다 기존의 테이블을 수정하는 방법에 대해 우리는 데이터를 이동합니다.
데이터를 수정하려면 테이블을, 우리는 명령이 업데이 트의 사용을 필요로합니다. 첫 번째 해보자 비밀 번호를 변경하려면 모든 테이블의 모든 레코드를 "changeme합니다." 이것은 다음과 같은 성명 성취 :
mysql> 업데이 트를 sampletable 비밀 번호를 설정 = 'changeme';
| 주의 사항 | 업데이트 명령 (뿐만 아니라 모든 구조화 질의어 명령을)은 매우 강력합니다. 무모하고 파괴하는 많은 데이터를 사용하실 수있습니다 간단한 실수를합니다. 거의 모든 검색어 적어도 하나는 어디 조건어야합니다. |
이 문장은 우리가 실행되면, 콘솔을 알려주는 4 개의 레코드가 영향을 받았다고로 비밀 번호를 바꿔 우리는이 테이블의 모든 행.
지금 우리가 볼 수있는 테이블에의 효과를 사용하여 명령을 선택하고, 다음과 같습니다 :
myql>을 선택 *에서 sampletable;
명백한 질문을 지금은, 만약 전 단지 하나의 행을 업데이 트하려면? 우리가 소망한다고 가정해 봅시다에서 비밀 번호를 변경하려면 글렌 changeme 위로 gimboid합니다. 우리는 다음과 같은 성명을 사용하여이 :
mysql> 업데이 트를 sampletable 비밀 번호를 설정 = 'gimboid'어디에 사용자 이름 = '글렌';
콘솔에서 우리는이 명령을 실행할 때, 우리에게 알려줍니다 영향을받는 행 하나되었습니다. 이것은 비밀 번호 입력란을 업데이 트하기 때문에이있는 경우에만 사용자 이름 필드는 글렌 같음. 만약 우리가 명령을 사용하여 테이블을 선택하십시오 이제, 우리만이 볼 수있습니다 글렌의 비밀 번호가 변경되었습니다.
우리가 우리를 활성화하는 데이 기술을 적용할 수있습니다 특정 분야에만를 업데이 트합니다. 예를 들어, 우리의 모든 비밀 번호를 바꿀 수있는 사람은 나이가 30이나 젊은합니다. 여기에 명령을 우리가 필요로 이렇게하려면 :
mysql> 업데이 트를 sampletable 비밀 번호를 설정 = '젊은'는 어디 연령 <= 30
우리는이 명령을 실행할 때, 그것은 우리에게 알려주는 3 개의 행에 영향을 받았다고로 우리 테이블에서 레코드 3 4 같음 또는 미만의 나이가 30.
| 팁 | 유용한 아이디어는 타임 스탬프 필드를 업데이 트하려면 널. 이것은 시간을 회수 시스템에서 최신 데이터베이스가 실행중인 (즉, 실제 사용 시간은 마지막으로 선수가 로그인을 참고). |
테이블에서 데이터를 제거하는이 완료 데이터를 업데이 트하는 방법은 매우 비슷합니다. 처음에 우리는 단일 행을 삭제하는 방법은 보라의 데이터를합니다. 어디 이제는 다음과 같은 성명을 사용하여 데이터베이스에서 삭제 글렌 :
mysql> sampletable는 어디에서 삭제 사용자 이름 = '글렌';
우리는이 명령을 실행할 때, mysql 콘솔 클라이언트가 우리에게 알려주는 하나의 레코드가 영향을받는 (즉, 삭제됨).
또 제표에 업데이 트와 같이, 우리는 우리를 삭제할 수 있도록 조건을 지정할 수있습니다, 예를 들어, 여러분이 30 세 미만합니다. 지금 시작하자 다음과 같은 성명 :
mysql> sampletable는 어디에서 삭제 연령 <30;
이 문장은 우리가 실행되면 고객은이 두 개의 레코드를 알려주는 영향을받는가, 또는이 경우에는, 삭제합니다. 만일 우리가 지금 우리의 테이블을 사용하여 명령을 선택하고, 우리는 하나 밖에 보이지 행이 테이블에서 왼쪽으로합니다.
마지막으로, 그것은 수도있습니다 테이블에서 레코드를 모두 삭제하려면는 하나의 성명. 모든 조건을 지정할 수없는 우리가해야 할 일은, 우리 모두의 비밀 번호 입력란을 언제 changeme 우리가 업데이 트되었습니다. 여기서는 성명을 테이블에서 해당 행을 모두 삭제합니다 (즉, 하늘로 테이블).
mysql>에서 삭제 sampletable;
보시는 것처럼 테이블에 지금에 아무런 정보가없습니다.
지금까지, 우리는 간단하게 다음과 같은 명령을 사용하여 우리의 sampletable 테이블의 데이터를 모두 표시하려면 :
mysql>을 선택 *에서 sampletable;
이것은 실제로 필드에서 가져오는 sampletable 테이블의 모든 이들과 재방 문합니다. *은 와일드 카드, 즉 아무것도 기본적으로 그것을 나타냅니다 (또는이 경우에는, 모든 필드).
더 이상 우리는 안으로 성명을 선택하기 전에, 우리의 첫 실험을 추가로 일부 데이터가 우리의 sampletable 테이블을합니다. 삽입하기 위해 다음과 같은 성명을 사용 일부 데이터 :
mysql> 삽입할 sampletable 값 -> ( '앤드루', 'qwerty', 20, 'andrew@dreamcircle.co.uk', 0), -> ( '앤드루', 'letmein', 27 일, '앤드류 @ 이메일을합니다. 그물 ', 0), -> ('조지 ','신문 ', 19,'george@email.net ', 0), -> ('제니 ','jen999 ', 27 일,'jen@email.net ' , 0), -> ( '산드라', 'sdra2', 27 일, 'sandra@email.net', 0); 지금은 우리가 우리의 데이터를 추가한 테이블, 만약 우리가 와일드 카드를 사용하여 명세서를 선택하십시오 (*)와 우리가하고있었습니다 전에, 그것은 모든 정보를 검색하고, 테이블을 표시합니다 콘솔합니다. 지금은 다음과 같은 성명 해보자.
mysql>을 선택 *에서 sampletable;
보시다시피,이 성명서는 테이블에서 모든 정보를 카테고리 (즉, 모든에 포함된 행과 열의 각 부분의 모든 행).
를 검색한다고 가정해 봅시다는 우리가 원하는 모든 비밀 번호 입력란합니다. 의 모든 비밀 번호를 얻을 sampletable 테이블에서, 우리는 다음과 같은 성명을 사용합니다 :
mysql> 비밀 번호를 선택하십시오에서 sampletable;
통지 방법을 간단하게 와일드 카드 (*)로 교체합니다 칼럼 우리가 소망을 검색합니다. 우리가 여러 열을 검색할 수있습니다을 구분하는 쉼표를 사용하여 그들을합니다. 사용자 이름을 해보자 열의와 비밀 번호를 모두 선택하려면 열에만합니다. 여기에 성명이 필요합니다 :
mysql>을 선택 사용자 이름, 비밀 번호를 sampletable;
이 문장은 우리가 실행되면, 우리는 콘솔에서 볼 수있습니다의 사용자 이름과 비밀 번호 입력란만이 테이블에서 선택되었습니다.
지금부터 우리가 알고있는 개별 필드를 검색하는 방법의 테이블, 어떻게 우리가 하나의 행을 검색할? 우리는이 상황을 쉽게 적용할 수있습니다 명세서를 선택하십시오처럼, 우리가 언제부터 우리가를 업데이 트하는 테이블과 테이블을 삭제합니다. 를 사용하여 조건을 선택 성명을하자 제니의 정보를 데이터베이스에서에만 표시됩니다. 여기에 성명이 필요합니다 :
mysql> sampletable는 어디에서 선택 * 사용자 이름 = '제니';
이 문장은 우리가 실행되면, 오직 제니의 상세 정보가 표시됩니다 mysql 클라이언트 콘솔에서합니다.
우리의 생각이 반영 수도있습니다 지정된 필드를 선택합니다. 실용적인 사례를 찾을 이것은 사용자 이름과 관련된 비밀 번호를합니다. 여기가 어떻게 우리가 얻을 조지의 비밀 번호가 소유하고있습니다 :
mysql> sampletable는 어디에서 비밀 번호를 선택하십시오 사용자 이름 = '조지';
이 문장은 우리가 실행되면, 우리는 단지 하나의 필드를 볼 수있습니다가 표시되면에 어떤 일이 일어 조지의 비밀 번호를합니다.
| 참고 사항 | 우리가 특정 분야를 지정,이 예에서, 우리는 이에 국한되지 않음을 선택하여 필드에서 사용하기 위해 그것은 우리는 어디에 '조항을합니다. |
의 샘플 데이터, 사용자 이름은 앤드루 레코드를 두개있다. 조건부 성명을 사용하려고 할 경우를 얻기 위해 비밀 번호를 앤드류는, 우리는 실제로 2 개의 비밀 번호를, 하나는 데이터베이스에있는 각각의 앤드루 입국합니다. 지금은 단지에 대한 증거를 해보자. 그게 바로 우리가 필요한 명세서는 다음과 같습니다 :
mysql> sampletable는 어디에서 비밀 번호를 선택하십시오 사용자 이름 = '앤드류';
이 문장은 우리가 실행되면, 우리는 2 개의 비밀 번호를 가지고있다는 것을 볼 수있습니다 콘솔에 표시합니다.
| 참고 사항 | 중복의 결과에서 삭제될 수있습니다 별개의 옵션을 사용하여합니다. 예를 들면 : 별개의 사용자 이름을 선택하십시오에서 sampletable합니다. |
하자 같은 방법을 보라는 명령을 우리가 필요로하는 정보를 찾는 데 도움을 줄 수합니다. 문자열을 찾는 것처럼 사용에 이상적입니다 데이터베이스, 특히 만약 여러분의 완전한 문자열의 한 부분 밖에 없다 (즉,이 검색 엔진에). 예를 들어, 우리가 소망한다고 가정해 봅시다 데이터베이스에있는 사람을 찾아 제이 편지로 시작하는 이름 이것을 달성하기 위해, 우리는 다음과 같은 성명이 필요합니다 :
mysql> sampletable는 어디에서 사용자 이름을 선택 * 같은 '제이슨 %';
여기에 통지 카테고리는 어떻게 제니가로 그녀의 사용자 이름은 유일하게 제이를 시작하려면 와일드 카드와 함께 사용할 경우의 %를 나타냅니다 같은, 그래서 만약 우리가 다음과 같은 성명 대신 사용됩니다 :
mysql> sampletable는 어디에서 사용자 이름을 선택 * 같은 '% 제이슨 %';
... 편지 제이슨 문자열을 어디에 게재될 수있습니다. 또한, 유의 단일 문자를 이상 보유할 수있습니다 :
mysql> sampletable는 어디에서 사용자 이름을 선택 * 같은 '% nny';
이것은 검색의 모든 사람들은 이름이 마지막으로 텍스트 "nny합니다." 마지막으로, 우리가 사용되는 경우 다음과 같은 성명 :
sampletable에서 사용자 이름을 같은 위치를 선택 * '% nny %는';
... 그것은 회수가 포함된 모든 행을 "nny"를 자신의 이름, 그러나 그 이름은 종료하려면 "를"합니다.
Online: 793 users browsing the articles directory
|
|