五、MySQL 日常管理 云少 2019-09-05 2019-09-05 五、MySQL 日常管理 下面列出了日常管理 MySQL 数据库过程中常用的命令
USE 命令 USE 命令用于选择要操作的 MySQL 数据库
使用该命令后所有 MySQL 命令都只针对该数据库
USE 命令语法格式如下 示例 1 2 3 MariaDB [(none)]> USE test ; Database changed MariaDB [test ]>
可以看到,使用了 USE 命令后, mysql 提示符中的 [(none)]
会变成 [test]
SHOW DATABASE 命令 SHOW DATABASES 命令用于列出 MySQL 数据库管理系统的数据库
1 2 3 4 5 6 7 8 9 10 MariaDB [test ]> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.00 sec)
SHOW TABLES 命令 SHOW TABLES 命令用于列出指定数据库中的所有表 使用该命令前需要使用 USE 命令来选择要操作的数据库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 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,默认值等等信息
1 2 3 4 5 6 7 8 9 10 11 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(主键)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 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 中所有表的信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 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 开头的表的信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 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)