คำถามติดแท็ก mysql

MySQL เป็นโอเพ่นซอร์สระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) ที่ใช้ภาษาคิวรีเชิงโครงสร้าง (SQL) ห้ามใช้แท็กนี้สำหรับฐานข้อมูลอื่น ๆ เช่น SQL Server, SQLite เป็นต้นฐานข้อมูลเหล่านี้เป็นฐานข้อมูลที่แตกต่างกันซึ่งทั้งหมดใช้ภาษาของ SQL เพื่อจัดการข้อมูล

10
ถ่ายโอนฐานข้อมูล mysql ไปยังข้อมูลสำรองข้อความธรรมดา (CSV) จากบรรทัดคำสั่ง
ฉันต้องการหลีกเลี่ยง mysqldump เนื่องจากเอาต์พุตจะอยู่ในรูปแบบที่สะดวกสำหรับ mysql ในการอ่าน CSV ดูเป็นสากลมากขึ้น (ใช้ได้หนึ่งไฟล์ต่อตาราง) แต่ถ้ามีข้อดีคือ mysqldump ฉันก็หูผึ่ง นอกจากนี้ฉันต้องการบางสิ่งที่ฉันสามารถเรียกใช้จากบรรทัดคำสั่ง (linux) หากนั่นเป็นสคริปต์ mysql คำแนะนำวิธีสร้างสิ่งนั้นจะเป็นประโยชน์

7
จะเชื่อมต่อกับเซิร์ฟเวอร์ Mysql ภายใน VirtualBox Vagrant ได้อย่างไร?
ฉันติดตั้ง VirtualBox Machine ใหม่กับ Vagrant และภายใน VM นั้นฉันติดตั้งเซิร์ฟเวอร์ Mysql ฉันจะเชื่อมต่อกับเซิร์ฟเวอร์นั้นนอก vm ได้อย่างไร ฉันส่งต่อพอร์ต 3306 ของ Vagrantfile แล้ว แต่เมื่อฉันพยายามเชื่อมต่อกับเซิร์ฟเวอร์ mysql มันจะตอบสนองพร้อมกับข้อผิดพลาด: 'กำลังอ่านแพ็กเก็ตการสื่อสารเริ่มต้น' ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0


12
ตัวอย่างสุ่มอย่างง่ายจากฐานข้อมูล Sql
ฉันจะใช้ตัวอย่างสุ่มอย่างง่ายที่มีประสิทธิภาพใน SQL ได้อย่างไร ฐานข้อมูลที่เป็นปัญหากำลังเรียกใช้ MySQL ตารางของฉันมีอย่างน้อย 200,000 แถวและฉันต้องการตัวอย่างสุ่มอย่างง่ายประมาณ 10,000 คำตอบที่ "ชัดเจน" คือ: SELECT * FROM table ORDER BY RAND() LIMIT 10000 สำหรับตารางขนาดใหญ่มันช้าเกินไปมันเรียกRAND()ทุกแถว (ซึ่งวางไว้ที่ O (n)) แล้วเรียงลำดับทำให้เป็น O (n lg n) ได้ดีที่สุด มีวิธีทำเร็วกว่า O (n) หรือไม่? หมายเหตุ : ในฐานะที่เป็นแอนดรูเหมาชี้ให้เห็นในความคิดเห็นที่หากคุณใช้วิธีการนี้ใน SQL Server คุณควรใช้ฟังก์ชั่น T-SQL NEWID()เพราะ RAND () อาจจะกลับมาเป็นค่าเดียวกันสำหรับทุกแถว แก้ไข: 5 ปีต่อมา ฉันพบปัญหานี้อีกครั้งด้วยตารางที่ใหญ่กว่าและลงเอยด้วยการใช้โซลูชันของ …
93 mysql  sql  postgresql  random 

