基本MySQL教程

MySQL是一个强大的数据库管理系统,用于组织和检索数据。本教程解释如何访问MySQL Shell,如何创建和删除新的数据库,如何创建和删除新的表,以及如何添加,删除和向上

关于MySQL

MySQL是一个开源数据库管理软件,可帮助用户存储,组织和检索数据。 它是一个非常强大的程序,具有很大的灵活性 - 本教程将提供对MySQL最简单的介绍

如何在Ubuntu和CentOS上安装MySQL

如果你没有安装在你的Droplet上的MySQL,你可以快速下载它。

ubuntu:

sudo apt-get install mysql-server

Centos:

sudo yum install mysql-server
/etc/init.d/mysqld start

如何访问MySQL shell

一旦在你的小程序上安装了MySQL,就可以通过在终端中键入以下命令来访问MySQL shell:

mysql -u root -p

在输入根MySQL密码进入提示符(不要与根Droplet密码混淆)后,您将能够开始构建您的MySQL数据库。

有两点要记住:

  • 所有MySQL命令以分号结尾; 如果短语没有以分号结尾,则命令不会执行。
  • 此外,尽管不是必需的,但是MySQL命令通常用大写写,数据库,表,用户名或文本都是小写的,以使它们更容易区分。 但是,MySQL命令行不区分大小写。

如何创建和删除MySQL数据库

MySQL将其信息组织到数据库中; 每个都可以保存具有特定数据的表。

您可以通过键入以下内容快速检查可用的数据库:

SHOW DATABASES;

您的屏幕应该看起来像这样:

 mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.01 sec)

创建数据库非常简单:

 CREATE DATABASE database name;

在这种情况下,例如,我们将调用我们的数据库“事件”。

 mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| events             |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)

在MySQL中,最常用于删除对象的短语是Drop。 您将使用此命令删除MySQL数据库:

 DROP DATABASE database name;

如何访问MySQL数据库

一旦我们有一个新的数据库,我们可以开始填充信息。

第一步是在较大的数据库中创建一个新表。

让我们打开我们要使用的数据库:

 USE events;

以同样的方式检查可用的数据库,您还可以查看数据库包含的表的概述。

 SHOW tables; 

由于这是一个新的数据库,MySQL没有任何显示,你会得到一个消息,说“空集”

如何创建MySQL表

让我们想象一下,我们正在计划一起聚会的朋友。 我们可以使用MySQL跟踪事件的详细信息。

让我们创建一个新的MySQL表:

CREATE TABLE potluck (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, 
name VARCHAR(20),
food VARCHAR(30),
confirmed CHAR(1), 
signup_date DATE);

这个命令完成了一些事情:

  1. 它已经在目录,事件中创建了一个名为potluck的表。
  2. 我们在表id,名称,食品,确认和注册日期中设置了5列。
  3. “id”列具有自动为每行编号的命令(INT NOT NULL PRIMARY KEY AUTO_INCREMENT)。
  4. “名称”列已被VARCHAR命令限制为不超过20个字符。
  5. “食物”栏指定每个人将带来的食物。 VARCHAR将文本限制为30个字符以下。
  6. “确认”列记录该人是否已用一个字母Y或N回复。
  7. “日期”列将显示他们注册活动的时间。 MySQL要求日期写为yyyy-mm-dd

让我们使用“SHOW TABLES;”来查看表在数据库中的显示方式。 命令:

 mysql> SHOW TABLES;
+------------------+
| Tables_in_events |
+------------------+
| potluck          |
+------------------+
1 row in set (0.01 sec)

我们可以用这个命令提醒自己关于表的组织:

 DESCRIBE potluck;

请记住,虽然MySQL命令行不注意情况,表和数据库名称区分大小写:potluck不同于POTLUCK或Potluck。

 mysql>DESCRIBE potluck;
+-------------+-------------+------+-----+---------+----------------+
| Field       | Type        | Null | Key | Default | Extra          |
+-------------+-------------+------+-----+---------+----------------+
| id          | int(11)     | NO   | PRI | NULL    | auto_increment |
| name        | varchar(20) | YES  |     | NULL    |                |
| food        | varchar(30) | YES  |     | NULL    |                |
| confirmed   | char(1)     | YES  |     | NULL    |                |
| signup_date | date        | YES  |     | NULL    |                |
+-------------+-------------+------+-----+---------+----------------+
5 rows in set (0.01 sec)

如何向MySQL表添加信息

我们有我们党的工作表。 现在是时候开始填写细节了。

使用此格式在每行中插入信息:

INSERT INTO `potluck` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "John", "Casserole","Y", '2012-04-11');
一旦你输入,你会看到的话:
 Query OK, 1 row affected (0.00 sec)
让我们向我们的群组添加更多人:
INSERT INTO `potluck` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "Sandy", "Key Lime Tarts","N", '2012-04-14');
INSERT INTO `potluck` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "Tom", "BBQ","Y", '2012-04-18');
INSERT INTO `potluck` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "Tina", "Salad","Y", '2012-04-10'); 

我们可以看看我们的表:

mysql> SELECT * FROM potluck;
+----+-------+----------------+-----------+-------------+
| id | name  | food           | confirmed | signup_date |
+----+-------+----------------+-----------+-------------+
|  1 | John  | Casserole      | Y         | 2012-04-11  |
|  2 | Sandy | Key Lime Tarts | N         | 2012-04-14  |
|  3 | Tom   | BBQ            | Y         | 2012-04-18  |
|  4 | Tina  | Salad          | Y         | 2012-04-10  |
+----+-------+----------------+-----------+-------------+
4 rows in set (0.00 sec)

如何更新表中的信息

现在我们已经开始了我们的potluck列表,我们可以解决任何可能的更改。 例如:Sandy已经确认她正在参加,因此我们将在表中更新。

UPDATE `potluck` 
SET 
`confirmed` = 'Y' 
WHERE `potluck`.`name` ='Sandy';

您也可以使用此命令将信息添加到特定单元格,即使它们是空的。

如何添加和删除列

我们正在创建一个方便的图表,但它缺少一些重要的信息:我们的参与者的电子邮件。

我们可以很容易地添加:

 ALTER TABLE potluck ADD email VARCHAR(40);

此命令将默认情况下将名为“email”的新列置于表的末尾,VARCHAR命令将其限制为40个字符。

但是,如果您需要将该列放置在表中的特定位置,我们可以向命令中再添加一个短语。

 ALTER TABLE potluck ADD email VARCHAR(40) AFTER name; 

现在,新的“电子邮件”列位于列“名称”之后。

正如您可以添加列一样,您也可以删除一列:

ALTER TABLE potluck DROP email;

我想我们永远不会知道如何到达野餐会。

如何删除行

如果需要,您还可以使用以下命令从表中删除行:

DELETE from [table name] where [column name]=[field text];

例如,如果桑迪突然意识到她将不能参加百乐,毕竟,我们可以很快消除她的细节。

mysql> DELETE from potluck  where name='Sandy';
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM potluck;
+----+------+-----------+-----------+-------------+
| id | name | food      | confirmed | signup_date |
+----+------+-----------+-----------+-------------+
|  1 | John | Casserole | Y         | 2012-04-11  |
|  3 | Tom  | BBQ       | Y         | 2012-04-18  |
|  4 | Tina | Salad     | Y         | 2012-04-10  |
+----+------+-----------+-----------+-------------+
3 rows in set (0.00 sec)

请注意,与每个人相关联的id号保持不变。

作者Etel Sverdlov