MySQL 日常管理
下面列出了日常管理 MySQL 数据库过程中常用的命令
USE 命令
USE 命令用于选择要操作的 MySQL 数据库
使用该命令后所有 MySQL 命令都只针对该数据库
USE 命令语法格式如下
USE **数据库名**
示例
MariaDB [(none)]> USE test; Database changed MariaDB [test]>
可以看到,使用了 USE 命令后, mysql 提示符中的 [(none)]
会变成 [test]
SHOW DATABASE 命令
SHOW DATABASES 命令用于列出 MySQL 数据库管理系统的数据库
MariaDB [test]> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.00 sec)
SHOW TABLES 命令
SHOW TABLES 命令用于列出指定数据库中的所有表 使用该命令前需要使用 USE 命令来选择要操作的数据库
MariaDB [test]> USE mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed MariaDB [mysql]> SHOW TABLES; +---------------------------+ | Tables_in_mysql | +---------------------------+ | columns_priv | | db | | event | | func | | general_log | | help_category | | help_keyword | | help_relation | | help_topic | | host | | ndb_binlog_index | | plugin | | proc | | procs_priv | | proxies_priv | | servers | | slow_log | | tables_priv | | time_zone | | time_zone_leap_second | | time_zone_name | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ 24 rows in set (0.00 sec)
SHOW COLUMNS FROM 命令
SHOW COLUMNS FROM table_name 命令用于显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等等信息
MariaDB [test]> SHOW COLUMNS FROM comps; +---------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(64) | YES | | NULL | | | website | varchar(128) | YES | | NULL | | | city | varchar(32) | YES | | NULL | | | ceo | varchar(32) | YES | | NULL | | +---------+--------------+------+-----+---------+----------------+ 5 rows in set (0.01 sec)
SHOW INDEX FROM 命令
SHOW INDEX FROM table_name 命令用于显示数据表的详细索引信息,包括 PRIMARY KEY(主键)
MariaDB [test]> SHOW INDEX FROM comps\G *************************** 1. row *************************** Table: comps Non_unique: 0 Key_name: PRIMARY Seq_in_index: 1 Column_name: id Collation: A Cardinality: 2 Sub_part: NULL Packed: NULL Null: Index_type: BTREE Comment: Index_comment: 1 row in set (0.00 sec)
SHOW TABLE STATUS LIKE LIKE 命令
SHOW TABLE STATUS LIKE [FROM db_name] [LIKE 'pattern'] 命令用于输出 MySQL 数据库管理系统的性能及统计信息
1. 显示数据库 test 中所有表的信息
MariaDB [(none)]> SHOW TABLE STATUS FROM test\G *************************** 1. row *************************** Name: comps Engine: InnoDB Version: 10 Row_format: Compact Rows: 5 Avg_row_length: 3276 Data_length: 16384 Max_data_length: 0 Index_length: 0 Data_free: 10485760 Auto_increment: 8 Create_time: 2017-10-08 19:13:22 Update_time: NULL Check_time: NULL Collation: utf8mb4_unicode_ci Checksum: NULL Create_options: Comment: 1 row in set (0.00 sec)
显示表名以 comps 开头的表的信息
MariaDB [test]> SHOW TABLE STATUS FROM test LIKE '%comps%'\G *************************** 1. row *************************** Name: comps Engine: InnoDB Version: 10 Row_format: Compact Rows: 5 Avg_row_length: 3276 Data_length: 16384 Max_data_length: 0 Index_length: 0 Data_free: 10485760 Auto_increment: 8 Create_time: 2017-10-08 19:13:22 Update_time: NULL Check_time: NULL Collation: utf8mb4_unicode_ci Checksum: NULL Create_options: Comment: 1 row in set (0.00 sec)