9
ค้นหาแบบเต็มข้อความด้วย InnoDB
ฉันกำลังพัฒนาเว็บแอปพลิเคชันปริมาณมากโดยที่ส่วนหนึ่งเป็นฐานข้อมูล MySQL ของโพสต์การสนทนาที่จะต้องเพิ่มเป็น 20M + แถวอย่างราบรื่น เดิมทีฉันวางแผนที่จะใช้ MyISAM สำหรับตาราง (สำหรับความสามารถในการค้นหาแบบเต็มข้อความในตัว ) แต่ความคิดของตารางทั้งหมดถูกล็อคเนื่องจากการเขียนเพียงครั้งเดียวทำให้ฉันชัตเตอร์ การล็อกระดับแถวมีความหมายมากขึ้น (ไม่ต้องพูดถึงข้อดีด้านความเร็วอื่น ๆ ของ InnoDB เมื่อจัดการกับโต๊ะขนาดใหญ่) ด้วยเหตุนี้ฉันจึงค่อนข้างตั้งใจที่จะใช้ InnoDB ปัญหาคือ ... InnoDB ไม่มีความสามารถในการค้นหาแบบเต็มข้อความในตัว ฉันควรใช้ระบบค้นหาของบุคคลที่สามหรือไม่? เช่นLucene (c ++) / Sphinx ? นินจาฐานข้อมูลของคุณมีข้อเสนอแนะ / แนวทางหรือไม่?zoieของ LinkedIn (จาก Lucene) ดูเหมือนจะเป็นตัวเลือกที่ดีที่สุดในขณะนี้... ถูกสร้างขึ้นจากความสามารถแบบเรียลไทม์ (ซึ่งค่อนข้างสำคัญสำหรับแอปพลิเคชันของฉัน) ฉันลังเลเล็กน้อยที่จะกระทำโดยไม่มีข้อมูลเชิงลึก ... (FYI: จะอยู่ใน EC2 พร้อมแท่นขุดเจาะหน่วยความจำสูงโดยใช้ PHP เพื่อให้บริการส่วนหน้า)


5
ความสับสนของ BOOLEAN หรือ TINYINT
ฉันกำลังออกแบบฐานข้อมูลสำหรับไซต์ที่ฉันต้องใช้ประเภทข้อมูลบูลีนเพื่อจัดเก็บเพียง 2 สถานะคือจริงหรือเท็จ ฉันใช้ MySQL ขณะออกแบบฐานข้อมูลโดยใช้ phpMyAdmin ฉันพบว่ามีทั้งประเภทข้อมูล BOOLEAN และประเภทข้อมูล TINYINT ฉันอ่านบทความต่างๆบางบทความกล่าวว่า TINYINT เหมือนกับ BOOLEAN ไม่มีความแตกต่าง บางคนบอกว่า BOOLEAN ถูกแปลงเป็น TINYINT ใน MySQL คำถามของฉันคือถ้าทั้งคู่เหมือนกันทำไมถึงมีสองตัว? ควรมีเพียงหนึ่งในนั้น นี่คือข้อมูลอ้างอิงของบทความที่ฉันอ่าน: http://www.careerride.com/MySQL-BOOL-TINYINT-BIT.aspx http://dev.mysql.com/doc/refman/5.5/en/numeric-type -overview.html
93 mysql  types  boolean  tinyint 

3
ฉันสามารถสร้างมุมมองด้วยพารามิเตอร์ใน MySQL ได้หรือไม่
ฉันมีมุมมองเช่นนี้: CREATE VIEW MyView AS SELECT Column FROM Table WHERE Value = 2; ฉันต้องการทำให้มันกว้างขึ้นหมายถึงเปลี่ยน 2 เป็นตัวแปร ฉันลองสิ่งนี้: CREATE VIEW MyView AS SELECT Column FROM Table WHERE Value = @MyVariable; แต่ MySQL ไม่อนุญาต ฉันพบวิธีแก้ปัญหาที่น่าเกลียด: CREATE FUNCTION GetMyVariable() RETURNS INTEGER DETERMINISTIC NO SQL BEGIN RETURN @MyVariable; END| จากนั้นมุมมองคือ: CREATE VIEW MyView AS …

11
แบบสอบถาม MySQL ค้นหาค่าในสตริงที่คั่นด้วยเครื่องหมายจุลภาค
ฉันมีฟิลด์COLORS (varchar(50))ในตารางของฉันSHIRTSที่มีสตริงคั่นด้วยจุลภาคเช่น1,2,5,12,15,. แต่ละหมายเลขแสดงถึงสีที่มี เมื่อเรียกใช้แบบสอบถามselect * from shirts where colors like '%1%'เพื่อรับเสื้อสีแดงทั้งหมด (color = 1) ฉันยังได้เสื้อที่มีสีเทา (= 12) และสีส้ม (= 15) ฉันจะเขียนแบบสอบถามใหม่ได้อย่างไรเพื่อให้เลือกเฉพาะสี 1 เท่านั้นไม่ใช่ทุกสีที่มีหมายเลข 1
93 sql  mysql  database 

