3 使用MySQL

3.2 选择数据库

在你最初连接到MySQL时,没有任何数据库打开供你使用。在你能执行任意数据库操作前,需要选择一个数据库。为此,可使用USE关键字。

mysql> USE crashcourse;
Database changed

3.3 了解数据库和表

不知道可使用的数据库名?SHOW DATABASES; 可返回可用数据库的一个列表。

mysql> SHOW DATABASES;
+-------------+
| Database    |
+-------------+
| databse1    |
| databse2    |
+-------------+

获得一个数据库内的表的列表?SHOW TABLES; 返回当前选择的数据库内可用表的列表。

mysql> SHOW TABLES;
+-----------------------+
| Tables_in_testdata    |
+-----------------------+
| table001              |
| table002              |
+-----------------------+

SHOW也可以用来显示表列

mysql> SHOW COLUMNS FROM table001;
+--------+---------+---------+---------+---------+---------------+
| Field  | Type    | Null    | Key     | Default | Extra         |
+--------+---------+---------+---------+---------+---------------+
| id     | int(11) | NO      | PRI     | NULL    |auto_increment |
+--------+---------+---------+---------+---------+---------------+
mysql> DESCRIBE table001;
+--------+---------+---------+---------+---------+---------------+
| Field  | Type    | Null    | Key     | Default | Extra         |
+--------+---------+---------+---------+---------+---------------+
| id     | int(11) | NO      | PRI     | NULL    |auto_increment |
+--------+---------+---------+---------+---------+---------------+

SHOW COLUMNS要求给出一个表名,它对每个字段返回一行,行中包含字段名、数据类型、是否允许NULL、键信息、默认值以及其他信息(如auto_increment)。

SHOW STATUS;用于显示广泛的服务器状态信息。

SHOW CREATE DATABASESHOW CREATE TABLE,分别用来显示创建特定数据库或表的MySQL语句;

MariaDB [testdatabase]> show create database testdatabase;
+--------------+-----------------------------------------------------------------------------------------------------+
| Database     | Create Database                                                                                     |
+--------------+-----------------------------------------------------------------------------------------------------+
| testdatabase | CREATE DATABASE `testdatabase` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */ |
+--------------+-----------------------------------------------------------------------------------------------------+
MariaDB [testdatabase]> show create table tasks;
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                              
                                                                                                                                    
                                                                                                                       |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tasks | CREATE TABLE `tasks` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `Name` varchar(50) NOT NULL,
  `Result` tinyint(1) DEFAULT 0,
  `Fault` int(11) DEFAULT 0,
  `Correct` int(11) DEFAULT 0,
  `Description` varchar(100) DEFAULT NULL,
  `Parent` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

SHOW GRANTS,用来显示授予用户(所有用户或特定用户)的安全权限;

MariaDB [testdatabase]> SHOW GRANTS;
+----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@localhost                                                                                                              |
+----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO `root`@`localhost` IDENTIFIED BY PASSWORD '*DE0A26A6E94640F86D1505CF278C382693A1D00A' WITH GRANT OPTION |
| GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION                                                                          |
+----------------------------------------------------------------------------------------------------------------------------------------+

SHOW ERRORSSHOW WARNINGS,用来显示服务器错误或警告消息。