집 >데이터 베이스 >MySQL 튜토리얼 >Mysql 관련 지식 요약
일반적으로 일반 프로그래머나 DBA는 코드를 입력할 때 갑자기 다음과 같은 일련의 질문을 떠올립니다. 나는 누구인가? 내가 뭘 하고 있는 거지? 내 데이터베이스는 어디에 있나요? 내 테이블을 어떻게 만들었나요? 어떻게 해야 하나요? SHOW DATABASES 명령을 생각할 수도 있습니다. 하지만 이 명령은 mysql에서 관리하는 데이터베이스를 나열하는 명령이므로 내가 어디에 있는지 알 수 있는 명령은 아닙니다. 어떤 명령인가요?
내 누군가가 고대 고전을 검색할 때 다음 명령을 발견했습니다.
SELECT DATABASE();
mysql> SELECT DATABASE();
+--------- ----+
| DATABASE() |
+----------------+
| 테스트 |
+----------------+
1행 set (0.00 sec)
mysql>
분명히 이것은 내가 어느 데이터베이스에 있는지 알려주는 명령입니다. 그러면 다음과 같은 질문을 하는 젊은 그룹이 분명히 있을 것입니다. 데이터베이스를 입력하지 않으면 무엇이 표시되나요?
mysql> SELECT DATABASE();
+---+
| DATABASE() |
+------------ --+
| NULL |
+----------------+
1행(0.00초)
mysql>
물론 NULL입니다. 그럴까요?
이제 우리가 사용하고 있는 데이터베이스(테스트)를 찾습니다. 그러면 (애완동물) 등 원하는 테이블을 찾아보면 됩니다. 고대 서적의 기록에 따르면 다음 명령을 사용해야 합니다:
SHOW TABLES;
mysql> SHOW TABLES;
+----------------+
| 이벤트 )
mysql>
+---------+------------+------+ ---+---------+-------+
| 필드 유형 | Null 키 |+---------+ -------------+------+-----+---------+-------+
| (20) | NULL | varchar(20) | NULL | | 사망 | 날짜 | NULL ----+------+------+---------+-------+ 6개 행( 0.00초)
mysql>
이전 드라이버는 일반적으로
DESC pet로 축약합니다.
-> 가격 DOUBLE(16,2) DEFAULT '0.00' NOT NULL,
-> PRIMARY KEY(기사, 딜러));쿼리 확인, 0개 행이 영향을 받음(0.56초) )
mysql>
그런 다음 일부 데이터를 삽입하세요:
mysql> INSERT INTO shop VALUES
-> (1,'A',3.45),(1,'B',3.99),(2,'A' ,10.99),(3 ,'B',1.45),
-> (3,'C',1.69),(3,'D',1.25),(4,'D',19.95);
쿼리 확인, 7개 행이 영향을 받았습니다(0.24초)
기록: 7 중복: 0 경고: 0
mysql> SELECT * FROM shop;
+---------+---------+-------+
|딜러 가격 |
+--- ------+-------+
| 0001 | 3.99 |
| 0003 | 1.45 |
| 0003 | 19.95 |
+------ +-------+
7 행 세트(0.00초)
mysql>
그러면 다음 내용을 배울 수 있습니다
열의 최대값예: 상점에서 가장 큰 품목 번호는 무엇입니까?
작업은 다음과 같습니다.
SELECT MAX(article) FROM shop;
mysql> SELECT MAX(article) FROM shop;
+-------------+| 기사) |
+---------------+| 4 |
+-------------+
1행 세트(0.00초)
mysql>
예: 가장 비싼 제품을 찾으려면
작업은 다음과 같습니다.
SELECT MAX(price) FROM shop;
mysql> SELECT MAX(price) FROM shop;
+- ----- ------+|MAX(가격) |
+---+|19.95 |
+------ ----------+
1개 행(0.00초)
mysql>
MAX() 함수가 무엇을 하는지 아시나요? ㅋㅋㅋ SELECT MAX(가격) FROM shop);
mysql> SELECT * FROM shop
-> WHERE 가격 =--> (SELECT MAX(가격) FROM shop);
+--------- +------ ---+-------+| 기사 가격 |
+---------+-------+--- ----+| 0004 | 19.95 |
+---------+---------+------+mysql>
다른 작업이 있습니다:
SELECT * FROM shop ORDER BY 가격 DESC LIMIT 1;
mysql> SELECT * FROM shop
-> ORDER BY 가격 DESC-> ------ ---+---------+-------+
| 기사 딜러 가격 |+---------+--- -----+ -------+
|0004 | 19.95 |
+---------+------- +
1행 세트(0.00초)
mysql>
전자는 중첩 쿼리이고, 후자는 가격별로 정렬하여 하나만 표시합니다.
밤나무: 각 항목(물품)의 최대 가격은 얼마인가요?
작업은 다음과 같습니다.
SELECT 항목, MAX(가격) AS 가격 FROM shop GROUP BY 기사;
-> FROM shop
-> GROUP BY 기사;+---------+-- ---- -+
| 가격 |+---------+
| 0001 | 10.99 ||
| 0004 | 19.95 |
라인은 제목의 의미를 이해하지 못합니다. . . .
밤나무: 각 품목별로 가격이 가장 비싼 딜러를 찾아보세요.
작업은 다음과 같습니다.
SELECT 기사, 딜러, 가격
FROM shop s1
WHERE 가격 = (SELECT MAX(가격)
WHERE s1.article = s2.article);
mysql> 기사, 딜러, 가격
-> FROM shop s1- -> WHERE 가격 = (SELECT MAX(s2.price)
- -> FROM shop s2| 기사 가격 |
+---------- +------ --+------+| 0002 | 1.69 |
| +------ ----+---------+-------+4행 세트(0.00초)
이유는 책에는 안 적혀 있는데 제가 잘 이해가 되지 않습니다. 더 알고 싶은 분들은 댓글란으로 설명해주세요●﹏●. ㅋㅋㅋ MAX(가격) FORM shop;
SELECT * FROM shop WHERE 가격 = @min_price OR 가격 = @max_price;
mysql> SELECT @min_price:=MIN(가격), @max_price:=MAX(가격) FROM shop;
+--------- +-- ---------+
| @min_price:=MIN(가격) | @max_price:=MAX(가격) |
+-- --- ------+------------+
|1.25 |
+------------+------ ----- +
1행 세트(0.13초)
mysql> SELECT * FROM shop WHERE 가격=@min_price OR 가격 = @max_price;
+---------+------ ----+ -------+
| 대리점 | 가격 |
+---------+-------+ 0003 | | 1.25 |
| 0004 | 19.95 |
+----------+-------+
2행 세트(0.09초)
CREATE TABLE person (
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
name CHAR(60) NOT NULL,
PRIMARY KEY (id)
);
<br>
CREATE TABLE shirt (
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
style ENUM('t-shirt', 'polo', 'dress') NOT NULL,
color ENUM('red', 'blue', 'orange', 'white', 'black') NOT NULL,
owner SMALLINT UNSIGNED NOT NULL REFERENCES person(id),
PRIMARY KEY (id)
);
<br>
INSERT INTO person VALUES (NULL, 'Antonio Paz');
<br>
SELECT @last := LAST_INSERT_ID();
<br>
INSERT INTO shirt VALUESrrree
mysql> 테이블 생성 표시G
**************************** 1. 행 **** ***********************테이블: 셔츠
테이블 만들기: CREATE TABLE `shirt` (`id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
`style` enum('t-shirt','polo','dress') NOT NULL,`color` enum('red','blue','orange','white',' black') NOT NULL,
`owner` smallint(5) unsigned NOT NULL, PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1
1 행 세트(0.01초)
mysql> ;
위 내용은 Mysql 관련 지식 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!