Résumé du problème Mysql et enregistrement d'apprentissage 2 : type de date Mysql, type de caractère et relation de connexion entre les tables

Dossier d'apprentissage MySQL 2

type de date

create table student(
    id int,
    name char(6),
    born_year year,
    birth_date date,
    class_time time,
    reg_time datetime
);
insert into student values
(1,'egon',now(),now(),now(),now());

*S'il y a du code qui a été mal saisi précédemment et qui ne peut pas être supprimé, vous pouvez utiliser /c pour terminer l'instruction en cours. (terminer l'opération)

La différence entre l'heure des données et l'horodatage
Insérer la description de l'image ici

Type de caractère

Utilisation et différence entre char et varchar

Une longueur variable, une longueur fixe.

Char est simple et grossier, et a une vitesse d'accès rapide, mais gaspille de l'espace ; varchar est plus peu encombrant, précis en accès, mais lent en accès. Maintenant, la plupart d’entre eux utilisent le type char. Il vaut mieux ne pas les mélanger.
Insérer la description de l'image ici

Requête : sélectionnez xxx à partir de xxx où xxx = 'x' ; #Les espaces après les données peuvent être automatiquement ignorés lorsqu'ils sont utilisés.

​ sélectionnez xxx parmi xxx où xxx like = 'x'; #Lorsqu'il est utilisé, le nombre d'espaces, etc. doit être le même

Types d'énumération et types de collections

Il est à noter que si une option non incluse dans le type de liste est sélectionnée lors de l'insertion, elle ne sera pas affichée dans le tableau.

Restrictions

Insérer la description de l'image ici
null/key/default/extra sont des contraintes.

null : s'il faut autoriser le passage de valeurs nulles.

par défaut : la valeur signalée lorsqu'une erreur se produit (la valeur par défaut peut être définie)

**clé unique :** Vous pouvez définir certaines données pour qu'elles ne soient pas répétées :

Colonne unique unique :

Méthode 1 : ajouter un unique directement après le champ

create table department(
	id int,
	name char(10) unique
);

Méthode 2 : Ajouter unique(name) à la fin,

Joint unique (MUL) : unique (nom, prénom),

clé primaire : non vide et unique non nulle unique

Moteur de stockage (inodb (par défaut)) : Pour le moteur de stockage innodb, une table doit avoir une clé primaire.

Créer une clé primaire :

#Clé primaire à colonne unique

create table t1(
	id int primary key,
	name char(16),
);

#Clé primaire composée

primaire(nom,nom),

auto_increment : auto-incrémentation

create table t20(
	id int primary auto_increment,#表明id可以自己从1往上增加。
	name char(16)
);

#Si un autre identifiant est défini à l'endroit d'insertion, le prochain identifiant non défini sera ajouté à partir de celui-ci.

#apprendre

	show variables like ’auto_inc%‘;
	#auto_increment_increment步长:默认为1
	auto_increment_offset起始偏移量:默认为1`

#Définissez la taille du pas (il en va de même pour le décalage de départ) :

	set session auto_increment_increment=5;#局部
	set global auto_increment_increment=5;#全局,得退出重进

Accentuation : décalage de départ ≤ taille du pas.

clé étrangère : établir des relations entre les tables

1. Établissez des relations entre les tables :

eg.#先建被关联的表,并且保证被关联的字段唯一。

create table dep(
	id int primary key,
	name char(16),
	comment char(50)
);

#再建关联的表

create table emp(
	id int primary key,
	name char(10),
	sex enum('male','female'),
	dep_id int,
	foreign key (dep_id)references dep(id)
    on delete cascade on update cascade #这里可实现自动更新自动删除
); 

查看表结构:desc dep;(复习一下)

2. Insérez les données :

#Insérez d'abord les enregistrements dans la table associée

insert into dep values
(1,"IT","123"),
(2,"销售","456"),
(3,"财务","789");

#Insérer des enregistrements dans la table associée

insert into emp values
(1,'dumpling','male',1);

#Supprimer les informations indésirables :

1. Supprimez d'abord la table associée, puis supprimez la table associée.

delete from emp where dep_id=1;
delete from dep where id = 1;

2. Ajouter lors de l'établissement de la table d'association : sur suppression en cascade sur mise à jour en cascade

Vous pouvez supprimer directement le contenu de la table associée :

delete from dep where id = 1;
update dep set id = 202 where id = 2;

dep où identifiant = 1 ;


2、建立关联表时加入:on delete cascade on update cascade

可直接删除被关联表中内容:

```mysql
delete from dep where id = 1;
update dep set id = 202 where id = 2;

Essayez de ne pas l'utiliser de cette façon, car cela pourrait causer des problèmes lors de l'expansion.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_47723114/article/details/131791327
conseillé
Classement