8
MySQL - รหัสไปรษณีย์แผ่นหน้าด้วย“ 0” ได้อย่างไร?
ในฐานข้อมูล MySQL InnoDB ของฉันฉันมีข้อมูลรหัสไปรษณีย์สกปรกที่ฉันต้องการล้างข้อมูล ข้อมูลรหัสไปรษณีย์ที่สะอาดคือเมื่อฉันมีตัวเลข 5 หลักสำหรับรหัสไปรษณีย์ (เช่น "90210") แต่ด้วยเหตุผลบางอย่างฉันสังเกตเห็นในฐานข้อมูลของฉันว่าสำหรับรหัสไปรษณีย์ที่ขึ้นต้นด้วย "0" นั้น 0 จะถูกทิ้ง ดังนั้น " Holtsville, New York " ที่มีรหัสไปรษณีย์ " 00544" จึงถูกเก็บไว้ในฐานข้อมูลของฉันเป็น " 544" และ " Dedham, MA " พร้อมรหัสไปรษณีย์ " 02026" ถูกเก็บไว้ในฐานข้อมูลของฉันเป็น " 2026" ฉันสามารถเรียกใช้ SQL ใดที่แป้นด้านหน้า "0" ไปยังรหัสไปรษณีย์ที่มีความยาวไม่เกิน 5 หลัก หมายความว่าถ้ารหัสไปรษณีย์มีความยาว 3 หลักให้กดแป้นด้านหน้า "00" หากรหัสไปรษณีย์มีความยาว 4 …

7
MySQL เปรียบเทียบสตริง DATE กับสตริงจากฟิลด์ DATETIME
ฉันมีคำถาม: เป็นไปได้ไหมที่จะเลือกจากฐานข้อมูล MySQL โดยเปรียบเทียบสตริง DATE "2010-04-29" หนึ่งสตริงกับสตริงที่จัดเก็บเป็น DATETIME (2010-04-29 10:00 น.) ฉันมีตัวเลือกวันที่หนึ่งที่กรองข้อมูลและฉันต้องการสอบถามตารางตามช่อง DATETIME ดังนี้: SELECT * FROM `calendar` WHERE startTime = '2010-04-29'" ... และฉันต้องการรับแถวที่มีค่า DATETIME เป็น "2010-04-29 10:00" ข้อเสนอแนะใด ๆ ? ขอบคุณ.

6
ใช้% สำหรับโฮสต์เมื่อสร้างผู้ใช้ MySQL
ฐานข้อมูล MySQL ของฉันต้องการผู้ใช้สองคน: ผู้ใช้แอปและการสนับสนุน นักพัฒนาแอปพลิเคชันคนหนึ่งยืนยันว่าฉันสร้างบัญชีสี่บัญชีสำหรับผู้ใช้เหล่านี้: appuser@'%' appuser@'localhost' support@'%' support@'localhost' สำหรับชีวิตของฉันฉันคิดไม่ออกว่าทำไมเขาถึงคิดว่าเราต้องการสิ่งนี้ จะไม่ใช้สัญลักษณ์แทนเพราะโฮสต์ดูแล 'localhost'? ความคิดใด ๆ ? (ใช้ MySQL 5.5 ที่นี่)
93 mysql 

8
เรียงลำดับตามค่าฟิลด์เฉพาะก่อน
ฉันมีตารางที่มี 3 คอลัมน์: id | name | priority -------------------- 1 | core | 10 2 | core | 9 3 | other | 8 4 | board | 7 5 | board | 6 6 | core | 4 ฉันต้องการจัดลำดับชุดผลลัพธ์โดยใช้priorityแต่ก่อนอื่นแถวที่มีname=coreลำดับความสำคัญต่ำกว่า ผลลัพธ์ควรมีลักษณะดังนี้ id | name | priority -------------------- 6 | core …

9
MySQL - Operand ควรมี 1 คอลัมน์
ขณะทำงานกับระบบที่ฉันกำลังสร้างฉันพยายามใช้แบบสอบถามต่อไปนี้ในโครงการของฉัน: SELECT topics.id, topics.name, topics.post_count, topics.view_count, COUNT( posts.solved_post ) AS solved_post, (SELECT users.username AS posted_by, users.id AS posted_by_id FROM users WHERE users.id = posts.posted_by) FROM topics LEFT OUTER JOIN posts ON posts.topic_id = topics.id WHERE topics.cat_id = :cat GROUP BY topics.id ": cat" ถูกผูกไว้ด้วยรหัส PHP ของฉันขณะที่ฉันใช้ PDO 2 เป็นค่าที่ถูกต้องสำหรับ ": …

12
เลือก count (*) จากตาราง mysql ใน php
ฉันสามารถรับทั้งค่าและแถวของผลลัพธ์การสืบค้น mysql แต่ฉันกำลังดิ้นรนเพื่อให้ได้ผลลัพธ์เดียวของแบบสอบถาม เช่น: $result = mysql_query("SELECT COUNT(*) FROM Students;"); ฉันต้องการผลลัพธ์ที่จะแสดง แต่ฉันไม่ได้รับผล ฉันได้ลองใช้วิธีการต่อไปนี้: mysql_fetch_assoc() mysql_free_result() mysql_fetch_row() แต่ฉันแสดง (รับ) ค่าจริงไม่สำเร็จ
93 php  mysql  count 

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