Detailed explanation of mysql basic operation details of II

  • 2021-11-24 03:11:37
  • OfStack

Preface

This article class capacity

1. Several major constraints of database
2. Relationship between tables

Constraints:

Primary key constraint:


 Action : In order to ensure the validity and integrity of data, 
mysql Constraints commonly used in : Primary key constraint (primary key)  Only 1 Constraint (unique)  Non-null constraint (not null)  Foreign key constraint (foreign key)
 Primary key constraint : Decorated fields only 1 Non-empty 
	 Attention :1 A table can only have 1 Primary keys , This primary key can contain multiple fields 
	 Mode 1: Add constraints while building tables   Format :  Field name   Field type  primary key
	 Mode 2: Add constraints in the constraint area while building a table  
		 After all the field declarations are completed, , Is the constraint area 
		 Format : primary key( Field 1, Field 2)
		
		create table pk01(
			id int,
			username varchar(20),
			primary key (id)
		);
		
		insert into pk01 values(1,'tom');--  Success 
		insert into pk01 values(1,'tom');--  Failure  Duplicate entry '1' for key 'PRIMARY'
		insert into pk01 values(null,'tom');--  Failure  Column 'id' cannot be null
		
		create table pk01(
			id int primary key,
			username varchar(20),
			primary key (id)
		);--  Wrong  1 A table can only have 1 Primary keys 
		
	 Mode 3: After building the table, , Adding constraints by modifying the table structure 
		create table pk02(
			id int,
			username varchar(20)
		);
		
		alter table pk02 add primary key( Field name 1, Field name 2..);
		alter table pk02 add primary key(id,username);
		
		insert into pk02 values(1,'tom');--  Success 
		insert into pk02 values(1,'tomcat');--  Success 
		insert into pk02 values(1,'tomcat');--  Failure 

Uniquely constraint


 Decorated fields only 1, Right null Doesn't work 
	 Mode 1: Add constraints while building tables   Format :  Field name   Field type  unique
		create table un(
			id int unique,
			username varchar(20) unique
		);
		
		insert into un value(10,'tom');--  Success 
		insert into un value(10,'jack');--  Errors  Duplicate entry '10' for key 'id'
		insert into un value(null,'jack');--  Success 
		insert into un value(null,'rose');--  Success 
		
	 Mode 2: Add constraints in the constraint area while building a table  
		 After all the field declarations are completed, , Is the constraint area 
		unique( Field 1, Field value 2...)
	 Mode 3: After building the table, , Adding constraints by modifying the table structure 
		alter table  Table name  add unique( Field 1, Field 2);--  Added union only 1
		alter table  Table name  add unique( Field 1);--  To 1 Add only 1
		alter table  Table name  add unique( Field 2);--  To another 1 Add only 1
		
		////////////////
			create table un01(
				id int,
				username varchar(20)
			); 
			alter table un01 add unique(id,username);
			insert into un01 values(1,'tom');--  Success 
			insert into un01 values(1,'jack');--  Success 
			insert into un01 values(1,'tom');--  Failure  Duplicate entry '1-tom' for key 'id'

Non-null constraint


 Characteristic : The decorated field is not empty 
	 Mode :
		create table nn(
			id int not null,
			username varchar(20) not null
		);
		
		insert into nn values(null,'tom');--  Wrong  Column 'id' cannot be null

Case 1: Create a user table for many


create table user(
	id int primary key auto_increment,
	username varchar(20)
);

--  Create an order table 
create table orders(
	id int primary key auto_increment,
	totalprice double,
	user_id int
);

To ensure the validity and integrity of data, add constraints (foreign key constraints).
Add a foreign key constraint on the 1 side of multiple tables

Format:
alter table Multiple Table Name add foreign key (foreign key name) references 1 Table Name (primary key);

For example:
alter table orders add foreign key(user_id) references user(id);

After adding foreign key constraints, there are the following characteristics:

1. Data referenced from a slave table cannot be deleted from the main table 2. You cannot add data from a slave table that does not exist in the master table

Dealing with 1-to-many in development:
Add a foreign key to multiple tables, the name 1 is like the name of the main table _ id, the field type 1 is like keeping the type of the primary key of the main table 1,
In order to ensure the validity and integrity of data, foreign key constraints can be added to the foreign keys of multiple tables.

Case 2 1 Create a user table for many


--  Create a list of items 
create table product(
	id int primary key auto_increment,
	name varchar(20),
	price double
);

--  Create an intermediate table 
create table orderitem(
	oid int,
	pid int
);

Add a foreign key constraint
alter table orderitem add foreign key(oid) references orders(id);
alter table orderitem add foreign key(pid) references product(id);

Dealing with many-to-many in development:
Introduce an intermediate table to store the primary keys of two tables, and generally set these two fields as joint primary keys, so that the many-to-many relationship can be split
In two, one to more
In order to ensure the validity and integrity of data,
You need to add two foreign key constraints on the intermediate table.

Case 3-Multi-table query

Cartesian product:


 Unconditional joint query of multiple tables . It doesn't mean anything 
	select a.*,b.* from a,b;

Internal connection


	 Format 1: Explicit inner connection 
	select a.*,b.* from a [inner] join b on ab Connection conditions of 
 Format 2: Implicit inner connection 
	select a.*,b.* from a,b where ab Connection conditions of 

External connection


	 Left outer connection :
	select a.*,b.* from a left [outer] join b on  Connection condition ;
	 Meaning :
		 Show first join Left (a) All data of the table , Associate queries according to conditions  join Table on the right (b), If it meets the requirements, it will be displayed , Do not conform to the null Value display .
   Right lateral junction :
	select a.*,b.* from b right [outer] join a on  Connection condition ;
	 Meaning :
		 Show first jion Table on the right (a) All data of the table , Associate queries according to conditions join The watch on the left (b), If it meets the requirements, it will be displayed , Do not conform to the null Value display .
   Subquery :
1 Queries depend on another 1 Queries .

Related articles: