"MySQL must know will be" 3 to chapter 9

The third chapter - Chapter IX

third chapter

Display a list of databases

SHOW DATABASES;

Within a database to obtain a list of available tables

SHOW TABLES;

Display table columns (two statements equivalent)

SHOW COLUMNS FROM customers;
DESCRIBE customers;

Chapter Four

Prodccuts retrieved from the table column prod_name

SELECT prod_name
FROM products;

Retrieving three

SELECT prod_id, prod_name, prod_price
FROM products;

Retrieve all columns

SELECT *
FROM products;

Return a different row, the same row are not repeated

SELECT DISTINCT vend_id
FROM products;

Back more than 5 (line count starts from 0, row 0, row 1, row 2, row 3, line 4)

SELECT  prod_name
FROM products
LIMIT 5;

Returns the next five lines (lines 6-10)

SELECT prod_name
FROM products
LIMIT 5, 5;

Fully qualified name table (two equivalent statement)

SELECT prod_name
FROM products;
SELECT products.prod_name
FROM stu_projects.products;

chapter Five

Prod_name columns of alphabetical

SELECT prod_name
FROM products
ORDER BY prod_name;

By a plurality of columns are arranged (in front of the high priority column)

SELECT prod_id, prod_price, prod_name
FROM products
ORDER BY prod_price, prod_name;

descending sort

SELECT prod_id, prod_price, prod_name
FROM  products
ORDER BY prod_price DESC;

By a plurality of columns are arranged in descending portion

SELECT prod_id, prod_price, prod_name
FROM products
ORDER BY prod_price DESC, prod_name;

Find out the price of the most expensive items

SELECT prod_price
FROM products
ORDER BY prod_price DESC
LIMIT 1;

Chapter Six

WHERE filtered data specified condition (ORDER BY located after WHERE)

SELECT prod_name, prod_price
FROM products
WHERE prod_price = 2.50;

Prod_name = fuses specified row

SELECT prod_name, prod_price
FROM products
WHERE prod_name = 'fuses';

Price of $ 10 less than all the goods

SELECT prod_name, prod_price
FROM products
WHERE prod_price < 10;

Equal to $ 10 less than all the goods

SELECT prod_name, prod_price
FROM products
WHERE prod_price <= 10;

Mismatch checks

SELECT vend_id, prod_name
FROM products
WHERE vend_id <> 1003;

The last sentence is equivalent to

WHERE vend_id != 1003;

Check the value range

SELECT prod_name, prod_price
FROM products
WHERE prod_price BETWEEN 5 AND 10;

Null check

SELECT prod_name
FROM products
WHERE pro_price IS NULL;
SELECT cust_id
FROM customers
WHERE cust_email IS NULL;

Chapter VII

AND operator

SELECT prod_id, prod_price, prod_name
FROM products
WHERE vend_id = 1003 AND prod_price <= 10;

OR operator

SELECT prod_name, prod_price
FROM products
WHERE vend_id = 1002 OR vend_id = 1003;

AND calculation order priority than OR

SELECT prod_name, prod_price
FROM produts
WHERE vend_id = 1002 OR vend_id = 1003 AND prod_price >= 10;

The last sentence is equivalent to

WHERE vend_id = 1002 OR (vend_id = 1003 AND prod_price >= 10);

Change the priority brackets

SELECT prod_name, prod_price
FROM products
WHERE (vend_id = 1002 OR vend_id = 1003) AND prod_price >= 10;

9 IN operator (somewhat similar OR)

SELECT prod_name, prod_price
FROM products
WHERE vend_id IN (1002, 1003)
ORDER BY prod_name;

NOT operator

SELECT prod_name, prod_price
FROM products
WHERE vend_id NOT IN (1002, 1003)
ORDER BY prod_name;

chapter eight

% Wildcard

SELECT prod_id, prod_name
FROM products
WHERE prod_name LIKE 'jet%';
SELECT prod_id, prod_name
FROM products
WHERE prod_name LIKE '%anvil%';
SELECT prod_id, prod_name
FROM products
WHERE prod_name LIKE's%e';

% Can match 0, 1 or more characters.

_ Wildcard

SELECT prod_id, prod_name
FROM products
WHERE prod_name LIKE '_ ton anvil';

_ Always match a character, no more and no less.

Chapter nine

Regular Expressions

The basic character matches

SELECT prod_name
FROM products
WHERE prod_name REGEXP '1000'
ORDER BY prod_name;
SELECT prod_name
FROM products
WHERE prod_name REGEXP '.000'
ORDER BY prod_name;

An OR match

SELECT prod_name
FROM products
WHERE prod_name REGEXP '1000|2000'
ORDER BY prod_name;

Match one of several characters

SELECT prod_name
FROM products
WHERE prod_name REGEXP  '[123] Ton'
ORDER BY prod_name;

If the penultimate sentence written

WHERE prod_name REGEXP '1|2|3 Ton'

It represents a matching string '1' or '2' or '3 ton'.

[^ 123] match anything other than the characters.

Matching range

SELECT prod_name
FROM products
WHERE prod_name REGEXP '[1-5] Ton'
ORDER BY prod_name;

Matching special characters

Find the entry containing '' wrong example of the value of character

SELECT vend_name
FROM vendors
WHERE vend_name REGEXP '.'
ORDER BY vend_name;

. Matches any character, so each row will be retrieved.

In order to match the special character, use \ \ as the lead.

SELECT vend_name
FROM vendors
WHERE vend_name REGEXP '\\.'
ORDER BY vend_name;

Examples of the plurality of matching

SELECT prod_name
FROM products
WHERE prod_name REGEXP '\\([0-9] sticks?\\)'
ORDER BY prod_name;

[0-9] to match any number, sricks? Matching and stick Sticks (after s? S so that selectable).

SELECT prod_name
FROM products
WHERE prod_name REGEXP '[[:digit:]]{4}'
ORDER BY prod_name;

Equivalent to

SELECT prod_name
FROM products
WHERE prod_name REGEXP '[0-9][0-9][0-9][0-9]'
ORDER BY prod_name;

Locator

Identify the product or to a decimal number beginning with ^ locators indicates the beginning of the string.

SELECT prod_name
FROM products
WHERE prod_name REGEXP '^[0-9\\.]'
ORDER BY prod_name;

The penultimate sentence is equivalent to

WHERE prod_name REGEXP '^[[:digit:]\\.]'
Published 84 original articles · won praise 7 · views 10000 +

Guess you like

Origin blog.csdn.net/weixin_43569916/article/details/104229119