如果你喜欢在命令行中工作,你可以通过
shell> mysql --user=[user_name] --password=[your_password db_name]
这将启动 mysql 命令行工具。它看起来像这样:
mysql>
现在你可以做一些这样的查询:
mysql> show databases; // to list all your dbs
mysql> use [db_name]; // to change to your db
mysql> show tables; // to list all tables of your db
参见手册:http ://dev.mysql.com/doc/refman/5.6/en/mysql.html
你可以在命令行中做你想做的事,但使用 gui 工具(如 sqlyog、heidisql 或基于 web 的 phpmyadmin 工具)要舒服得多。您可以在此处查看和编辑您的数据/数据库/表,并且可以通过您最喜欢的 gui 工具发送相同的查询。
使用约束
如果您要求创建关系,听起来您想创建约束。您真的不需要数据库模式的约束。可以不受任何限制地构建您想要的东西。关系本身只存在于你的大脑中。
用户和汽车的小例子(MYISAM 表)
table user
- id_user (int)
- name (varchar)
table car
- id_car (int)
- name (varchar)
- fi_user (int)
创建查询:
CREATE TABLE `user` (
`id_user` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR( 64 ) NOT NULL
) ENGINE = MYISAM ;
CREATE TABLE `car` (
`id_car` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR( 64 ) NOT NULL ,
`fi_user` INT NOT NULL
) ENGINE = MYISAM ;
这就是你所需要的。只需将用户的 id 放入汽车的 fi_user 字段中,您就有了关系。
INSERT INTO `user` (`id_user`,`name`) VALUES (1, 'testuser');
INSERT INTO `car` (`id_car`, `name`, `fi_user`) VALUES (1, 'testcar', 1);
现在你可以这样做:
SELECT * FROM `car` c JOIN `user` u ON (u.id_user=c.fi_user) WHERE 1
可以在 INNODB 中使用约束,但您不必使用它们。我更喜欢MYISAM,因为它更快。请阅读本文以了解限制是什么以及您可能喜欢使用它的原因
http://dev.mysql.com/doc/refman/5.6/en/innodb-foreign-key-constraints.html