Как использовать SQL в терминале?

11

Я хочу создавать простые таблицы, вставлять в них значения и выполнять запросы. Как выполнить их в терминале?

user198612
источник

Ответы:

8

Вы делаете базу данных, набрав

 mysql

В приглашении, которое вы вводите, вы начинаете с создания базы данных (как объяснил onik в комментариях):

 CREATE DATABASE dbname

Создав эту базу данных, вы можете поэкспериментировать с ней. Вы можете просто набрать mysqlв терминале, и вы можете сделать все, что связано с SQL, что вы хотите. Вполне возможно, что вы создали для роли в вашей базе данных с вашим именем пользователя.

Как описано в ответе Саурува, вы также можете подключиться к базе данных следующим образом (без пробела между p и вашим паролем или лучше, просто не используйте опцию -p, и вы получите запрос пароля [кредиты идут в onik]):

Синтаксис:

mysql -u user_name -ppassword dbname

-u : Specify mysql database user name
-p : Prompt for password
dbname : Specify database name
don.joey
источник
3
На самом деле, указанный вами синтаксис подключается только к указанной базе данных, но не создает ее. Сначала вам нужно подключиться без указания базы данных и запустить CREATE DATABASE [dbname]. Кроме того, если вы укажете пароль в командной строке (не рекомендуется, синтаксис mysql -u user_name -ppassword databaseбез пробела между p и вашим паролем. Здесь вы также можете опустить пароль, и MySQL
запросит
@onik ты абсолютно прав. В следующий раз не стесняйтесь либо отредактировать мой ответ, либо скопировать его и развернуть в свой ответ. В порядке благодарности я нашел хороший ответ на ваш вопрос и проголосовал за него.
don.joey
6

Вот синтаксис для выполнения оператора SQL из терминала

Я предполагаю, что вы используете MySQL.

Синтаксис:

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

Clearificance:

-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 - это названия баз данных. Чтобы использовать эти базы данных и вывести список доступных таблиц, введите следующие две команды:

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>
Tanmay Kulkarni
источник
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

Существует sqlline, который может подключаться к любым rdbms (Oracle, mysql, postgres, h2 и др.), А также csv, cassandra ,astic-search, mongo (через apache-calcite).

Есть демонстрационная страница проекта с короткими демонстрационными видео. Она обеспечивает многострочное редактирование, подсветку синтаксиса, интеллектуальное автозаполнение, поддержку диалектов.

Это может быть встроено, и нет необходимости устанавливать его.

Serg
источник