Jafe Lee

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  49 随笔 :: 0 文章 :: 24 评论 :: 0 Trackbacks
1、插入一条记录:
INSERTINTO table_name (list of columns) VALUES (list, ofvalues);

其中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 12 and 4
INSERT demo (id) VALUES (NULL);
SELECT id FROM demo; # id contains 124 and 5

注意:一个表至多只能一个column是auto_increment的,而且该column必须是primary key的一个组成部分


4、插入当前日期和时间:
INSERT some_table (some_column) VALUES (NOW());
运行
SELECT NOW();
可得到当前时间.

5、从执行文件执行命令(有两种方法):
(1)
mysql -username -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 Jafe Lee 阅读(564) 评论(0)  编辑  收藏 所属分类: Database

只有注册用户登录后才能发表评论。


网站导航: