WEB开发网
开发学院数据库MySQL MySQL中文参考手册 - 常用查询的例子 阅读

MySQL中文参考手册 - 常用查询的例子

 2010-01-05 15:54:55 来源:WEB开发网   
核心提示:3.5 使用外键不需要外键联结2个表,MySQL唯一不做的事情是CHECK以保证你使用的键确实在你正在引用表中存在,MySQL中文参考手册 - 常用查询的例子(3),并且它不自动从有一个外键定义的表中删除行,如果你象平常那样使用你的键值

3.5 使用外键

不需要外键联结2个表。

MySQL唯一不做的事情是CHECK以保证你使用的键确实在你正在引用表中存在,并且它不自动从有一个外键定义的表中删除行。如果你象平常那样使用你的键值,它将工作得很好!

CREATE TABLE persons (
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
name CHAR(60) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE shirts (
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
style ENUM('t-shirt', 'polo', 'dress') NOT NULL,
color ENUM('red', 'blue', 'orange', 'white', 'black') NOT NULL,
owner SMALLINT UNSIGNED NOT NULL REFERENCES persons,
PRIMARY KEY (id)
);
INSERT INTO persons VALUES (NULL, 'Antonio Paz');
INSERT INTO shirts VALUES
(NULL, 'polo', 'blue', LAST_INSERT_ID()),
(NULL, 'dress', 'white', LAST_INSERT_ID()),
(NULL, 't-shirt', 'blue', LAST_INSERT_ID());
INSERT INTO persons VALUES (NULL, 'Lilliana Angelovska');
INSERT INTO shirts VALUES
(NULL, 'dress', 'orange', LAST_INSERT_ID()),
(NULL, 'polo', 'red', LAST_INSERT_ID()),
(NULL, 'dress', 'blue', LAST_INSERT_ID()),
(NULL, 't-shirt', 'white', LAST_INSERT_ID());
SELECT * FROM persons;
+----+---------------------+
| id | name        |
+----+---------------------+
| 1 | Antonio Paz     |
| 2 | Lilliana Angelovska |
+----+---------------------+
SELECT * FROM shirts;
+----+---------+--------+-------+
| id | style  | color | owner |
+----+---------+--------+-------+
| 1 | polo  | blue  |   1 |
| 2 | dress  | white |   1 |
| 3 | t-shirt | blue  |   1 |
| 4 | dress  | orange |   2 |
| 5 | polo  | red  |   2 |
| 6 | dress  | blue  |   2 |
| 7 | t-shirt | white |   2 |
+----+---------+--------+-------+
SELECT s.* FROM persons p, shirts s
WHERE p.name LIKE 'Lilliana%'
AND s.owner = p.id
AND s.color <> 'white';
+----+-------+--------+-------+
| id | style | color | owner |
+----+-------+--------+-------+
| 4 | dress | orange |   2 |
| 5 | polo | red  |   2 |
| 6 | dress | blue  |   2 |
+----+-------+--------+-------+

上一页  1 2 3 

Tags:MySQL 参考

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接