共计 4336 个字符,预计需要花费 11 分钟才能阅读完成。
导读 | MySQL 是一个开源数据库管理软件,可帮助用户存储,组织和检索数据。它是一个非常强大的程序,具有很大的灵活性 – 本教程将提供对 MySQL 最简单的介绍。 |
如果你没有安装在你的 Droplet 上的 MySQL,你可以快速下载它。
ubuntu:sudo apt-get install mysql-server
Centos:sudo yum install mysql-server
/etc/init.d/mysqld start
一旦在你的小程序上安装了 MySQL,就可以通过在终端中键入以下命令来访问 MySQL shell:
mysql -u root -p
在输入根 MySQL 密码进入提示符(不要与根 Droplet 密码混淆)后,您将能够开始构建您的 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;
一旦我们有一个新的数据库,我们可以开始填充信息。
第一步是在较大的数据库中创建一个新表。
让我们打开我们要使用的数据库:
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);
这个命令完成了一些事情:
它已经在目录,事件中创建了一个名为 potluck 的表。
我们在表 id,名称,食品,确认和注册日期中设置了 5 列。
“id”列具有自动为每行编号的命令(INT NOT NULL PRIMARY KEY AUTO_INCREMENT)。
“名称”列已被 VARCHAR 命令限制为不超过 20 个字符。
“食物”栏指定每个人将带来的食物。VARCHAR 将文本限制为 30 个字符以下。
“确认”列记录该人是否已用一个字母 Y 或 N 回复。
“日期”列将显示他们注册活动的时间。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)
我们有我们党的工作表。现在是时候开始填写细节了。
使用此格式在每行中插入信息:
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“”not found /]
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 号保持不变。