MySQL foundation summary

1, Connection query

Classification according to the way of table connection:
Internal connection: equivalent connection, non equivalent connection and self connection
External connection: left external connection (left connection), right external connection (right connection)

Syntax: join ... on ... 
select ... from Table name 1 join Table name 2 on condition where ... 

Self connection: the two tables are the same
 Equivalence and non equivalence refer to on Later conditions

External connection: refers to join Added before left and right Left and right concatenation caused by keyword
select ... from Table name 1 left join Table name 2 on condition where ... 
The above statement indicates that table name 1 is the main table
select ... from Table name 1 right join Table name 2 on condition where ... 
The above statement indicates that table name 2 is the main table

Note that there is no primary or secondary connection between the two tables left and right It means internal connection

2, Subquery

In mysql, sub queries are divided into sub queries after where and from

stay from Subquery after
 Syntax: select * from (select * from Table name);
Will put from The following sub query is treated as a temporary table

stay where Subquery after
 Syntax: select * from Table name where sal > (select max(sal) from emp);
Indicates that the subquery is found sal Compare the maximum value

3, union merge query result set

What is involved here is only the efficiency of query

Syntax: select field... from Table name union select field... from Table name;
The premise is that the number of columns in two query result sets must be the same before merging

4, Use of limit (Master)

Full usage: limit, StartIndex, length
startIndex is the starting subscript, length is the length, and the starting subscript starts from 0.

limit Use of: take out 3-5 Employees
select staff from Table name order by field asc limit 2,3;

limit Use of paging
pageNo: Which page
pageSize: It refers to the number of data on the page
 Formula: limit (pageNo-1)*pageSize , pageSize

Application:
Display per page pageSize Records
 The first pageNo Page: limit (pageNo - 1) * pageSize  , pageSize

Note: in mysql, limit is executed after order by

5, A summary of DQL statements

select .. from .. where .. group by .. having .. order by .. limit ..
Execution sequence:
1.from
2.where
3.group by
4.having
5.select
6.order by
7.limit

6, Creating and deleting tables

1. Syntax format of table creation: (table creation belongs to DDL statement, and DDL includes: create drop alter)

create table Table name(
    Field 1 data type,
    Field 2 data type,
    Field 3 data type
)

Table name: it is suggested to t_ perhaps tbl_At first, it is readable. See the name and know the meaning.
Field name: see the meaning of the name.
Both table and field names are identifiers.

About data types in mysql?

For many data types, we only need to master some common data types.

Varchar (max 255)
Variable length string
It is intelligent and saves space.
Space will be dynamically allocated according to the actual data length.

Advantages: space saving
Disadvantages: it needs to allocate space dynamically and the speed is slow.

Char (maximum 255)
Fixed length string
No matter what the actual data length is.
Allocate a fixed length of space to store data.
Improper use may lead to a waste of space.

Advantages: there is no need to dynamically allocate space and the speed is fast.
Disadvantages: improper use may lead to a waste of space.

How should we choose varchar and char?
What do you choose for the gender field? Because gender is a fixed length string, char is selected.
What do you choose for the name field? Everyone's name is different in length, so choose varchar.

Int (max. 11)
An integer in a number. Equivalent to java int.

        bigint
A long integer in a number. Equivalent to long in java.

        float    
Single precision floating point data

        double
Double precision floating point data

        date
Short date type syntax representation:% Y-%m-%d

        datetime
Long date type syntax representation:% Y -% m -% d% H:% I:% s

        clob
Character large object
Up to 4G strings can be stored.
For example: store an article and a description.
CLOB character large objects shall be used to store more than 255 characters.
            Character Large OBject:CLOB


        blob
Binary large object
            Binary Large OBject
It is specially used to store streaming media data such as pictures, sounds and videos.
When inserting data into a BLOB type field, such as inserting a picture, video, etc,
You need to use IO stream.

2. Table deletion

Syntax format: drop table Table name;
If the table does not exist, an error will be reported!
The following syntax is recommended
drop table if exists Table name; 
No error will be reported

7, Insertion, deletion and modification of table data

1. Table data insertion

Syntax: insert into Table name(Field 1, field 2) values(Field 1 value, Field 2 value);
Fields and values must correspond one to one
 If you do not write fields, all fields are selected
insert into Table name values(Values of all fields);

You can also insert more than one at a time
 Syntax: insert into Table name() values(),(),(); 
Indicates that multiple items are inserted at one time

2. Modification of table data

Syntax: update Table name set Field 1 = ..., Field 2 = ..., Field 3 = ... where ...
Conditions must be added, otherwise all data will be modified

3. Deletion of table data

Syntax: delete from Table name where ...
Conditions must be added, otherwise all data will be deleted
delete Just deleted the data, the space is still there, and it can be recovered

start transaction; Open transaction

Execute here delete After that, the data can be recovered

rollback; RollBACK 
After the rollback execution, the data will be recovered

truncate Physical deletion does not support rollback recovery
 Syntax: truncate table Table name;
All data will be cleared directly without adding conditions

Note: truncate is important and must be mastered!!!
The table is truncated once, which belongs to physical DDL
The efficiency of using truncate is much higher than that of using delete, but it must be improved before using
Very rigorous, otherwise the data will be gone!!!

Keywords: Database MySQL SQL

Added by rvdb86 on Sat, 19 Feb 2022 20:54:22 +0200