欢迎来到天天文库
浏览记录
ID:20481280
大小:63.50 KB
页数:5页
时间:2018-10-12
《向mysql数据表插入行记录(insert)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、向MySQL数据表插入行记录(INSERT)>>教育资源库 使用INSERT语句插入新数据 语法:INSERT[INTO]tbl_name[(col_name,...)]VALUES(pression,...), INSERT[INTO]tbl_nameSETcol_name=expression,... 让我们开始利用INSERT语句来增加记录,这是一个SQL语句,需要为它指定希望插入数据行的表或将值按行放入的表。INSERT语句具有几种形式: 可指定所有列的值: 例如:shell>mysql–uroot–pmysql>usemytest;
2、mysql>insertinto,tomyahoo.); INTO一词自MySQL3.22.5以来是可选的。(这一点对其他形式的INSERT语句也成立。)VALUES表必须包含表中每列的值,并且按表中列的存放次序给出。(一般,这就是创建表时列的定义次序。如果不能肯定的话,可使用DESCRIBEtbl_name来查看这个次序。) 使用多个值表,可以一次提供多行数据。 Mysql>insertinto,tomyahoo.),(paul,paulyahoo.); 有多个值表的INSERT...VALUES的形式在MySQL3.22.5或以后版本中支持。 可以给出要赋值的那个
3、列,然后再列出值。这对于希望建立只有几个列需要初始设置的记录是很有用的。 例如: mysql>insertintoe)values(tom); 自MySQL3.22.5以来,这种形式的INSERT也允许多个值表: mysql>insertintoe)values(tom),(paul); 在列的列表中未给出名称的列都将赋予缺省值。 自MySQL3.22.10以来,可以col_name=value的形式给出列和值。 例如: mysql>insertintoe=tom; 在SET子句中未命名的行都赋予一个缺省值。 使用这种形式的INSERT语句不能插入多行
4、。 一个expression可以引用在一个值表先前设置的任何列。例如,你能这样: mysql>INSERTINTOtbl_name(col1,col2)VALUES(15,col1*2); 但不能这样: mysql>INSERTINTOtbl_name(col1,col2)VALUES(col2*2,15); 使用INSERTSELECT语句插入从其他表选择的行 当我们在上一节学习创建表时,知道可以使用select从其它表来直接创建表,甚至可以同时复制数据记录。如果你已经拥有了一个表,你同样可以从select语句的配合中获益。 从其它表中录入数据,例如: mys
5、ql>insertintotbl_name1(col1,col2)selectcol3,col4fromtbl_name2; 你也可以略去目的表的列列表,如果你每一列都有数据录入。 mysql>insertintotbl_name1selectcol3,col4fromtbl_name2; INSERTINTO...SELECT语句满足下列条件: 查询不能包含一个ORDERBY子句。 INSERT语句的目的表不能出现在SELECT查询部分的FROM子句,因为这在ANSISQL中被禁止让从你正在插入的表中SELECT。(问题是SELECT将可能发现在同一个运行期间内先前
6、被插入的记录。当使用子选择子句时,情况能很容易混淆) 使用replace、replaceselect语句插入 REPLACE功能与INSERT完全一样,除了如果在表中的一个老记录具有在一个唯一索引上的新记录有相同的值,在新记录被插入之前,老记录被删除。对于这种情况,insert语句的表现是产生一个错误。 REPLACE语句也可以褐SELECT相配合,所以上两小节的内容完全适合REPALCE.。 应该注意的是,由于REPLACE语句可能改变原有的记录,因此使用时要小心。 使用LOAD语句批量录入数据 本章的前面讨论如何使用SQL向一个表中插入数据。但是,如果你需要向一个表中添加许
7、多条记录,使用SQL语句输入数据是很不方便的。幸运的是,MySQL提供了一些方法用于批量录入数据,使得向表中添加数据变得容易了。本节以及下一节,将介绍这些方法。本节将介绍SQL语言级的解决方法。 1、基本语法 语法:LOADDATA[LOCAL]INFILE'file_name.txt'[REPLACE
8、IGNORE]INTOTABLEtbl_nameLOADDATAINFILE语句从一个文本文件中以
此文档下载收益归作者所有