วิธีใช้ SQL ในเทอร์มินัล


11

ฉันต้องการสร้างตารางอย่างง่ายแทรกค่าในนั้นและทำแบบสอบถาม วิธีการดำเนินการใน terminal?

คำตอบ:


8

คุณสร้างฐานข้อมูลด้วยการพิมพ์

 mysql

ในพรอมต์ที่คุณป้อนจากนั้นคุณเริ่มต้นด้วยการสร้างฐานข้อมูลของคุณ (ตามที่อธิบายโดย onik ในความคิดเห็น):

 CREATE DATABASE dbname

เมื่อคุณสร้างฐานข้อมูลนั้นแล้วคุณสามารถทดสอบได้ คุณสามารถพิมพ์mysqlเทอร์มินัลและคุณสามารถทำอะไรก็ได้ที่เกี่ยวข้องกับ sql ที่คุณต้องการ เป็นไปได้ว่าคุณได้สร้างบทบาทในฐานข้อมูลด้วยชื่อผู้ใช้ของคุณ

ตามที่อธิบายไว้ในคำตอบของ Sauruv คุณยังสามารถเชื่อมต่อกับฐานข้อมูลได้ดังต่อไปนี้ (โดยไม่มีช่องว่างระหว่าง 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

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คือชื่อของฐานข้อมูล Similary คุณสามารถดำเนินการแบบสอบถามที่คุณต้องการ

  • หากคุณต้องการ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ดำเนินการคำสั่งต่อไปนี้ใน terminal:

    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+ นั้นเป็น repos อย่างเป็นทางการ: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, elastic-search, mongo (ผ่าน apache-calcite)

มีหน้าตัวอย่างโครงการพร้อมวิดีโอสาธิตสั้น ๆ มันให้การแก้ไขแบบหลายบรรทัดการเน้นไวยากรณ์การเติมข้อความอัตโนมัติอัจฉริยะการสนับสนุนภาษา

มันอาจจะฝังตัวและไม่จำเป็นต้องติดตั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.