>  기사  >  데이터 베이스  >  MySQL_MySQL에서 일반적으로 사용되는 기본 SQL 문 요약

MySQL_MySQL에서 일반적으로 사용되는 기본 SQL 문 요약

WBOY
WBOY원래의
2016-09-09 08:13:39936검색

1. 공통 명령어

로컬 데이터베이스와 원격 데이터베이스 연결(172.16.xx.xx:3306):

mysql -h localhost -u root -p123 
mysql -h 172.16.xx.xx -P 3306 -u root -p 

2.DDL

DDL(데이터 정의 언어)은 CREATE, ALTER, DROP, TRUNCATE, COMMENT 및 RENAME 문을 포함한 데이터베이스 스키마를 정의합니다.

만들기

create 문은 테이블을 생성합니다.

CREATE TABLE `device_label` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键-自增长ID',
`origin_model` varchar(64) COLLATE utf8_bin NOT NULL COMMENT '收集机型',
`origin_vendor` varchar(64) COLLATE utf8_bin NOT NULL COMMENT '收集厂商',
`vendor` varchar(32) COLLATE utf8_bin NOT NULL COMMENT '标注厂商',
`model` varchar(32) COLLATE utf8_bin NOT NULL COMMENT '标注品牌',
PRIMARY KEY (`id`),
UNIQUE KEY `device_key` (`origin_model`,`origin_vendor`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='设备标注表'; 
改(ALTER)

ALTER TABLE은 테이블의 구조를 변경하고 다음 작업을 지원합니다.

열 유형 및 열 이름 수정:

alter table device_label modify origin_model varchar(32);
alter table device_label change origin_model device_model varchar(16); 

열 추가:

alter table device_label add os_type varchar(8) COLLATE utf8_bin NOT NULL COMMENT '操作系统' after id; 

열 사이의 순서 수정:

alter table device_label modify os_type varchar(8) after origin_model; 

기본 키 수정:

alter table device_label drop primary key, add primary key (`origin_model`,`origin_vendor`); 

잘라내기

TRUNCATE는 테이블을 지웁니다. 이는 where 조건을 지정하지 않고 삭제하는 것과 같습니다.

device_label 자르기

3. DCL

DCL(데이터 제어 언어)은 GRANT 및 REVOKE 명령을 포함한 사용자 권한을 관리하는 데 사용됩니다.

부여

MySQL에는 매우 정밀한 권한 제어 기능이 있습니다.

•권한 세부 분류
•DB -> 테이블 -> 열, 권한 세분화
•제어 호스트(와일드카드 일치 가능)

hive 사용자를 생성하고 db1의 모든 테이블에 액세스할 수 있는 localhost 권한을 부여합니다.

CREATE USER 'hive'@'localhost' IDENTIFIED BY 'mypass';
GRANT ALL ON db1.* TO 'hive'@'localhost';
-- 可简写为
GRANT ALL ON db1.* TO 'hive'@'localhost' IDENTIFIED BY 'mypass'; 

특정 테이블에만 선택 권한을 부여할 수도 있습니다.

GRANT SELECT ON db2.invoice TO 'hive'@'localhost'; 

4.DML

데이터 조작 언어(DML)는 추가, 삭제, 수정(INSERT, UPDATE, DELETE, SELECT)을 포함한 데이터베이스 쿼리 및 업데이트를 표현하는 데 주로 사용됩니다.

삽입

행 데이터 추가:

insert into device_label (origin_model, origin_vendor, vendor, model)
values (
'h9', 'bbk', '步步高', 'H9'
); 

한 테이블을 다른 테이블로 복사:

insert into device_label_copy (`origin_model`, `origin_vendor`, `vendor`, `model`)
select `origin_model`, `origin_vendor`, `vendor`, `model`
from device_label; 

또한 MySQL은 로드 데이터를 통해 구조화된 일반 텍스트를 데이터베이스에 로드하는 것을 지원합니다.

load data local infile 'dvc-label.csv'
into table device_label
fields terminated by ','
ignore 1 lines
(origin_model, origin_vendor, vendor, model); 

ERROR 1148(42000) 오류가 발생하면 mysql --local-infile -u user -ppasswd 명령을 사용하여 mysql에 진입하세요.

업데이트(UPDATE)

열 값 업데이트:

update device_label 
set origin_model = 't2', origin_vendor = 'xiami'
where vendor = '锤子'; 

삭제

where 조건에 따라 행 삭제:

delete from device_label where origin_vendor = 'alps'; 

체크(SELECT)

표시된 모델이 10개 이상인 제조업체 쿼리:

select vendor, count(distinct model) as models
from device_label
group by vendor
having models > 10

위 내용은 편집자가 소개한 MySQL의 기본 SQL문을 요약한 것입니다. 궁금하신 사항이 있으시면 메시지를 남겨주시면 편집자가 답변해 드리겠습니다. 시간. 홈페이지에 대한 귀하의 지원에 진심으로 감사드립니다!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.