关于MySQL

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

如何在Ubuntu和CentOS上安装MySQL

如果用户没有在vps上安装MySQL,可以进行快速下载。

ubuntu:

sudo apt-get install mysql-server

Centos:

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

如何访问MySQL shell

一旦在vps上安装MySQL,就可以通过在终端中键入以下命令来访问MySQL shell:

mysql -u root -p

输入root MySQL密码进入提示符后(不要与根vps密码混淆),便能够开始构建MySQL数据库。

记住两点:

1、所有MySQL命令以分号结尾,如果短语没有以分号结尾,则不会执行命令。

2、此外,尽管不作要求,但是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;

例如,在这种情况下,调用数据库“events”。

 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、在表中设置了5列,分别为id,名称,食品,确认和注册日期。

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 “” 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号始终保持不变。

拓展阅读