1、使用mysql_list_tables()
成都創(chuàng)新互聯(lián)公司是一家專(zhuān)業(yè)提供金壇企業(yè)網(wǎng)站建設(shè),專(zhuān)注與成都網(wǎng)站制作、成都做網(wǎng)站、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為金壇眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。
獲取該數(shù)據(jù)庫(kù)里所有表名
2、循環(huán)使用mysql_fetch_field()
獲取所有表名里的所有字段名信息(因?yàn)樵摵瘮?shù)查詢(xún)出的是每個(gè)字段的所有信息
比如字段名、字段長(zhǎng)度、字段類(lèi)型等。你要單獨(dú)取出字段名稱(chēng)
他的使用方法網(wǎng)上有很詳細(xì)介紹的)
3、然后在循環(huán)中
查詢(xún)出一個(gè)字段名稱(chēng)就與你已知的字段名比較
如果一樣了
那么就在該循環(huán)出字段的表里了。。
這2個(gè)函數(shù)具體使用方法
你百度查詢(xún)一下
資料很豐富的
全寫(xiě)出來(lái)太費(fèi)勁了
只能告訴你思路了。
比如表名叫
test
建表
create?table?test?(content?varchar(20));
insert?into?test?values?('勝利');
查詢(xún)
select?*?from?test?where?instr('為勝利而來(lái)',content)0
引號(hào)里的相當(dāng)于你輸入的,content代表那個(gè)表里的字段,你看下結(jié)果吧
怎么獲取mysql數(shù)據(jù)庫(kù)里面的字段
可以通過(guò)查詢(xún)系統(tǒng)表來(lái)獲取。
1、打開(kāi)Navicat for Mysql,登錄到指定數(shù)據(jù)庫(kù)下。
2、新建查詢(xún)。
3、輸入以下語(yǔ)句:
1
select column_name from information_schema.COLUMNS where table_name='表名'
方法一,在你的程序中直接
desc tablename
然后總行數(shù)就是你的字段數(shù)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
mysql desc ysks;
+-------+---------------+-----
| Field | Type | Null
+-------+---------------+-----
| 單號(hào) | int(11) | YES
| 金額 | decimal(10,2) | YES
| 已收 | decimal(10,2) | YES
| 日期 | bigint(20) | YES
| 名稱(chēng) | varchar(10) | YES
| 余額 | decimal(10,2) | YES
| 備注 | varchar(10) | YES
| 品名 | varchar(10) | YES
+-------+---------------+-----
8 rows in set (0.06 sec)
mysql select FOUND_ROWS();
+--------------+
| FOUND_ROWS() |
+--------------+
| 8 |
+--------------+
1 row in set (0.06 sec)
mysql
方法二,通過(guò)系統(tǒng)表information_schema.`COLUMNS` ( mysql5以上版本支持)
mysql select count(*) from information_schema.`COLUMNS`
- where TABLE_SCHEMA='csdn'
- and TABLE_NAME='ysks';
+----------+
| count(*) |
+----------+
| 8 |
+----------+
1 row in set (0.06 sec)
mysql
一個(gè)表一個(gè)表,一個(gè)字段一個(gè)字段的去查,比如:select
*
from
表1
where
字段1=值
把表導(dǎo)入到sql文件里面,然后打開(kāi)這個(gè)文件,用"查找"的功能找這個(gè)值。但是如果表和數(shù)據(jù)庫(kù)很大的話,恐怕也不容易導(dǎo)出和打開(kāi)這個(gè)sql文件。
mysql經(jīng)常會(huì)用來(lái)查詢(xún)特定字段,偶爾會(huì)需要展示特定字段中值的某部分,然后還有模糊查詢(xún)的時(shí)候,如果需要匹配中間的某部分值,這個(gè)時(shí)候like就很尷尬,會(huì)多出一些不相干的記錄
一、獲取特定的幾位:
1、取url字段后三位字符
select SUBSTRING(url, -3) from link;
#這種只能針對(duì)固定長(zhǎng)度,比說(shuō)url共8個(gè)字符,可以下面這種寫(xiě)法
select RIGHT(`url`,length(`url`)-5) from link;
2、從左開(kāi)始第3位?。òǖ谌唬?/p>
select SUBSTRING(url, 3) from link;
3、取左邊的3位
select SUBSTRING(url, 1, 3) from link;
#這種只能針對(duì)固定長(zhǎng)度,比說(shuō)url共8個(gè)字符,可以下面這種寫(xiě)法
select LEFT(`url`,length(`url`)-5) from link;
4、中間截?。◤牡?位開(kāi)始取7位,如sDate字段值是 2013-06-07)
select SUBSTRING(sDate, 1,7) from forumdata;
查詢(xún)結(jié)果就是 2013-06
二、查詢(xún)特定的幾位:
1、正常的模糊查詢(xún)
select * from cm_order where ordersn like '%31%';
2、一個(gè)字段共有13位,查詢(xún)倒數(shù)四五位為31的
select * from cm_order where SUBSTRING(ordersn, 9,2) = 31;
SELECT * from cm_order where RIGHT(`ordersn`,length(`ordersn`)-8) like '31%';
這種如果正常的模糊查詢(xún)會(huì)出來(lái)很多不相干的數(shù)據(jù),但是這種只能針對(duì)定長(zhǎng)的模糊查詢(xún),效率方面比正常的模糊查詢(xún)好很多。