Jak korzystać z SQL w terminalu?


Odpowiedzi:


8

Tworzysz bazę danych, pisząc

 mysql

Po wyświetleniu monitu zacznij od utworzenia bazy danych (jak wyjaśniono w komentarzach onik):

 CREATE DATABASE dbname

Po utworzeniu tej bazy danych możesz z nią eksperymentować. Możesz po prostu wpisać mysqlterminal i możesz zrobić wszystko, co tylko chcesz. Możliwe, że masz utworzoną rolę w bazie danych za pomocą swojej nazwy użytkownika.

Jak opisano w odpowiedzi Sauruva, możesz również połączyć się z bazą danych w następujący sposób (bez spacji między p a hasłem lub lepiej, po prostu nie używaj opcji -p, a otrzymasz monit o hasło [napisy przejdź do onik]):

Składnia:

mysql -u user_name -ppassword dbname

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

3
Właściwie podana składnia łączy się tylko z określoną bazą danych, ale jej nie tworzy. Najpierw musisz się połączyć bez określania bazy danych i uruchomić CREATE DATABASE [dbname]. Ponadto, jeśli określisz hasło w wierszu poleceń (niezalecane, składnia jest taka mysql -u user_name -ppassword database, bez spacji między p a hasłem. Możesz również pominąć hasło tutaj, a MySQL poprosi cię o to, co jest bezpieczniejsze.
onik

@onik masz absolutną rację. Następnym razem możesz edytować moją odpowiedź lub skopiować ją i opracować we własnej odpowiedzi. W ramach podziękowania znalazłem dobrą odpowiedź na inne pytanie i głosowałem za nią.
don.joey

6

Oto składnia do wykonania instrukcji SQL z terminala

Zakładam, że używasz MySQL.

Składnia:

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

Luz:

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

Przykład:

  • Jeśli chcesz utworzyć tabelę person:

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

    gdzie rootjest nazwa użytkownika, mydbto nazwa bazy danych. Podobnie możesz wykonać dowolne zapytanie.

  • Jeśli chcesz insertwartości w person:

    mysql -u root -p -e 'Insert into person(PersonID,LastName,FirstName) Values(100,"Kumar","Saurav")' mydb
    
  • Jeśli chcesz wybrać wszystkie informacje personi zapisać w pliku:

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

Oczywiście możesz utworzyć bazę danych za pomocą samego terminala

  • Aby utworzyć bazę danych mydb, wykonaj następujące polecenie w terminalu:

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

    po cichu utworzy bazę danych mydb bez podawania żadnego komunikatu / wyniku.

  • Aby wyświetlić listę wszystkich baz danych, wykonaj polecenie w terminalu:

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

Mam nadzieję, że to ci pomoże .. Odpowiedz, jeśli potrzebujesz dalszej pomocy ..


1

mysql to proste narzędzie wiersza polecenia. mysql jest wierszem poleceń i jest bardzo łatwy w użyciu. Wywołaj go z wiersza poleceń interpretera w następujący sposób:

$ mysql

Wynik

mysql>

Może być konieczne podanie nazwy użytkownika mysql, hasła i nazwy hosta, użyj:

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

mysql>

Aby wyświetlić bazę danych, wpisz następujące polecenie

mysql> show databases;

Wynik

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

Information_schema i mysql to nazwy baz danych. Aby użyć tej bazy danych i wyświetlić listę dostępnych tabel, wpisz następujące dwa polecenia:

mysql> use mysql;

Wynik:

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

Teraz listy tabel:

mysql> show tables;

Wynik:

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

mysqldomyślna konsola jest w porządku i ładna, ale może ładniejsza jest mycli(i jest to alternatywa Postgres pgcli).

Instalacja : Na Ubuntu 16.04+ znajduje się na oficjalnych repozytoriach: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

zrzut ekranu

Odniesienie


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.