下载PDF文件
下载PDF文件
MySQL是一种复杂的程序。它的所有命令必须通过命令行输入;且它不提供可视化界面。因此,了解创建和管理数据库的基本知识将为你节省不少时间并避免不少麻烦。参考以下方法创建一个保存了美国各州及其人口数的数据库。
步骤
-
创建数据库。 在MySQL命令行中,输入命令
CREATE DATABASE <DATABASENAME>;
。 把命令中的<DATABASENAME>
替换为你的数据库的名称。其中不能包含空格。- 例如,要创建包含所有美国各州的数据库,可以输入
CREATE DATABASE us_states;
- 注意:命令不必以大写字母输入。
- 注意:所有MySQL命令必须以";"结束。如果忘记了输入分号,可以在下一行中输入";"让前一命令得到处理。
- 例如,要创建包含所有美国各州的数据库,可以输入
-
显示可用数据库列表。 输入命令
SHOW DATABASES;
列出所有已保存的数据库。除了你所创建的数据库外,你还将看到一个mysql
数据库和一个test
数据库。当前你可以忽略它们。 -
选择你的数据库。 创建数据库后,你需要在对其进行编辑前先选中它。输入命令
USE us_states;
。你将看到信息Database changed
,则你可以确认当前的活跃数据库是us_states
。 -
创建数据表。 数据表用于保存数据库中的信息。要创建数据表,你需要在初始命令中输入数据表的所有格式化信息。输入以下命令创建数据表:
CREATE TABLE states (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, state CHAR(25), population INT(9));
。这将创建名为"states"且包括以下三个域的数据表:id
,state
和population
。-
INT
命令将使得id
域只能保存数字(整数)。 -
NOT NULL
命令保证id
域不能为空。 -
PRIMARY KEY
则指定id
域作为数据表的键域。作为键域的域不能包含重复的数据。 -
AUTO_INCREMENT
命令将自动分配递增的值到id
域,尤其是将自动分配数字到对应域中。 -
CHAR
(字符)和INT
(整数)命令指定相关域中可存储的数据类型。命令旁的数字则指定对应域中可以包括多少字符或多大的整数。
-
-
在数据表中创建记录。 我们现在已经创建了数据表,可以开始输入你的数据了。使用以下命令输入你的第一条记录:
INSERT INTO states (id, state, population) VALUES (NULL, ‘Alabama’, ‘4822023’);
- 该命令将让数据库把所输入的信息保存到数据表对应的三个域中。
- 因为
id
域受到命令NOT NULL
的限制,输入NULL
作为它的值的话,由于AUTO_INCREMENT
命令的作用,将会自动强制其值递增1。
-
创建更多记录。 你可以通过一条命令创建多条记录。要输入下三条记录,可以使用以下命令:
INSERT INTO states (id, state, population) VALUES (NULL, ‘Alaska’, ‘731449’), (NULL, ‘Arizona’, ‘6553255’), (NULL, ‘Arkansas’, ‘2949131’);
。- 这将创建如下数据表:
- 这将创建如下数据表:
-
对新数据库运行查询语句。 现在我们已经创建了基本的数据库,你可以输入查询语句获取特定的查询结果。首先输入命令:
SELECT * FROM us_states;
。该命令将返回整个数据库,因为命令中使用了"*",表示"全部"。- 要进行高级查询:输入以下命令:
SELECT state, population FROM us_states ORDER BY population;
。该命令将返回按照人口排序而非字母排序的包括州和人口数两列的一个数据表。其中id
域将不会被现实,因为命令中只要求查询state
和population
记录。 - 要按照人口逆向排序列出州记录,输入以下命令
SELECT state, population FROM us_states ORDER BY population DESC;
。其中的DESC
命令将按照递减顺序对记录进行排列,即按照数值由高到低而非由低到高排列。 [1] X 研究来源
广告 - 要进行高级查询:输入以下命令:
小提示
- 以下为常用的数据类型:(要获得相关信息的完整列表,查看mysql文档 http://dev.mysql.com/doc/
)
- CHAR ( length ) - 固定长度字符串
- VARCHAR ( length ) - 最大长度为 length 的可变长度字符串
- TEXT - 最大长度为64KB的文本大小的可变长度字符串。
- INT ( length ) - 最大为 length 位数字的32位整数(对于负数,'-'也被算作一位'数字'。)
- DECIMAL ( length , dec ) - 对多总共可现实 length 位字符的十进制小数。其中 dec 域指定最多可允许的小数位。
- DATE - 日期值(年,月,日)
- TIME - 时间值(时,分,秒)
- ENUM (" value1 "," value2 ", ....) - 枚举值列表。
- 以下为一些可选参数:
- NOT NULL - 必须在指定域中提供一个值。该域不能留空。
- DEFAULT default-value - 如果没有指定值, default-value 将赋予给该域。
- UNSIGNED - 对于数值域,确保其中的数值不为负数。
- AUTO_INCREMENT - 每次有新的一行记录添加到数据表中时,该域的值将自动递增。
广告
广告