昨天其实在阿里云主机安装mysql成功后, 也迅速根据这个基础教程试了下mysql. 今天就翻译+总结一下.

登录mysql

mysql -u root -p

需要注意两点:

  • mysql语句全部需要用分号;结尾.
  • mysql命令一般用大写, 但是表格以及名字一般用小写, 这仅是为了方便区分.

database 检查/创建/删除

SHOW DATABASES;         # 检查已有database
CREATE DATABASE testdb; # 创建新的database, 取名testdb
DROP DATABASE testdb;   # 删除database

database 创建/查看表格

USE testdb; # 打开testdb这个数据库
SHOW tables; # 检查数据库中已有的表
# 因为是新建的表格, 返回的是 "Empty set"


# 创建表格取名potluck
CREATE TABLE potluck (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
# id是列名, 类型是INI整数, id也是primary key, 并且会自动每排增加填充
name VARCHAR(20),
food VARCHAR(30),
confirmed CHAR(1),
signup_date DATE);

创建的新表格potluck一共有5列, 第一个参数定义名字, 然后定义数据类型. 数据类型有很多种, 可参考官方文档create-table中的data_type

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向表格添加数据, 类似在excel中写入每行数据
INSERT INTO `potluck` (`id`,`name`,`food`,`confirmed`,`signup_date`)
VALUES (NULL, "John", "Casserole","Y", '2012-04-11');

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');

# 使用SELECT语句查看表格数据
# SELECT * 表示从表格中选取所有数据
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)

SELECT语句在mysql用的很多, 主要用途就是获取数据, 用法具体可参考官方文档

# 更新数据信息使用UPDATE语句, WHERE定义更新数据位置
UPDATE `potluck`
SET
`confirmed` = 'Y'
WHERE `potluck`.`name` ='Sandy';

添加或删除列

ALTER TABLE potluck ADD email VARCHAR(40);
# 添加列使用ALTER语句
# 在表格最后插入email这一列数据

ALTER TABLE potluck ADD email VARCHAR(40) AFTER name;
# AFTER name 指定了新插入列所在位置

ALTER TABLE potluck DROP email;
# DROP 删除列

DELETE from potluck where name='Sandy';
# 删除行

To Be Continued….