Maison >base de données >tutoriel mysql >Opérations sur les tables MYSQL
Lorsqu'une bibliothèque est créée, les tables doivent ensuite être créées. Pour créer une table, vous devez connaître non seulement la syntaxe, mais également les types de colonnes, les index, etc. Ce qui suit ne parlera que de la syntaxe de création de tables et ne décrira pas les types de colonnes.
Créer une table
Syntaxe pour créer une table :
CREATE TABLE [IF NOT EXISTS] 表名 ( 字段名1 列类型 [属性] [索引], 字段名2 列类型 [属性] [索引], 字段名3 列类型 [属性] [索引], ...... ) [表类型] [表字符集]
Une chose à noter ici est que le nom du champ ne doit pas être la même que la clé de mysql. Si vous voulez vraiment faire cela, vous devez ajouter les symboles ` avant et après le nom du champ. Ce symbole est au-dessus de la touche de tabulation.
Créons maintenant une table utilisateur avec des champs : ID utilisateur, nom d'utilisateur, mot de passe utilisateur, numéro de téléphone portable, sexe et anniversaire.
create table if not exists users( user_id int(10) unsigned auto_increment primary key, username varchar(16) not null default '' collate utf8mb4_bin comment '用户名', userpass char(32) not null collate utf8mb4_bin default '', mobile char(11) not null default '' unique, gender enum('未知', '男', '女') default '未知', birth date not null default '1900-01-01', index username(username) ) engine=innodb default charset utf8mb4 collate utf8mb4_general_ci;
Habituellement, nous créerons un champ d'identification unique pour chaque table, ici user_id, pour faciliter les opérations futures. L'assemblage est défini ici pour les champs de nom d'utilisateur et de passe utilisateur. En effet, ces deux champs sont différents des autres dans la mesure où ils sont sensibles à la casse. De plus, nous avons créé deux index pour la table, à savoir le champ mobile et le champ nom d'utilisateur. Un index unique est défini pour le mobile, ce qui signifie que le numéro de téléphone mobile ne peut pas être répété. Créer un index général pour le nom d'utilisateur consiste à accélérer les recherches via le nom d'utilisateur.
Afficher la table et la structure de la table
Une fois la table créée, nous voulons voir si elle est vraiment créée avec succès. Vous pouvez afficher toutes les tables de la bibliothèque actuelle via Afficher les tables.
mysql> show tables; +---------------+ | Tables_in_job | +---------------+ | users | +---------------+ 1 row in set
La table est en effet générée avec succès, mais si vous voulez voir quels champs et attributs se trouvent dans la table, vous pouvez le vérifier via le nom de la table desc.
Effacer et supprimer des tables
Remarque : La suppression d'une table est une opération dangereuse, opérez avec prudence !
Syntaxe de table de suppression : DROP TABLE [IF EXISTS] Nom de la table
Aucune démonstration ici.
Effacer la syntaxe du tableau : TRUNCATE nom de la table
Ici, nous allons nous concentrer sur la différence entre tronquer les utilisateurs et supprimer des utilisateurs.
tronquer équivaut à supprimer d'abord la table puis à recréer la table. Toutes les données du tableau ont été réinitialisées.
Bien que la suppression supprime uniquement les données de la table, certaines informations d'attribut de la table, telles que l'identifiant auto-incrémenté, ne seront pas réinitialisées.
Modifier le tableau
Enfin, voyons comment modifier le tableau. Il est placé en dernier car sa syntaxe est la plus compliquée et la partie la plus difficile des opérations sur les tables. Sa syntaxe est la suivante :
ALTER TABLE 数据表名 alter_spec[,alter_spec] ... table options
J'ai organisé les opérations courantes et les fonctions communes sont les suivantes :
Ajouter de nouveaux champs : ALTER TABLE nom de la table ADD field. nom 3802ba1a7cc8c5b43e52165f18cc1787 [FISRT|ALTER nom de la colonne]
Modifier les champs : ALTER TABLE nom de la table changer|modifier la liste 3802ba1a7cc8c5b43e52165f18cc1787 est que modifier ne peut modifier que le type de colonne, tandis que changement peut changer le nom de la colonne en plus de modifier le type de colonne.
Supprimer le champ : ... DROP nom de la colonne
Ajouter le nom de l'index : ... ADD INDEX [INDEX_NAME] (index_col1,index_col2, ...)
DROP INDEX INDEX_NAME
DROP PRIMARY KEY
Ajouter une clé primaire : ... AJOUTER UNE CLÉ PRIMAIRE (INDEX_COL1,INDEX_COL2,...)
Ajouter un index unique : ... AJOUTER UNIQUE [index_name] (index_col1,index_col2,...)
Modifiez le nom de la table : RENAME newName
Pratiquez-le
Tout d'abord, ajoutez un nouveau champ email et placez-le après le passage de l'utilisateur .
ALTER TABLE users ADD email VARCHAR(255) NOT NULL DEFAULT '' AFTER userpass;
Modifiez le pass utilisateur et changez la longueur à 64 bits
ALTER TABLE users MODIFY userpass CHAR(64) NOT NULL DEFAULT '' COMMENT '用户登录密码';
Modifiez le pass utilisateur et changez-le en auth
ALTER TABLE users CHANGE userpass `auth` char(32) NOT NULL DEFAULT '';
Ajoutez un index normal à l'e-mail
ALTER TABLE users ADD INDEX eamil(email);
Supprimer l'index des e-mails
ALTER TABLE users DROP INDEX eamil;
Supprimer un index unique, tout comme supprimer un index normal
ALTER TABLE users DROP INDEX mobile;
Ajouter un index unique
ALTER TABLE users ADD UNIQUE mobile(mobile); 或 ALTER TABLE users ADD UNIQUE (mobile);
Supprimer la clé primaire, vous devez supprimer aoto_increment avant suppression ;
ALTER TABLE users MODIFY user_id INT(10) NOT NULL; ALTER TABLE users DROP PRIMARY KEY;
Ajouter une clé primaire
ALTER TABLE users ADD PRIMARY KEY (user_id);
Ce qui précède décrit simplement une syntaxe des opérations de table, des types de colonnes et des index, etc. Si vous êtes intéressé, vous pouvez lire les informations pertinentes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!