Maison >base de données >tutoriel mysql >Gestion terminale de la base de données MySQL sur Mac
Ouvrez le terminal et entrez la commande suivante :
/usr/local/MySQL/bin/mysql -u root -p
où root est le nom d'utilisateur.
La commande suivante apparaîtra :
Enter password:
Si vous n'avez pas modifié votre mot de passe pour le moment, appuyez simplement sur Entrée. Sinon, entrez votre mot de passe.
Cela vous donnera accès à votre serveur de base de données.
Base de la table de données
1.1 créer créer une base de données
create database firstDB;
1.2 show Afficher toutes les bases de données
mysql> show databases;+--------------------+| Database | +--------------------+| information_schema | | firstDB | | mysql | | performance_schema |+--------------------+rows in set (0.00 sec)
1.3 alter modifier la base de données
modification de la commande alter Encodage de la base de données :
La base de données créée par défaut ne prend pas en charge les caractères chinois par défaut. Si nous en avons besoin pour prendre en charge les caractères chinois, définissez son encodage au format utf8 :
mysql> ALTER DATABASE testDB CHARACTER SET UTF8;Query OK, 1 row affected (0.00 sec)
1.4 use use database.
mysql> use firstDB; Database changed
1.5 Afficher la base de données actuellement utilisée
mysql> select database(); +------------+| database() | +------------+| firstdb | +------------+1 row in set (0.00 sec)
1.6 supprimer la base de données supprimée
mysql> drop database firstDB; Query OK, 0 rows affected (0.00 sec)
Nous créons d'abord une base de données pour notre utilisation future :
mysql> create database testDB;Query OK, 1 row affected (0.00 sec)
Après la création, pensez à utiliser la commande use pour saisir (utiliser) la base de données, sinon ultérieure. les opérations échoueront.
2.1 créer Créer une table
mysql> create table PEOPLE ( -> ID int AUTO_INCREMENT PRIMARY KEY, -> NAME varchar(20) not null, -> AGE int not null, -> BIRTHDAY datetime); Query OK, 0 rows affected (0.01 sec)
2.2 afficher la table d'affichage
Afficher toutes les tables de données dans la base de données actuelle
mysql> show tables; +------------------+| Tables_in_testdb | +------------------+| PEOPLE | +------------------+1 row in set (0.00 sec)
2.3 desc Afficher la structure du tableau
mysql> desc PEOPLE -> ; +----------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+| ID | int(11) | NO | PRI | NULL | auto_increment | | NAME | varchar(20) | NO | | NULL | | | AGE | int(11) | NO | | NULL | | | BIRTHDAY | datetime | YES | | NULL | | +----------+-------------+------+-----+---------+----------------+ 4 rows in set (0.01 sec)
2.4 alter Modifier la structure du tableau (ajouter, supprimer, modifier)
Créé par défaut Le tableau ne prend pas en charge les caractères chinois, le codage du tableau doit donc être défini sur utf8 :
mysql> ALTER TABLE KEYCHAIN CONVERT TO CHARACTER SET UTF8; Query OK, 1 row affected (0.02 sec) Records: 1 Duplicates: 0 Warnings: 0
2.4.1 insérer Ajouter des colonnes (champs) au tableau
mysql> alter table PEOPLE add star BOOL;Query OK, 0 rows affected (0.02 sec)Records: 0 Duplicates: 0 Warnings: 0
Astuce : Dans MySQL, le type booléen sera automatiquement converti en type tinyint(1).
Autant utiliser desc pour vérifier la structure de la table PEOPLE :
mysql> desc PEOPLE; +----------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+| ID | int(11) | NO | PRI | NULL | auto_increment | | NAME | varchar(20) | NO | | NULL | | | AGE | int(11) | NO | | NULL | | | BIRTHDAY | datetime | YES | | NULL | | | star | tinyint(1) | YES | | NULL | | +----------+-------------+------+-----+---------+----------------+ 5 rows in set (0.00 sec)
Maintenant, vous devriez me croire, non ?
2.4.2 modifier Modifier les champs de table (colonne)
mysql> alter table PEOPLE MODIFY star int;Query OK, 0 rows affected (0.01 sec)Records: 0 Duplicates: 0 Warnings: 0
Vous pouvez également spécifier la longueur de int(n), tel comme int( 2).
Nous utilisons à nouveau desc pour afficher la structure de la table PEOPLE :
mysql> desc PEOPLE; +----------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+| ID | int(11) | NO | PRI | NULL | auto_increment | | NAME | varchar(20) | NO | | NULL | | | AGE | int(11) | NO | | NULL | | | BIRTHDAY | datetime | YES | | NULL | | | star | int(11) | YES | | NULL | | +----------+-------------+------+-----+---------+----------------+ 5 rows in set (0.00 sec)
2.4.3 supprimer le champ (colonne) de la table
mysql> alter table PEOPLE DROP column star;Query OK, 0 rows affected (0.02 sec)Records: 0 Duplicates: 0 Warnings: 0
Après la suppression, vérifiez à nouveau la structure de la table PEOPLE :
mysql> desc PEOPLE; +----------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+| ID | int(11) | NO | PRI | NULL | auto_increment | | NAME | varchar(20) | NO | | NULL | | | AGE | int(11) | NO | | NULL | | | BIRTHDAY | datetime | YES | | NULL | | +----------+-------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec)
Le champ a été supprimé avec succès. Nous ne pouvons plus voir le champ étoile.
2.4.4 renommer renommer le nom de la table
mysql> RENAME TABLE PEOPLE TO NEW_PEOPLE; Query OK, 0 rows affected (0.00 sec)
2.4.5 nul ou non nul
Modifiez les champs de la table qui peuvent être vides ou qui ne peuvent pas être vides :
mysql> ALTER TABLE PEOPLE MODIFY AGE INT(3) NULL; Query OK, 0 rows affected (0.01 sec)Records: 0 Duplicates: 0 Warnings: 0
Définissez le champ AGE de la table PEOPLE sur "Autoriser à être vide", c'est-à-dire , ce champ ne peut pas être vide lors de l'insertion d'enregistrements. Sinon c'est le contraire.
Son format est : ALTER TABLE MODIFY
mysql> create table newTable select * from PEOPLE; Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0
Vérifions les tables qui existent actuellement dans la base de données :
mysql> show tables; +------------------+| Tables_in_testdb | +------------------+| PEOPLE || newTable | +------------------+2 rows in set (0.00 sec)
Les commandes suivantes fonctionnent toutes sur la table PEOPLE.
3.1 Ajouter des données (augmenter) La table PEOPLE n'a actuellement aucune donnée. C'est une table de données vide. Ajoutons maintenant quelques données.
insérer dans la commande pour ajouter des données :
mysql> insert into PEOPLE VALUES (null, 'Anny', 22, '1992-05-22'); Query OK, 1 row affected (0.00 sec)Utilisez la commande select pour afficher la table (sera présentée plus tard, nous visualisons maintenant les données de la table de données PEOPLE : Performances des données Il existe une donnée.
mysql> select * from PEOPLE; +----+------+-----+---------------------+| ID | NAME | AGE | BIRTHDAY | +----+------+-----+---------------------+| 1 | Anny | 22 | 1992-05-22 00:00:00 | +----+------+-----+---------------------+1 row in set (0.00 sec)
Ajoutons quelques données supplémentaires, telles que :
mysql> select * from PEOPLE; +----+--------+-----+---------------------+| ID | NAME | AGE | BIRTHDAY | +----+--------+-----+---------------------+| 1 | Anny | 22 | 1992-05-22 00:00:00 | | 2 | Garvey | 23 | 1991-05-22 00:00:00 | | 3 | Lisa | 25 | 1989-05-22 00:00:00 | | 4 | Nick | 24 | 1990-05-22 00:00:00 || 5 | Rick | 24 | 1991-05-22 00:00:00 | +----+--------+-----+---------------------+5 rows in set (0.00 sec)3.2 Supprimer les données (supprimer)
commande delete pour supprimer des données :
Interrogez à nouveau la table PEOPLE :mysql> delete from PEOPLE where name = 'Lisa'; Query OK, 1 row affected (0.01 sec)La donnée nommée "Lisa" n'est plus visible.
mysql> select * from PEOPLE; +----+--------+-----+---------------------+| ID | NAME | AGE | BIRTHDAY | +----+--------+-----+---------------------+| 1 | Anny | 22 | 1992-05-22 00:00:00 | | 2 | Garvey | 23 | 1991-05-22 00:00:00 | | 4 | Nick | 24 | 1990-05-22 00:00:00 || 5 | Rick | 24 | 1991-05-22 00:00:00 | +----+--------+-----+---------------------+4 rows in set (0.00 sec)3.3 Modifier les données (changer)
commande update pour modifier les données :
Interroger le contenu de la table PEOPLE :mysql> update PEOPLE set name='Calvin' where name = 'Garvey'; Query OK, 1 row affected (0.00 sec)Rows matched: 1 Changed: 1 Warnings: 0Le disque nommé "Garvey" a été modifié en "Calvin".
mysql> select * from PEOPLE; +----+--------+-----+---------------------+| ID | NAME | AGE | BIRTHDAY | +----+--------+-----+---------------------+| 1 | Anny | 22 | 1992-05-22 00:00:00 | | 2 | Calvin | 23 | 1991-05-22 00:00:00 | | 4 | Nick | 24 | 1990-05-22 00:00:00 || 5 | Rick | 24 | 1991-05-22 00:00:00 | +----+--------+-----+---------------------+4 rows in set (0.00 sec)3.4 Interroger les données (vérifier)
commande select pour interroger les données Le plus simple est d'interroger toutes les données de la table, qui est la commande que nous avons utilisée initialement :
Format : sélectionnez * dans ec0983fd17b6413e27b8650c341d2c1b, * représente tous les champs.mysql> select * from PEOPLE; +----+--------+-----+---------------------+| ID | NAME | AGE | BIRTHDAY | +----+--------+-----+---------------------+| 1 | Anny | 22 | 1992-05-22 00:00:00 | | 2 | Calvin | 23 | 1991-05-22 00:00:00 | | 4 | Nick | 24 | 1990-05-22 00:00:00 || 5 | Rick | 24 | 1991-05-22 00:00:00 | +----+--------+-----+---------------------+4 rows in set (0.00 sec)
Vous pouvez également spécifier les champs (colonnes) affichés lors de l'interrogation des données :
Format : sélectionnez 99c94b280f143287b8b6776170854470 dans ec0983fd17b6413e27b8650c341d2c1b.mysql> select NAME, AGE, BIRTHDAY from PEOPLE; +--------+-----+---------------------+| NAME | AGE | BIRTHDAY | +--------+-----+---------------------+| Anny | 22 | 1992-05-22 00:00:00 | | Calvin | 23 | 1991-05-22 00:00:00 | | Nick | 24 | 1990-05-22 00:00:00 || Rick | 24 | 1991-05-22 00:00:00 | +--------+-----+---------------------+4 rows in set (0.00 sec)
La commande select query a également de nombreuses utilisations avancées, telles que la recherche de données uniques (distinctes), le tri des données selon des conditions (triées par), l'affichage des données selon les conditions de requête (où), etc. Ceux-ci seront mis en évidence dans le prochain article. Veuillez continuer à prêter attention à mon blog. Merci.
4. Gestion des vues
4.1 Création de vuesUne vue est une table virtuelle qui exporte une ou plusieurs tables de la base de données pour plus de commodité Opérations utilisateur sur les données.
Affichez la vue après une création réussie.mysql> CREATE VIEW PEOPLE_VIEW ( -> NAME, AGE) -> AS SELECT NAME, AGE FROM PEOPLE;Nous pouvons également utiliser la commande DESC pour visualiser la structure de la vue.
PEOPLE PEOPLE.AGE PEOPLE.BIRTHDAY PEOPLE.ID PEOPLE.NAME mysql> SELECT * FROM PEOPLE_VIEW -> ;+--------+-----+ | NAME | AGE | +--------+-----+ | Anny | 22 | | Calvin | 23 | | Nick | 24 | | Rick | 24 | +--------+-----+4 rows in set (0.00 sec)
mysql> DESC PEOPLE_VIEW; +-------+---------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+| ID | int(11) | NO | | 0 | | +-------+---------+------+-----+---------+-------+1 row in set (0.01 sec)4.2 Remplacer la vue
Créer ou remplacer la vue d'origine.
Afficher la vue après création ou remplacement.mysql> CREATE OR REPLACE VIEW PEOPLE_VIEW(PEOPLE_ID,PEOPLE_NAME,PEOPLE_AGE) AS SELECT ID,NAME,AGE FROM PEOPLE; Query OK, 0 rows affected (0.00 sec)
mysql> SELECT * FROM PEOPLE_VIEW; +-----------+-------------+------------+| PEOPLE_ID | PEOPLE_NAME | PEOPLE_AGE | +-----------+-------------+------------+| 1 | Anny | 22 | | 2 | Calvin | 23 | | 4 | Nick | 24 || 5 | Rick | 24 | +-----------+-------------+------------+4 rows in set (0.00 sec)4.3 Vue des opérations
Lorsque les données de la vue changent (ajouter, supprimer, modifier), les données réelles de la table changeront également. En d’autres termes, l’opération sur la vue concerne les données de la table, nous pouvons donc traiter la vue comme une table.
Exemple : Insérez une donnée dans la vue.
Affichez la vue après avoir inséré avec succès des données.mysql> INSERT INTO PEOPLE_VIEW VALUES(NULL, 'Kerry', '33'); Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM PEOPLE_VIEW ; +-----------+-------------+------------+| PEOPLE_ID | PEOPLE_NAME | PEOPLE_AGE | +-----------+-------------+------------+| 1 | Anny | 22 | | 2 | Calvin | 23 | | 4 | Nick | 24 | | 5 | Rick | 24 || 6 | Kerry | 33 | +-----------+-------------+------------+5 rows in set (0.00 sec)
可以在视图上看到我们刚刚插入的数据,现在我们就来验证一下真实的表是否也会作出变化。
mysql> SELECT * FROM PEOPLE; +----+--------+-----+---------------------+| ID | NAME | AGE | BIRTHDAY | +----+--------+-----+---------------------+| 1 | Anny | 22 | 1992-05-22 00:00:00 | | 2 | Calvin | 23 | 1991-05-22 00:00:00 | | 4 | Nick | 24 | 1990-05-22 00:00:00 | | 5 | Rick | 24 | 1991-05-22 00:00:00 || 6 | Kerry | 33 | NULL | +----+--------+-----+---------------------+5 rows in set (0.00 sec)
可见,真实的表数据也已经有所改变,刚刚往视图里插入的那一条数据存在于真实表中,真理便是:对视图的操作就是对表的数据。
4.4 删除视图
mysql> DROP VIEW PEOPLE_VIEW;Query OK, 0 rows affected (0.00 sec)
相关推荐:
mac使用终端运行mysql,mysql终端,mysql mac,mysql目录,mysql路径,macmysql
mac使用终端运行mysql,mysql终端,mysql mac,mysql目录,mysql路径
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!