La création de la base de données est la partie la plus facile, mais à ce stade, elle est vide, comme SHOW What TABLES vous dira :
mysql> SHOW TABLES; Empty set (0.00 sec)
La partie la plus difficile est de décider quelle devrait être la structure de votre base de données : de quelles tables de base de données vous avez besoin et quelles colonnes se trouvent dans chaque table de base de données.
Vous aurez besoin d'un tableau contenant un enregistrement pour chacun de vos animaux de compagnie. On peut l'appeler une table pour animaux de compagnie et elle doit contenir, au minimum, le nom de chaque animal. Le nom lui-même n’étant pas très intéressant, le tableau doit contenir des informations supplémentaires. Par exemple, s'il y a plus d'une personne dans votre foyer qui possède des animaux de compagnie, vous souhaiterez peut-être indiquer le propriétaire de chaque animal. Vous souhaiterez peut-être également enregistrer certaines informations descriptives de base telles que l’espèce et le sexe.
Et votre âge ? Cela peut être amusant, mais le stocker dans une base de données n'est pas une bonne chose. L'âge change avec le temps, ce qui signifie que vous souhaiterez continuer à mettre à jour vos dossiers. Au lieu de cela, il est préférable de stocker une valeur fixe telle que l'anniversaire, de sorte que chaque fois que vous avez besoin de l'âge, vous puissiez le calculer comme la différence entre la date actuelle et la date de naissance. MySQL fournit des fonctions arithmétiques de date, ce n'est donc pas difficile. Le stockage de la date de naissance au lieu de l'âge présente d'autres avantages :
Vous pouvez utiliser une base de données pour des tâches telles que générer des rappels des prochains anniversaires d'animaux de compagnie. (Si vous pensez que ce genre de requête est un peu idiot, sachez que c'est le même problème que d'identifier les clients d'une base de données d'entreprise à qui des vœux d'anniversaire seront bientôt envoyés, car les ordinateurs facilitent le contact personnel.)
· Calcule âge basé sur une date, pas seulement la date actuelle. Par exemple, si vous stockez la date du décès dans une base de données, vous pouvez facilement calculer l’âge d’un animal au moment de sa mort.
Vous pourriez penser à d'autres types d'informations utiles dans le tableau des animaux de compagnie, mais celles-ci suffisent pour l'instant : nom, propriétaire, espèce, sexe, date de naissance et de décès.
Utilisez une instruction CREATE TABLE pour spécifier la disposition de votre table de base de données :
mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
VARCHAR convient aux colonnes de nom, de propriétaire et d'espèce car les valeurs des colonnes sont de longueur variable. Il n'est pas nécessaire que les colonnes soient toutes de la même longueur et il n'est pas nécessaire qu'elles soient au nombre de 20. Vous pouvez choisir n’importe quelle longueur comprise entre 1 et 65 535 et choisir la valeur la plus logique. (Si vous faites un choix inapproprié et qu'il s'avère que vous avez besoin d'un champ plus long, MySQL fournit une instruction ALTER TABLE.)
Plusieurs types de valeurs peuvent être utilisés pour représenter les enregistrements d'animaux. , par exemple, "m" et "f", ou "masculin" et "femelle". Utiliser les caractères simples « m » et « f » est le moyen le plus simple.
Évidemment, les colonnes de naissance et de décès doivent utiliser la classe de données DATE.
Après avoir créé la table de base de données, SHOW TABLES devrait produire une sortie :
mysql> SHOW TABLES; +---------------------+ | Tables in menagerie | +---------------------+ | pet | +---------------------+
Pour vérifier que votre table a été créée comme prévu, utilisez une instruction DESCRIBE :
mysql> DESCRIBE pet;
+---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | name | varchar(20) | YES | | NULL | | | owner | varchar(20) | YES | | NULL | | | species | varchar(20) | YES | | NULL | | | sex | char(1) | YES | | NULL | | | birth | date | YES | | NULL | | | death | date | YES | | NULL | | +---------+-------------+------+-----+---------+-------+
Vous pouvez utiliser DESCRIBE à tout moment, par exemple si vous oubliez le nom ou le type d'une colonne dans un tableau.
Après avoir créé le tableau, vous devez remplir le contenu. Cette tâche peut être accomplie via les instructions LOAD DATA et INSERT.
Supposons que le dossier de votre animal de compagnie soit décrit comme suit. (Supposons que le format de date attendu dans MySQL est AAAA-MM-JJ ; cela peut être différent de celui auquel vous êtes habitué.)
| <🎜>propriétaire<🎜> | <🎜>espèce<🎜> | <🎜 >sexe<🎜> | <🎜>naissance<🎜> | <🎜>décès<🎜> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fluffy | Harold | chat | f | 1993-02-04 | <🎜> | tr>||||||||||||||||||||||||||||||||||||||||||||||||||||||
Griffes | Gwen | chat | m | 17/03/1994 td>< td><🎜> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Buffy | Harold | chien | f | 1989-05-13 | <🎜> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fang | Benny | chien | m | 27/08/1990 | <🎜> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bowser | < td>Dianechien | m | 1979-08-31 | 1995-07-29 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Chirpy | Gwen | oiseau | f | 11/09/1998 | <🎜 > | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Whistler | Gwen | oiseau | <🎜> | < td>1997 -12-09<🎜> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Slim | Benny | serpent td>< td>m | 1996-04-29 | <🎜> |
因为你是从一个空表开始的,填充它的一个简易方法是创建一个文本文件,每个动物各一行,然后用一个语句将文件的内容装载到表中。
你可以创建一个文本文件“pet.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以CREATE TABLE语句中列出的列次序给出。对于丢失的值(例如未知的性别,或仍然活着的动物的死亡日期),你可以使用NULL值。为了在你的文本文件中表示这些内容,使用\N(反斜线,字母N)。例如,Whistler鸟的记录应为(这里值之间的空白是一个定位符):
name | owner | species | sex | birth | death |
Whistler | Gwen | bird | \N | 1997-12-09 | \N |
要想将文本文件“pet.txt”装载到pet表中,使用这个命令:
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet;
请注意如果用Windows中的编辑器(使用\r\n做为行的结束符)创建文件,应使用:
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet -> LINES TERMINATED BY '\r\n';
(在运行OS X的Apple机上,应使用行结束符'\r'。)
如果你愿意,你能明确地在LOAD DATA语句中指出列值的分隔符和行尾标记,但是默认标记是定位符和换行符。这对读入文件“pet.txt”的语句已经足够。
如果该语句失败,可能是你安装的MySQL不与使用默认值的本地文件兼容。
如果想要一次增加一个新记录,可以使用INSERT语句。最简单的形式是,提供每一列的值,其顺序与CREATE TABLE语句中列的顺序相同。假定Diane把一只新仓鼠命名为Puffball,你可以使用下面的INSERT语句添加一条新记录:
mysql> INSERT INTO pet -> VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);
注意,这里字符串和日期值均为引号扩起来的字符串。另外,可以直接用INSERT语句插入NULL代表不存在的值。不能使用LOAD DATA中所示的的\N。
从这个例子,你应该能看到涉及很多的键入用多个INSERT语句而非单个LOAD DATA语句装载你的初始记录。
以上就是MySQL入门教程4 —— 创建表并将数据装入表的内容,更多相关内容请关注PHP中文网(www.php.cn)!