有沒有一種方法,我可以從數據庫中選擇與某些數據條目?我在數據庫中有很多電子郵件地址,但我只想從一個域中選擇。它甚至有可能嗎?MySQL的 - 從XYZ選擇電子郵件,其中電子郵件=「%gmail.com」
-1
A
回答
5
當然 - 只需使用LIKE操作。
SELECT email FROM Persons
WHERE email LIKE '%gmail.com'
0
您需要使用LIKE MYSQL CLAUSE
SELECT * FROM email_table WHERE email LIKE "%gmail.com"
1
建議您不要進行通配符搜索。
這是因爲MySQL不能使用索引來固定選擇查詢。
特別是你提到你有很多的數據庫中的電子郵件。
或者,你可以使用一個額外的領域,如hostname
存儲僅僅只有主機名。
當然建立一個索引。
如果你需要搜索電子郵件gmail.com
,
那麼你可以做直字符串比較
SELECT email FROM Persons
WHERE hostname='gmail.com';
由於直串比較好的隊友到MySQL索引,查詢將得到優化。
+0
正如我評論我的回答,這個答案確實**是一個更好的解決方案比尋找速度/性能通配符搜索。 – MarcoK
1
由於ajreal points out,MySQL不能使用索引在一般情況下,以優化LIKE查詢。然而,在尾隨通配符其中唯一%
是在模式(實際上是「打頭的」查詢)的最末端的特定情況下,優化器可以做到使用索引加快查詢的一個好工作。
因此,如果你要添加額外的索引列存儲在反向的電子郵件地址,你可以有效地查詢
SELECT email FROM xyz WHERE reverse_email LIKE '[email protected]%`
找到所有的Gmail地址,或LIKE 'ku.%
下英國域等所有地址你可以讓數據庫保持此列最新您使用觸發器的,因此它不會影響現有的更新代碼
CREATE TRIGGER emailinsert BEFORE INSERT ON xyz
FOR EACH ROW SET NEW.reverse_email = REVERSE(NEW.email);
CREATE TRIGGER emailupdate BEFORE UPDATE ON xyz
FOR EACH ROW SET NEW.reverse_email = REVERSE(NEW.email);
相關問題
- 1. 電子郵件意向電子郵件選擇器
- 2. 從MySQL獲取電子郵件並向其發送電子郵件
- 3. 選擇電子郵件,通過電子郵件從emp組計數(*)
- 4. PHP郵件,其中電子郵件沒有收到某個電子郵件
- 5. 從Thunderbird中提取電子郵件地址電子郵件
- 6. PHP從電子郵件列表中刪除電子郵件
- 7. 如何將電子郵件附加到其他電子郵件?
- 8. 電子郵件意向問題。無法選擇電子郵件選項
- 9. 選擇所有電子郵件地址,
- 10. PHP郵件$電子郵件= $ _ POST [ '電子郵件']在$收件人
- 11. 訪問HTML電子郵件中的電子郵件收件人?
- 12. 選擇選項,電子郵件表格
- 13. 電子郵件
- 14. 電子郵件
- 15. 電子郵件
- 16. 電子郵件
- 17. 電子郵件
- 18. Mailchimp像電子郵件模板個人電子郵件/交易電子郵件
- 19. Write Net :: IMAP電子郵件到mikel /郵件電子郵件
- 20. Codeigniter電子郵件類別 - 電子郵件垃圾郵件
- 21. 從PHP發送的電子郵件未到達非gmail.com地址
- 22. 從VBA電子郵件程序發送HTML電子郵件
- 23. 從電子郵件收集所有電子郵件
- 24. 從Gmail電子郵件發送與ASP.net電子郵件
- 25. PHPmailer設置從電子郵件到電子郵件相同
- 26. 電子郵件超鏈接允許用戶選擇電子郵件客戶端
- 27. 電子郵件從iOS的
- 28. 從MYSQL的Python電子郵件表
- 29. Mysql的從細分電子郵件表
- 30. 選擇電子郵件發送服務
它伎倆,謝謝。 – Matt
沒問題。隨意標註[這個答案所接受和正確的(http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work),但我建議你看一看的來自愛神的回答也是如此。當您擁有龐大的數據庫並尋找性能時,他的解決方案比通配符搜索更快。對於小型數據庫/訪問者不多(或者「從數據庫中開發/提取數據的」最快方式「),通配符搜索就足夠了。 – MarcoK