Як використовувати SQL в терміналі?


11

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

Відповіді:


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

3
Насправді вказаний вами синтаксис підключається лише до вказаної бази даних, він не створює її. Спочатку вам доведеться підключитися, не вказуючи базу даних, і запустити CREATE DATABASE [dbname]. Крім того, якщо ви вказали пароль у командному рядку (не рекомендується, синтаксис є mysql -u user_name -ppassword database, не маючи пробілу між p та вашим паролем. Тут ви також можете пропустити пароль, і 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 - це ім'я баз даних. Щоб використовувати цю базу даних та перелічити доступні таблиці, введіть дві наступні команди:

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

Існує sqlline, який може підключатися до будь-яких rdbms (Oracle, mysql, postgres, h2 та інші), також csv, cassandra, elasti-search, mongo (через apache-calcite).

Існує сторінка демонстрації проекту з короткими демонстраційними відеороликами. Вона забезпечує редагування рядків, виділення синтаксису, інтелектуальне автозавершення, підтримку діалектного діалогу.

Він може бути вбудований і не потрібно його встановлювати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.