当前位置: 首页 > 文档资料 > MySQL 中文手册 >

13.3. MySQL实用工具语句

优质
小牛编辑
132浏览
2023-12-01
13.3.1. DESCRIBE语法(获取有关列的信息)
13.3.2. USE语法

13.3.1. DESCRIBE语法(获取有关列的信息)

{DESCRIBE | DESC} tbl_name [col_name | wild]

DESCRIBE可以提供有关表中各列的信息。它是SHOW COLUMNS FROM的快捷方式。这些语句也可以显示语句,用于阅览。

见13.5.4.3节,“SHOW COLUMNS语法”。

col_name可以是一个列名称,或一个包含‘%’和‘_’的通配符的字符串,用于获得对于带有与字符串相匹配的名称的各列的输出。没有必要在引号中包含字符串,除非其中包含空格或其它特殊字符。

mysql> DESCRIBE city;
+------------+----------+------+-----+---------+----------------+
| Field      | Type     | Null | Key | Default | Extra  |
+------------+----------+------+-----+---------+----------------+
| Id | int(11)  | NO   | PRI | NULL    | auto_increment |
| Name       | char(35) | NO   |     | ||
| Country    | char(3)  | NO   | UNI | ||
| District   | char(20) | YES  | MUL | ||
| Population | int(11)  | NO   |     | 0       ||
+------------+----------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

NULL字段指示是否NULL可以被存储在列中。

Key字段指示是否该列已编制索引。PRI的值指示该列是表的主键的一部分。UNI指示,该列是UNIQUE索引的一部分。MUL值指示,在列中某个给定值多次出现是允许的。

MUL将被显示在UNIQUE索引中,原因之一是多个列会组合成一个复合UNIQUE索引;尽管列的组合是唯一的,但每个列仍可以多次出现同一个给定值。注意,在复合索引中,只有索引最左边的列可以进入Key字段中。

默认字段指示,默认值被赋予该列。

Extra字段包含可以获取的与给定列有关的附加信息。在我们的例子中,Extra字段指示,Id列使用AUTO_INCREMENT关键词创建。

如果列类型与您预计的依据CREATE TABLE语句得出的列类型不同,则请注意,MySQL有时会改变列类型。请参见13.1.5.1节,“沉寂的列规格变更”。

DESCRIBE语句被设立出来,用于与Oracle相兼容。

SHOW CREATE TABLE和SHOW TABLE STATUS语句也可以提供有关表的信息。请参见13.5.4节,“SHOW语法”。

13.3.2. USE语法

USE db_name

USE db_name语句可以通告MySQL把db_name数据库作为默认(当前)数据库使用,用于后续语句。该数据库保持为默认数据库,直到语段的结尾,或者直到发布一个不同的USE语句:

mysql> USE db1;
mysql> SELECT COUNT(*) FROM mytable;   # selects from db1.mytable
mysql> USE db2;
mysql> SELECT COUNT(*) FROM mytable;   # selects from db2.mytable

使用USE语句为一个特定的当前的数据库做标记,不会阻碍您访问其它数据库中的表。下面的例子可以从db1数据库访问作者表,并从db2数据库访问编辑表:

mysql> USE db1;
mysql> SELECT author_name,editor_name FROM author,db2.editor
    ->WHERE author.editor_id = db2.editor.editor_id;

USE语句被设立出来,用于与Sybase相兼容。