ターミナルでSQLを使用する方法は?


11

単純なテーブルを作成し、値を挿入し、クエリを実行したい。ターミナルでそれらを実行するには?

回答:


8

入力してデータベースを作成します

 mysql

入力するプロンプトで、データベースを作成することから始めます(コメントのonikで説明されています)。

 CREATE DATABASE dbname

そのデータベースを作成したら、それを試すことができます。ターミナルに入力するだけmysqlで、 SQLに関連するあらゆることを実行できます。ユーザー名を使用してデータベースのロールに作成した可能性があります。

Sauruvの回答で説明されているように、次のようにデータベースに接続することもできます(pとパスワードの間にスペースを入れずに、-pオプションを使用しないでください。パスワードプロンプトが表示されます[credits on onik])。

構文:

mysql -u user_name -ppassword dbname

-u : Specify mysql database user name
-p : Prompt for password
dbname : Specify database name

3
実際、指定した構文は指定されたデータベースにのみ接続し、作成はしません。データベースを指定せずに最初に接続して実行する必要がありますCREATE DATABASE [dbname]。コマンドライン(推奨されません上のパスワードを指定した場合また、構文は次のとおりですmysql -u user_name -ppassword databasepとパスワードの間にスペースを入れず、あなたはまた、ここでパスワードを省略することができますし、MySQLはより安全である、それを入力するように求められます。。
onik

@onikあなたは絶対に正しいです。次回は、自由に回答を編集するか、コピーして自分の回答に詳述してください。ありがたいことに、別の質問であなたの良い答えを見つけました。それを支持しました。
-don.joey

6

ターミナルからsqlステートメントを実行する構文は次のとおりです。

私はあなたが使用していると仮定していますMySQL

構文:

mysql -u user_name -p password -e 'SQL Query' database

クリアランス:

-u : Specify mysql database user name
-p : Prompt for password
-e : Execute sql query
database : Specify database name

例:

  • テーブルを作成するperson場合:

    mysql -u root -p -e 'Create table person(PersonID int, LastName varchar(255), FirstName varchar(255))' mydb
    

    ここ rootで、ユーザーmydb名は、データベースの名前です。同様に、必要なクエリを実行できます。

  • 次のinsert値にしたい場合person

    mysql -u root -p -e 'Insert into person(PersonID,LastName,FirstName) Values(100,"Kumar","Saurav")' mydb
    
  • すべての情報を選択personしてファイルに保存する場合:

    mysql -u root -p -e 'Select * from person' mydb > personinfo
    

そしてもちろん、ターミナル自体を使用してデータベースを作成できます

  • データベースmydbを作成するには、ターミナルで次のコマンドを実行します。

    mysql -u root -p -e 'create database mydb'
    

    メッセージ/出力を提供せずに、データベースmydbをサイレントに作成します。

  • すべてのデータベースをリストするには、ターミナルでこのコマンドを実行します。

    mysql -u root -p -e 'show databases'
    

それがあなたの助けになることを願っています。


1

mysqlはシンプルなコマンドラインツールです。mysqlはコマンドラインであり、非常に使いやすいです。次のようにコマンドインタープリターのプロンプトから呼び出します。

$ mysql

出力

mysql>

mysqlのユーザー名、パスワード、ホスト名を提供する必要がある場合があります:

$ mysql --user=your-user-name --password=your-password

mysql>

データベースをリストするには、次のコマンドを入力します

mysql> show databases;

出力

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
+--------------------+
2 rows in set (0.00 sec)

information_schemaとmysqlはデータベースの名前です。これらのデータベースを使用し、使用可能なテーブルをリストするには、次の2つのコマンドを入力します。

mysql> 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

テーブルを一覧表示する:

mysql> show tables;

出力:

+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| func                      |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| proc                      |
| procs_priv                |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
17 rows in set (0.00 sec)
mysql>

1

mycli

mysqlデフォルトのコンソールはきれいできれいですが、おそらくもっときれいですmycli(そして、Postgresの代替品ですpgcli)。

インストール:Ubuntu 16.04+では公式リポジトリにあります:sudo apt install mycli

$ mycli --help
Usage: mycli [OPTIONS] [DATABASE]

  A MySQL terminal client with auto-completion and syntax highlighting.

  Examples:
    - mycli my_database
    - mycli -u my_user -h my_host.com my_database
    - mycli mysql://my_user@my_host.com:3306/my_database

スクリーンショット

参照


0

任意のrdbms(Oracle、mysql、postgres、h2など)、csv、cassandra、elastic-search、mongo(apache-calcite経由)に接続できるsqllineがあります。

プロジェクトのデモページには短いデモビデオがあり、 複数行の編集、構文の強調表示、スマートなオートコンプリート、方言のサポートを提供します。

組み込み可能で、インストールする必要はありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.