1、插入一條記錄:
INSERTINTO table_name?(list of columns)?VALUES?(list,?of,?values);
其中INTO似乎可以省略掉~
2、一次插入多條記錄:看下面的例子
INSERT?book?(author,?title,?cond)?VALUES
??? ('Maurice?Sendak','In?the?Night?Kitchen','mint'),
????('Caroll?Spinney','How?to?Be?a?Grouch','poor'),
????('Dr.?Seuss',?'Green?Eggs?and?Ham',?'good');
3、auto_increment屬性:
CREATE?TEMPORARY?TABLE?demo?(
??id?INT?NOT?NULL?AUTO_INCREMENT,
?????PRIMARY?KEY?(id)
);
INSERT?demo?()?VALUES?();
SELECT?id?FROM?demo;?#?id?contains?1
INSERT?demo?(id)?VALUES?(NULL);
SELECT?id?FROM?demo;?#?id?contains?1?and?2
INSERT?demo?(id)?VALUES?(4);
SELECT?id?FROM?demo;?#?id?contains?1,?2?and?4
INSERT?demo?(id)?VALUES?(NULL);
SELECT?id?FROM?demo;?#?id?contains?1,?2,?4 and?5
注意:一個表至多只能一個column是auto_increment的,而且該column必須是primary key的一個組成部分
4、插入當前日期和時間:
INSERT?some_table?(some_column)?VALUES?(NOW());
運行
SELECT?NOW();
可得到當前時間.
5、從執行文件執行命令(有兩種方法):
(1)
mysql?-u?username?-p?db_name?<?file_name.sql
敲入該命令之后,會有一個密碼輸入的提示符,輸入密碼之后,會執行file_name.sql中的命令并打印這些命令返回的結果。
(2)首先從命令行連接連接數據庫,在mysql的提示符下敲入:
\.?file_name.sql
其中 \.表示從文件中執行命令, 文件名既可以包含絕對路徑也可以包含相對路徑
6、從另一個表復制數據:
INSERT?table_one?(list,?of,?columns)?SELECT?
; 注意:select 返回的column的類型和column的個數必須與insert的column和個數相兼容。
7、從文件導入數據:
LOAD?DATA?INFILE?'some_file'?INTO?TABLE table_name (list,?of,?columns,?
);
需注意的幾點:
- LOAD DATA INFILE 有很多參數,具體可參照MySQL reference
- 數據文件必須和mysql server在同一臺機器上,如果是遠程機器,則必須在INFILE之前添加參數local
- 文件名最好加上絕對路徑,如果沒有指明完整路徑,則mysql server會在它的數據目錄下尋找該文件,如果有local參數,則會在你啟動客服端的目錄下找
- 在windows下,路徑的標識符不能用反斜杠 \ ,只能使用正斜杠 / 或者使用轉義字符 \\
- 使用小技巧:可以用show errors; 或show warnings;命令來查看返回的具體的錯誤信息。在將數據導入到table之前,可以先建立一個和要導入的表的結構一樣temporary table(使用create table? ...like 命令,把數據導入到該臨時表中看看結果是否正確
8、存儲精確的浮點數:使用DECIMAL類型,該類型在MySQL中是一字符串的形式存儲的。
posted on 2007-09-12 23:10
Jeff Lee 閱讀(178)
評論(0) 編輯 收藏 所屬分類:
database