터미널에서 SQL을 사용하는 방법?


11

간단한 테이블을 만들고 값을 삽입하고 쿼리를 수행하고 싶습니다. 터미널에서 어떻게 수행합니까?

답변:


8

다음을 입력하여 데이터베이스를 만듭니다.

 mysql

입력 한 프롬프트에서, 주석에서 onik에 설명 된대로 데이터베이스를 작성하여 시작하십시오.

 CREATE DATABASE dbname

해당 데이터베이스를 만든 후에는 실험 해 볼 수 있습니다. 터미널에 간단히 입력mysql 하면 원하는 SQL 관련 작업을 수행 할 수 있습니다. 사용자 이름으로 데이터베이스에서 역할을 생성했을 수 있습니다.

Sauruv의 답변에 설명 된 것처럼 다음과 같이 데이터베이스에 연결할 수도 있습니다 (p와 암호 사이의 공백 또는 더 나은 공간없이 -p 옵션을 사용하지 않으면 암호 프롬프트가 나타납니다 [credits는 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
    

    여기서 rootusername 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기본 콘솔은 훌륭하고 예쁘지 만 더 예쁘고 mycliPostgres 대안 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 (오라클, MySQL은, 포스트 그레스, H2 등), 또한 CSV, 카산드라, 탄성 검색, 몽고 (를 통해 아파치 - 방해석)에 연결할 수 있습니다.

짧은 데모 비디오 가 포함 된 프로젝트 데모 페이지 가 있습니다. 여러 줄 편집, 구문 강조, 스마트 자동 완성, 방언 지원을 제공합니다.

내장 될 수 있으며 설치할 필요가 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.