2012-12-06 25 views
1

我有一個名爲「數據」一個MySQL表,JSON數據

+---------+------------------+------+-----+-------------------+----------------+ 

| Field | Type    | Null | Key | Default   | Extra   | 
+---------+------------------+------+-----+-------------------+----------------+ 

| id  | int(10) unsigned | NO | PRI | NULL    | auto_increment | 
| data | text    | YES |  | NULL    |    | 
| created | timestamp  | NO | MUL | CURRENT_TIMESTAMP |    | 
+---------+------------------+------+-----+-------------------+----------------+ 

字段「數據」有價值觀是這樣的:

606 | {"first_name":"JOHN","last_name":"SLIFKO","address":"123 main AVE","city":"LAKEWOOD","state":"OH","zip":"20190","home_phone":2165216359,"email":"[email protected]",} | 2012-12-04 16:37:23 | 

所以,它被保存在一個記錄來自PHP腳本的JSON格式。

這是一點:

我怎樣才能構建此表,以更快searchs或任何一個領域查閱喜歡做的搜索或查詢:

SELECT * FROM Data WHERE first_name = john; 

我怎麼能做到這一點? ?

請幫忙......

+6

不知道你喜歡這評論,但通過..不把JSON數據在MySQL啓動... SQL數據庫的目的是組織數據,而不是存儲Json原始數據(CouchDB是一個Json數據庫,你可以使用它) – Ulflander

+1

Ulflander說。如果你想使用MySQL的數據結構,索引和搜索,你需要開始存儲你的數據 –

+0

這裏是同樣的問題,我的答案:http://stackoverflow.com/questions/9294836/mysql-query -on-JSON數據/ 15933396#15933396 – JRobles

回答

1

哎呀。不是一個好設計。關於你能做的最好是使用like關鍵字

Select * from Data Where data like '%"first_name":"JOHN"%'