「数据库」如何「切换」操作? (数据库怎么切换)
数据库是一种非常重要的数据管理工具,很多企业都会使用数据库来管理企业的数据,提高数据的存储和管理效率。在使用数据库的过程中,经常需要进行「切换」操作,例如切换数据库、表、模式等等。本文将介绍在使用数据库的过程中如何进行「切换」操作。
一、切换数据库
在使用数据库的过程中,往往会有多个数据库存在,需要进行切换。下面以MySQL数据库为例,介绍如何切换数据库。
1. 查看当前所在数据库
使用命令SHOW DATABASES;可以查看当前所有的数据库。使用命令SELECT DATABASE();可以查看当前所在的数据库。例如:
mysql> SHOW DATABASES;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| performance_schema |
| sakila |
| sys |
| test |
| world |
+——————–+
7 rows in set (0.00 sec)
mysql> SELECT DATABASE();
+————+
| DATABASE() |
+————+
| NULL |
+————+
1 row in set (0.00 sec)
2. 切换数据库
使用命令USE DATABASE_NAME; 可以切换到指定的数据库。例如:
mysql> USE world;
Database changed
使用命令SELECT DATABASE();可以查看切换后的数据库。
二、切换表
在数据库中,一个数据库往往包含多个表。在切换表的时候,需要注意汇总表可能会产生数据误操作。
1. 查看当前所在的表
使用命令SHOW TABLES;可以查看当前所有的表。例如:
mysql> SHOW TABLES;
+——————-+
| Tables_in_test |
+——————-+
| mysql_test_table |
| student |
| student_course |
| test_table |
| users |
+——————-+
5 rows in set (0.00 sec)
使用命令SELECT * FROM table_name;即使用一个SELECT语句来查看当前表的全部数据。例如:
mysql> SELECT * FROM users;
+—-+————+———-+———————+
| id | name | password | eml |
+—-+————+———-+———————+
| 1 | test_user1 | 123456 | test_user1@qq.com |
| 2 | test_user2 | 123456 | test_user2@qq.com |
| 3 | test_user3 | 123456 | test_user3@qq.com |
| 4 | test_user4 | 123456 | test_user4@qq.com |
| 5 | test_user5 | 123456 | test_user5@qq.com |
+—-+————+———-+———————+
5 rows in set (0.00 sec)
2. 切换表
使用命令USE DATABASE_NAME; 可以切换到指定的表,例如:
mysql> SELECT * FROM users;
+—-+————+———-+———————+
| id | name | password | eml |
+—-+————+———-+———————+
| 1 | test_user1 | 123456 | test_user1@qq.com |
| 2 | test_user2 | 123456 | test_user2@qq.com |
| 3 | test_user3 | 123456 | test_user3@qq.com |
| 4 | test_user4 | 123456 | test_user4@qq.com |
| 5 | test_user5 | 123456 | test_user5@qq.com |
+—-+————+———-+———————+
5 rows in set (0.00 sec)
mysql> USE test;
Database changed
mysql> SHOW TABLES;
+——————-+
| Tables_in_test |
+——————-+
| mysql_test_table |
| student |
| student_course |
| test_table |
| users |
+——————-+
5 rows in set (0.00 sec)
mysql> USE users;
Database changed
mysql> SELECT * FROM users;
+—-+————+———-+———————+
| id | name | password | eml |
+—-+————+———-+———————+
| 1 | test_user1 | 123456 | test_user1@qq.com |
| 2 | test_user2 | 123456 | test_user2@qq.com |
| 3 | test_user3 | 123456 | test_user3@qq.com |
| 4 | test_user4 | 123456 | test_user4@qq.com |
| 5 | test_user5 | 123456 | test_user5@qq.com |
+—-+————+———-+———————+
5 rows in set (0.00 sec)
三、切换模式
在数据库中,一个模式往往包含多个对象,例如表、视图、存储过程等等。在切换模式时,需要明确要切换到哪一个模式下面执行操作。
1. 查看当前所在模式
使用命令SHOW TABLES; 可以查看当前模式下的所有对象。例如:
mysql> SHOW TABLES;
+——————-+
| Tables_in_test |
+——————-+
| mysql_test_table |
| student |
| student_course |
| test_table |
| users |
+——————-+
5 rows in set (0.00 sec)
2. 切换模式
使用命令USE DATABASE_NAME; 可以切换到指定的模式,例如:
mysql> USE information_schema;
Database changed
mysql> SHOW TABLES;
+————————————+
| Tables_in_information_schema |
+————————————+
| CHARACTER_SETS |
| COLLATIONS |
| COLLATION_CHARACTER_SET_APPLICABILITY|
| COLUMN_PRIVILEGES |
| COLUMNS |
| ENGINES |
| EVENTS |
| FILES |
| GLOBAL_STATUS |
| GLOBAL_VARIABLES |
| KEY_COLUMN_USAGE |
| PARAMETERS |
| PARTITIONS |
| PLUGINS |
| PROCESSLIST |
| PROFILING |
| REFERENTIAL_CONSTRNTS |
| RESOURCE_GROUPS |
| ROUTINES |
| SCHEMATA |
| SCHEMA_PRIVILEGES |
| SESSION_STATUS |
| SESSION_VARIABLES |
| STATISTICS |
| TABLES |
| TABLESPACES |
| TABLE_CONSTRNTS |
| TABLE_PRIVILEGES |
| TRIGGERS |
| USER_PRIVILEGES |
| VIEWS |
+————————————+
32 rows in set (0.00 sec)
mysql> USE information_schema;
mysql> SHOW TABLES;
+————————————+
| Tables_in_performance_schema |
+————————————+
| accounts |
| cond_instances |
| events_wts_current |
| events_wts_history |
| events_wts_history_long |
| external_locks |
| file_instances |
| file_summary_by_event_name |
| file_summary_by_instance |
| host_summary |
| host_summary_by_file_io |
| host_summary_by_file_io_type |
| host_summary_by_stages |
| host_summary_by_statement_latency |
| innodb_buffer_stats_by_schema |
| innodb_buffer_stats_by_table |
| innodb_lock_wts |
| io_by_thread_by_latency |
| io_global_by_file_by_bytes |
| io_global_by_file_by_latency |
| io_global_by_wt_by_bytes |
| io_global_by_wt_by_latency |
| latest_file_uploads |
| memory_summary_by_account_by_event_name|
| memory_summary_by_host_by_event_name|
| memory_summary_by_thread_by_event_name|
| open_table_definitions |
| open_tables |
| performance_schema_backup_locks |
| performance_schema_locker |
| performance_schema_mutex_instances |
| performance_schema_rwlock_instances|
| performance_schema_session_connect_attrs|
| performance_schema_socket_instances|
| performance_schema_stage_instances |
| performance_schema_statement_ysis|
| performance_schema_table_handles |
| performance_schema_table_instances |
| performance_schema_thread_instances|
| performance_schema_users |
| performance_timers |
| prepared_statements_instances |
| processlist |
| ps_check_lost_instrumentation |
| ps_connection_events |
| ps_events_stages_histogram |
| ps_events_stages_summary_by_account_by_event_name|
| ps_events_stages_summary_by_host_by_event_name|
| ps_meta_events |
| ps_mutex_instances |
| ps_rwlock_instances |
| ps_setup_actors |
| ps_setup_objects |
| ps_setup_objects_summary |
| ps_statements_ysis |
| ps_statements_digest |
| ps_statements_digest_history |
| ps_status |
| ps_thread_events |
| ps_tls_channels |
| repeatable_read |
| schema_auto_increment_columns |
| schema_index_statistics |
| schema_object_instances |
| schema_redundant_indexes |
| schema_table_lock_wts |
| schema_table_statistics |
| schema_table_statistics_with_buffer|
| schema_triggers |
| schema_unused_indexes |
| session_account_connect_attrs |
| session_connect_attrs |
| setup_actors |
| setup_consumers |
| setup_instruments |
| setup_objects |
| setup_timers |
| socket_instances |
| stage_class |
| statement_ysis |
| statements_with_errors |
| statements_with_full_table_scans |
| statements_with_runtimes_in_95th_percentile|
| statements_with_sorting |
| statements_with_temp_tables |
| status_by_account |
| status_by_host |
| status_by_thread |
| status_by_user |
| table_handles |
| table_io_wts_summary_by_index_usage|
| table_lock_wts |
| table_partitions |
| table_replication_metadata |
| table_statistics |
| table_statistics_with_buffer |
| thread_pool_groups |
| thread_pool_resize_request |
| thread_pool_slave_threads |
| thread_pool_threads |
| user_defined_functions |
| user_variables_by_thread |
| wsrep_local_bf_aborts |
| wsrep_local_index |
| wsrep_local_state |
| wsrep_slave_FNO |
| wsrep_slave_GAP |
| wsrep_slave_threshold |
+————————————+
121 rows in set (0.00 sec)
四、
在使用数据库的过程中,「切换」操作非常频繁。在切换数据库、表、模式的时候,一定要谨慎处理,以免出现误操作。同时,建议在进行「切换」操作之前确认好自己当前的状态,以免造成不必要的损失。