Como usar o SQL no terminal?


11

Eu quero criar tabelas simples, inserir valores nela e fazer consultas. Como realizá-los no terminal?

Respostas:


8

Você cria um banco de dados digitando

 mysql

No prompt digitado, você começa criando seu banco de dados (conforme explicado por onik nos comentários):

 CREATE DATABASE dbname

Depois de criar esse banco de dados, você pode experimentar. Você pode simplesmente digitar mysqlum terminal e pode fazer o que quiser com o sql. É possível que você tenha criado uma função no seu banco de dados com seu nome de usuário.

Conforme descrito na resposta de Sauruv, você também pode conectar-se ao banco de dados da seguinte forma (sem o espaço entre pe sua senha ou melhor, apenas não use a opção -p e você receberá uma solicitação de senha [créditos, vá para onik]):

Sintaxe:

mysql -u user_name -ppassword dbname

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

3
Na verdade, a sintaxe que você especificou se conecta apenas ao banco de dados especificado, não a cria. Você precisará primeiro se conectar sem especificar um banco de dados e executar CREATE DATABASE [dbname]. Além disso, se você especificar a senha na linha de comando (não recomendada, a sintaxe será mysql -u user_name -ppassword database, sem o espaço entre pe sua senha. Você também pode omitir a senha aqui e o MySQL solicitará a senha, o que é mais seguro.
onik

@onik, você está absolutamente certo. Da próxima vez, fique à vontade para editar minha resposta ou copiá-la e elaborá-la em sua própria resposta. Como forma de agradecimento, encontrei uma boa resposta sua em outra pergunta e a votei de bom.
don.joey

6

Aqui está a sintaxe para executar a instrução sql do terminal

Estou assumindo que você está usando MySQL.

Sintaxe:

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

Apuramento:

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

Exemplo:

  • Se você deseja criar uma tabela, personentão:

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

    onde rooté o nome de usuário, mydbé o nome do banco de dados. No entanto, você pode executar qualquer consulta que desejar.

  • Se você deseja insertvalores em person:

    mysql -u root -p -e 'Insert into person(PersonID,LastName,FirstName) Values(100,"Kumar","Saurav")' mydb
    
  • Se você deseja selecionar todas as informações persone salvar em um arquivo:

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

E é claro que você pode criar um banco de dados usando o próprio terminal

  • Para criar o banco de dados mydb, execute o seguinte comando no terminal:

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

    silenciosamente criará um banco de dados mydb sem fornecer nenhuma mensagem / saída.

  • Para listar todos os bancos de dados, execute este comando no terminal:

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

Espero que ajude você. Responda se precisar de mais ajuda ..


1

O mysql é uma ferramenta simples de linha de comando. O mysql é uma linha de comando e é muito fácil de usar. Invoque-o no prompt do seu interpretador de comandos da seguinte maneira:

$ mysql

Resultado

mysql>

Você pode precisar fornecer nome de usuário, senha e nome de host mysql, use:

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

mysql>

Para listar o banco de dados, digite o seguinte comando

mysql> show databases;

Resultado

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

information_schema e mysql são os nomes dos bancos de dados. Para usar esses bancos de dados e listar as tabelas disponíveis, digite os dois comandos a seguir:

mysql> use mysql;

Resultado:

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

Agora liste as tabelas:

mysql> show tables;

Resultado:

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

mysqlo console padrão é bom e bonito, mas talvez seja mais bonito mycli(e é alternativa ao Postgres pgcli).

Instalação : No Ubuntu 16.04+ há repositórios oficiais: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

captura de tela

Referência


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.