mysql安裝成功后可以看到已經(jīng)存在mysql、information_schema和test這個(gè)幾個(gè)數(shù)據(jù)庫,information_schema庫中有一個(gè)名為COLUMNS的表,這個(gè)表中記錄了數(shù)據(jù)庫中所有表的字段信息。知道這個(gè)表后,獲取任意表的字段就只需要一條select語句即可。例如:
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、宣漢ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的宣漢網(wǎng)站制作公司
select COLUMN_NAME from information_schema.COLUMNS where table_name = 'your_table_name';
上述的做法有一點(diǎn)問題,如果多個(gè)數(shù)據(jù)庫中存在你想要查詢的表名,那么查詢的結(jié)果會(huì)包括全部的字段信息。通過DESC information_schema.COLUMNS可以看到該表中列名為TABLE_SCHEMA是記錄數(shù)據(jù)庫名,因此下面的寫法更為嚴(yán)格
select COLUMN_NAME from information_schema.COLUMNS where table_name = 'your_table_name' and table_schema = 'your_db_name';
Java獲取數(shù)據(jù)庫的表中各字段的字段名,代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
public class TestDemo {
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://數(shù)據(jù)庫IP地址:3306/數(shù)據(jù)庫名稱";
String user = "數(shù)據(jù)庫用戶名";
String pass = "數(shù)據(jù)庫用戶密碼";
conn = DriverManager.getConnection(u
use?數(shù)據(jù)庫名;???????
show?tables;???????????????//顯示數(shù)據(jù)庫中的表
desc?具體某個(gè)表的名稱;????//列出想要的表的列名信息
//或者:show?columns?form?具體某個(gè)表的名稱;
哈哈,樓主遇到我算是你有福氣了,我專門為你編寫了一個(gè)函數(shù),來獲取表的主鍵名()(可能還有更簡單的方法,但我不知道)。
請看如下代碼:
?php
function get_primary($host,$user,$password,$tb) //定義函數(shù),參數(shù)分別為主機(jī)名、用戶名、密碼、表名(還可以加入庫名,我忘了)
{
mysql_connect($host,$user,$password); //連接主機(jī)
mysql_select_db("test"); //選擇庫
$result=mysql_query("DESCRIBE ".$tb); //分析表
while($rows=mysql_fetch_array($result)) //遍歷結(jié)果集(即所有字段情況)
{
if($rows["Key"]=="PRI") //判斷相應(yīng)字段主鍵情況,如果是主鍵則跳出
break;
}
return $rows["Field"]; //返回所在字段名稱
}
echo get_primary("localhost","root","","te"); //調(diào)用函數(shù)
?