[MySQL]管理表和索引的相关语句_MySQL
bitsCN.com
[MySQL]管理表和索引的相关语句
1. 创建表
MySQL中创建表是通过create table语句实现的,语法这里就不介绍了,非常复杂,可以去官网上查询,所幸的是,我们并不需要记住所有的选项,因为大部分都采用默认即可,下面介绍几个比较常用的选项。
1)指定存储引擎
默认的存储引擎由default-storage-engine指定,如果没有指定,则为MyISAM,如果建表时,你不想使用默认的存储引擎,可以通过如下语句实现:
[sql]
create table table_name ( ... ) engine=engine_name;
2)只有当表不存在时才创建
[sql]
create table if not exist table_name ... ;
上述语句表示:如果表已存在,则跳过;否则创建新表。
3)创建临时表
MySQL的临时表有如下特性:
- 临时表只在创建该表的会话里是可见的,对其它会话是隐藏的,会话断开后,临时表自动被删除。
- 当临时表的表名和普通表一样时,当前会话将会优先访问临时表。
临时表的语法如下:
[sql]
create temporary table temp_table_name ... ;
4)从其它表中创建新表
MySQL提供两种方式从其它表中创建新表:
- create table ... like:创建一个新表为原表的空白副本,也就是说,新表是一个空表,但它拥有原表所有的属性、索引、约束等(这个语法很有用,Oracle就没有类似的功能),其用法如下:
[sql]
create table new_table_name like old_table_name;
insert into new_table_name select * from old_table_name;
- create table ... select: 不会复制所有的数据列属性(保留下来的属性有:字符集、NOLL or NOT NULL,默认值,注释),不带索引,不包含约束。
2. 删除表
相比于创建表,删除表就简单多了。
1)删除普通表
[sql]
drop table table_name;
2)删除临时表
[sql]
drop temporary table table_name;
3)表存在才删除
[sql]
drop table if exists table_name;
3. 创建索引
你可以使用和Oracle类似的create index语句重建索引,也可以使用MySQL独有的alter table语句添加索引,在MySQL里,建议用alter table语句,因为它更灵活多能,如:
[sql]
alter table tbl_name add index index_name (index_cols);
alter table tbl_name add unique index_name(index_cols);
alter table tbl_name add primary key(index_cols);
alter table tbl_name add full text index_name(index_cols);
alter table tbl_name add spatial index_name(index_cols);
其中,primary key和spatial索引要求索引列必须为NOT NULL,index_name可省略,一般不建议省略,如果省略,系统会自动取个名字。
该语句支持在一个alter table语句添加多个索引,这样更灵活。
在创建表时,也可以同时创建索引,如:
[sql]
create table tbl_name
(
...
index index_name (index_cols),
primary key (index_cols),
unique (index_cols),
...
);
4. 删除索引
和创建索引类似,删除索引可以用drop index或alter table语句完成,如:
[sql]
drop index index_name on tbl_name;
drop index `primary` on tbl_name;
alter table tbl_name drop index index_name;
alter table tbl_name drop primary index;
5. 改变表结构
1)改变列的数据类型
如果你想改变列的数据类型,可以使用change或modify字句,如下所示:
[sql]
alter table tbl_name modify col_name mediumint unsigned;
alter table tbl_name change old_col_name new_col_name mediumint unsigned;
从上面可以知道,change功能更强大,它不但能够改变列的数据类型,还可以重命名列,但是它比较麻烦的一点是即时不想重命名,也要把列名写两遍。
2)改变表的存储引擎
[sql]
alter table tbl_name engine=engine_name;
3)重命名表
重命名表可以使用alter table ... rename to 或rename table,如:
[sql]
alter table tbl_name rename to new_tbl_name;
rename table tbl_name to new_tbl_name;
alter table ... rename每次只能重命名一张表,而rename table可以重命名多张表,如:
[sql]
rename table t1 to new_t1, t2 to t1;
如果在表名前加上前缀,可以把一个表从一个数据库迁移到另一个数据库。
bitsCN.com

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Les capacités de recherche en texte intégral d'InNODB sont très puissantes, ce qui peut considérablement améliorer l'efficacité de la requête de la base de données et la capacité de traiter de grandes quantités de données de texte. 1) INNODB implémente la recherche de texte intégral via l'indexation inversée, prenant en charge les requêtes de recherche de base et avancées. 2) Utilisez la correspondance et contre les mots clés pour rechercher, prendre en charge le mode booléen et la recherche de phrases. 3) Les méthodes d'optimisation incluent l'utilisation de la technologie de segmentation des mots, la reconstruction périodique des index et l'ajustement de la taille du cache pour améliorer les performances et la précision.

L'article discute de l'utilisation de l'instruction ALTER TABLE de MySQL pour modifier les tables, notamment en ajoutant / abandon les colonnes, en renommant des tables / colonnes et en modifiant les types de données de colonne.

La numérisation complète de la table peut être plus rapide dans MySQL que l'utilisation d'index. Les cas spécifiques comprennent: 1) le volume de données est petit; 2) Lorsque la requête renvoie une grande quantité de données; 3) Lorsque la colonne d'index n'est pas très sélective; 4) Lorsque la requête complexe. En analysant les plans de requête, en optimisant les index, en évitant le sur-index et en maintenant régulièrement des tables, vous pouvez faire les meilleurs choix dans les applications pratiques.

Oui, MySQL peut être installé sur Windows 7, et bien que Microsoft ait cessé de prendre en charge Windows 7, MySQL est toujours compatible avec lui. Cependant, les points suivants doivent être notés lors du processus d'installation: téléchargez le programme d'installation MySQL pour Windows. Sélectionnez la version appropriée de MySQL (communauté ou entreprise). Sélectionnez le répertoire d'installation et le jeu de caractères appropriés pendant le processus d'installation. Définissez le mot de passe de l'utilisateur racine et gardez-le correctement. Connectez-vous à la base de données pour les tests. Notez les problèmes de compatibilité et de sécurité sur Windows 7, et il est recommandé de passer à un système d'exploitation pris en charge.

La différence entre l'index cluster et l'index non cluster est: 1. Index en cluster stocke les lignes de données dans la structure d'index, ce qui convient à la requête par clé et plage primaire. 2. L'index non clumpant stocke les valeurs de clé d'index et les pointeurs vers les lignes de données, et convient aux requêtes de colonne de clés non primaires.

L'article traite des outils de GUI MySQL populaires comme MySQL Workbench et PhpMyAdmin, en comparant leurs fonctionnalités et leur pertinence pour les débutants et les utilisateurs avancés. [159 caractères]

L'article traite des stratégies pour gérer de grands ensembles de données dans MySQL, y compris le partitionnement, la rupture, l'indexation et l'optimisation des requêtes.

L'article discute de la suppression des tables dans MySQL en utilisant l'instruction TABLE DROP, mettant l'accent sur les précautions et les risques. Il souligne que l'action est irréversible sans sauvegardes, détaillant les méthodes de récupération et les risques potentiels de l'environnement de production.
