我想創建一個包含三個弦的表:如何在mysql中創建一個包含3列的表?
- JSP頁面
- 部分JSP頁面(如頁腳,標題,文字)
- 實際值文本
如何我這樣做:
- 從命令提示符
- 從Java應用程序(創建如果它不存在嗎? - 是多麼常見)
感謝
我想創建一個包含三個弦的表:如何在mysql中創建一個包含3列的表?
如何我這樣做:
感謝
這是不太可能你會想動態創建一個表,特別是如果你需要保存數據並在其他會話中獲取。最好使用mysql命令提示符或像SQL Yog這樣的圖形工具創建一個表,稍後您將在JSP頁面上訪問該表。
的命令來創建表看起來就像這樣
CREATE TABLE `pages` (
`id` int(11) NOT NULL auto_increment,
`part_of_page` varchar(30) NOT NULL,
`actual_text` varchar(300) NOT NULL,
PRIMARY KEY (`id`)
) CHARACTER SET `utf8`;
由於PHP思想家說,你很少想在程序中動態創建一個表。但是,如果你有一個正當的理由,你只需提交「創造」的語句就像一個更新查詢:
try
{
Statement st=conn.createStatement();
st.executeUpdate("create table mytable ... whatever ...");
st.close();
}
catch (SQLException oops)
{
... query had syntax errors or something ...
}
這是更新而不是查詢,所以沒有返回結果集。返回值是更新記錄的數量,對於「創建表」,它始終爲零,因此沒有任何問題會影響它。如果有錯誤
+!如果不存在,如何創建? – vehomzzz 2009-08-13 17:26:31
唯一的竅門是檢查它是否已經存在。我不知道任何通用的SQL方法來詢問表是否存在,但通用的Java方法是使用Connection.getMetaData()獲取數據庫的DatabaseMetaData對象,然後執行getTables(null,null,「mytablename 「,null),如果你得到任何回報,表格就存在。 (如果需要的話,爲其他參數使用非空值以避免歧義 - 請參閱JavaDocs。) 大多數SQL引擎現在支持「information_schema」,因此您可以根據該信息進行查詢。但我認爲DatabaseMetaData方法更清晰。 – Jay 2009-08-14 16:23:21
爲什麼ID主鍵? – vehomzzz 2009-08-13 14:46:07
請不要說'NOT NULL default'',而是說'NOT NULL'。這樣,如果嘗試插入空數據,數據庫將會出錯。 – hhaamu 2009-08-13 14:53:54