Command-Line Interface (CLI) database clients provide a way to interact with databases and perform various operations, such as querying data, managing schemas, and executing administrative tasks, using text-based commands.
Here are some commonly used CLI database clients for different database management systems:
Relational Databases:
- MySQL Command-Line Client: The MySQL CLI client allows you to interact with MySQL databases. You can execute SQL queries and manage MySQL server settings.
mysql -u username -p
: Log in to a MySQL server.SHOW DATABASES;
: List available databases.USE database_name;
: Switch to a specific database.SELECT * FROM table_name;
: Retrieve data from a table.
- PostgreSQL Command-Line Client (psql): psql is the command-line interface for PostgreSQL databases. It provides a powerful interactive shell.
psql -U username -d database_name
: Connect to a PostgreSQL database.\l
: List databases.\c database_name
: Connect to a specific database.\dt
: List tables in the current database.SELECT * FROM table_name;
: Run SQL queries.
- SQLite Command-Line Shell: SQLite includes a command-line shell for interacting with SQLite databases.
sqlite3 database_file
: Open an SQLite database file..tables
: List tables in the current database.SELECT * FROM table_name;
: Query data from tables.
NoSQL Databases:
- MongoDB Command-Line Client (mongo): The MongoDB CLI client is used for managing MongoDB databases and collections.
mongo
: Start the MongoDB shell.show dbs
: List databases.use database_name
: Switch to a specific database.db.collection_name.find()
: Query documents in a collection.
- Redis Command-Line Client (redis-cli): The Redis CLI client allows you to interact with Redis key-value stores.
redis-cli
: Start the Redis CLI.SET key value
: Set a key-value pair.GET key
: Retrieve the value associated with a key.KEYS *
: List all keys.
Graph Databases:
- Neo4j Shell (Cypher Shell): The Neo4j Cypher Shell is used for querying and managing Neo4j graph databases.
cypher-shell
: Start the Cypher Shell.MATCH (n) RETURN n;
: Query nodes and relationships in the graph.
In-Memory Databases:
- HSQLDB (HyperSQL Database) Command-Line Tool: HSQLDB provides a command-line tool for managing in-memory databases.
java -cp hsqldb.jar org.hsqldb.util.DatabaseManagerSwing
: Launch the HSQLDB Database Manager GUI.java -cp hsqldb.jar org.hsqldb.Server
: Start an HSQLDB server.java -cp hsqldb.jar org.hsqldb.util.SqlTool
: Start the HSQLDB SQL command-line tool.
These CLI database clients are valuable for database administrators, developers, and anyone who needs to work with databases directly from the command line. They provide a convenient and efficient way to manage and query databases without the need for graphical interfaces.