MySQL 입문(4)데이터 시트 의 데이터 삽입,업데이트,삭제
데이터 시트 의 삽입,업데이트,삭 제 는 매우 간단 하지만 간단 한 것 도 배 워 야 하고 세부 사항 은 성 패 를 결정 한다.
---WH
데이터 삽입
형식:INSERT INTO 표 이름(필드 이름...)VALUES(값...);
환경 만 들 기
person 표 사용 하기
CREATE TABLE person
(
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
name CHAR(40) NOT NULL DEFAULT '',
age INT NOT NULL DEFAULT 0,
info CHAR(50) NULL,
PRIMARY KEY(id)
);
1.1 표 의 모든 필드 에 데 이 터 를 삽입 합 니 다.
방식 1:INSERT INTO person(id,name,age,info)VALUES(1,'Green',21,'Lawyer');
방식 2:INSERT INTO person VALUES(2,'aaa',18,'MAN');
방식 3:INSERT INTO person(name,id,age,info)VALUES('bbb',3,17,'haha');
요약:
방식 1 과 방식 3 은 데 이 터 를 삽입 할 때 표 구조 중의 순서에 따라 하지 않 고 주어진 값 이 앞의 필드 이름과 일일이 대응 하면 된다 는 것 을 설명 한다.
방식 2 는 필드 이름 을 무시 할 수 있 음 을 나타 내 지만 그 값 은 표 구조의 필드 순서 와 같 아야 합 니 다.
이 세 가지 방식 으로 모든 필드 에 데 이 터 를 삽입 해도 됩 니 다.
1.2 표 의 지정 한 필드 에 데 이 터 를 삽입 합 니 다.
때때로 표 에 기록 줄 을 삽입 할 때 필드 값 이 모두 수 동 으로 삽입 되 어야 하 는 것 은 아 닙 니 다.id 가 자동 으로 증가 할 수도 있 고 어떤 필드 는 기본 값 을 사용 할 수도 있 습 니 다.값 을 삽입 하지 않 아 도 됩 니 다.이 럴 때 표 에 지정 한 필드 에 데 이 터 를 삽입 해 야 합 니 다.
INSERT INTO person(name,age,info) VALUES('Willam',20,'sports man');
여기 id 필드 가 부족 하지만 id 필드 는 AUTO 입 니 다.INCREMENT,우리 가 수 동 으로 값 을 삽입 하지 않 아 도 됩 니 다.
1.3 여러 개의 기록 을 동시에 삽입
형식:INSERT INTO 표 이름(필드 이름)VALUES(줄 값 1 기록),(줄 값 2 기록),...;
해석:즉,한 문장 에 여러 개의 기록 을 삽입 하 는 것 과 같 아서 매번 한 개의 데이터 만 삽입 할 필요 가 없다
INSERT INTO person(name,age,info) VALUES('qqq',19,'haha'),('eee',14,'heihei');//두 개의 데 이 터 를 삽입 합 니 다.
여러 개의 기록 을 동시에 삽입 할 때 세 개의 명사 Records 가 나타 납 니 다.삽 입 된 기록 줄 수 Duplicates:표 이름 이 삽 입 될 때 무시 되 는 기록 입 니 다.이 기록 들 은 중복 되 는 메 인 키 값 Warnings:문제 가 있 는 데이터 값 을 포함 하고 있 기 때 문 일 수 있 습 니 다.예 를 들 어 데이터 형식 변환 이 발생 하 는 것 입 니 다.위 에서 제시 한 것 은 2 개의 Records 인 데,확실히 두 개의 기록 수 를 삽입 한 것 이다.
1.4.조회 결 과 를 표 에 삽입 합 니 다.
어떤 때 는 한 장의 표 에 있 는 데 이 터 를 다른 표 로 옮 겨 야 할 수도 있 지만 한 개의 입력 기록 이 느 려 서 조회 결 과 를 표 에 삽입 합 니 다.즉,한 장의 표 에서 조회 한 결 과 를 모두 다른 표 에 한꺼번에 삽입 하면 편리 하지만 전제조건 도 있 습 니 다.그것 은 검색 결과 의 필드 개수 와 목표 표 에 삽 입 된 필드 개수 가 같 고 데이터 형식 도 같 아야 한 다 는 것 이다.구체 적 으로 아래 의 이 예 를 들 자.
위의 person 표 는 부족 합 니 다.지금 시 계 를 만 들 고 있 습 니 다.
CREATE TABLE person_old
(
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
name CHAR(40) NOT NULL DEFAULT '',
age INT NOT NULL DEFAULT 0,
info CHAR(50) NULL,
PRIMARY KEY(id)
);
두 개의 기록 을 늘리다
INSERT INTO person_id VALUES(11,'Harry',20,'studeng'),(12,'Beck',18,'polic');
이제 personold 표 의 모든 데 이 터 를 person 표 로 옮 깁 니 다.
INSERT INTO person(id,name,age,info) SELECT id,name,age,info FROM person_old;
이렇게 보면 id 중간 에 한 조각 이 끊 긴 것 같 습 니 다.사실은 id 필드 를 추가 하지 않 고 뒤의 세 필드 의 값 만 추가 할 수 있 습 니 다.
INSERT INTO person(name,age,info) SELECT name,age,info FROM person_old;
id 를 지정 하지 않 으 면 person 표 의 id 규칙 에 따라 AUTOINCREMENT,여기 AUTO 를 설명해 주세요.INCREMENT 의 원 리 는 표 에서 가장 큰 id 값 을 검사 한 다음 에 1 을 더 하면 할 때마다 가장 큰 id 값 이 얼마 인지 먼저 측정 합 니 다.
2.데이터 업데이트
형식:UPDATE 표 이름 SET 필드 이름=값,필드 이름=값...WHERE 조건;
설명:조건 을 통 해 데 이 터 를 업데이트 할 줄 의 기록 을 찾 은 다음 SET 필드 이름=값 과 같은 형식 으로 어떤 필드 를 변경 하고 왜 값 을 변경 할 지 작성 합 니 다.
UPDATE person SET name = 'xxx' WHERE name='aaa';//person 표 의 name=aaa 기록 줄 을 name=xxx 로 업데이트 합 니 다.
설명:원래 두 번 째 줄 의 기록 name=aaa.지금 xxx 로 바 꿨 어 요.여러 개의 값 을 동시에 바 꿀 수 있 습 니 다.꼭 이름 만 바 꾸 는 것 은 아 닙 니 다.홈 키 id 도 변경 할 수 있 습 니 다.홈 키 가 충돌 하지 않 으 면 아무 값 으로 나 변경 할 수 있 습 니 다.
UPDATE person SET id = 7 WHERE id = 14;//id=14 의 기록 줄 id 를 7 로 변경 합 니 다.
3.데이터 삭제
형식:DELETE FROM 표 이름[WHERE
설명:조건 이 없 으 면 표 의 모든 데이터 도 를 삭제 합 니 다.조건 이 있 으 면 조건 에 맞 는 기록 줄 을 삭제 합 니 다.
DELETE FROM person WHERE id = 13;//person 표 의 id=13 기록 줄 을 삭제 합 니 다.
DELETE FROM person;//person 표 의 모든 데이터 도 를 삭제 합 니 다.
4.종합 사례
아래 의 이 예 제 를 풀 고 싶 은 사람 은 해 볼 수 있 습 니 다.환경 은 이미 여러분 에 게 구축 하 는 것 을 가 르 쳤 습 니 다.이런 것들 은 비교적 간단 하기 때문에 저 는 여기 서 일일이 풀 지 않 겠 습 니 다.
4.1 실험 환경 구축
북 스 시트 만 들 기
CREATE TABLE books
(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(40) NOT NULL,
author VARCHAR(200) NOT NULL,
PRICE INT(11) NOT NULL,
pubdate YEAR NOT NULL,
note VARCHAR(255) NULL,
num INT NOT NULL DEFAULT 0
);
4.2 다음 표 의 노반 을 books 표 에 삽입 하고 서로 다른 방법 으로 기록 을 삽입 합 니 다.
4.2.1 모든 필드 이름 삽입 기록 지정
4.2.2 필드 이름 을 지정 하지 않 고 기록 을 삽입 합 니 다.
4.2.3 여러 개의 기록 을 동시에 삽입
4.3 소설 유형 novel 의 책 가격 증가 5
4.4.조 육 이라는 책의 가격 을 40 으로 바 꾸 고 재 고량 num 을 26 으로 바 꿉 니 다.
4.7.재고 가 5 인 기록 삭제
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.최근 redash에서 sql을 쓸 기회가 많고, 이런 쓰는 방법이 있었는지와 sql에 대해 공부를 다시하고 있기 때문에 배운 것을 여기에 씁니다. Redash란? 월별로 데이터를 표시하고 싶습니다 주별로 데이터를 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.