如何向MySQL数据库的表中录入数据
当建好了数据库及表时,首先想到的就是向数据库的表中输入数据,这就涉及到如何向数据库录入数据,下面我们就来探讨一下这个问题。
1.常用的方法是使用insert语句(这里假定使用的的版本都不是很低)。有以下几种形式:
insert into tablename values(value1,value2,……)
insert into tablename(fieldname1,fieldname2,……) values(value1,value2,……)
insert into tablename set fieldname1=value1,fieldname2=value2,……
insert into tablename(fieldname1,fieldname2) select fieldname1,fieldname2 from tablename1
以上基本上罗列了用insert插入数据的方法,当然也可以用insert语句将几行同时插入到一个表中,如下所示:
insert into tablename values(……),(……),……
2.在mysql运行环境下,我们还可以用LOAD DATA语句把文件里面的数据读取录入到表里面。一般来讲,因为此文件是由服务器在主机上直接读取的,所以必须具有file权限且文件必须是完全可读。如果版本够新,可以给出local,这样由于是从客户机上读取该文件并将内容传送到服务器,就不需要file权限。
如果没有给出local,则服务器按如下方法对其进行定位:
(1)如果你的filename为绝对路径,则服务器从根目录开始查找该文件;
(2)如果你的filename为相对路径,则服务器从数据库的数据目录中开始查找该文件。
如果你给出了local,则文件将按以下方式进行定位:
(1)如果你的filename为绝对路径,则客户机从根目录开始查找该文件;
(2)如果你的filename为相对路径,则客户机从当前目录开始查找该文件。
具体的格式如下:
LOAD DATA [LOCAL] INFILE 'filename' into table tablename import_options [(fieldname_list)]
import options的语法为:
fields
terminated by 'char'
enclosed by 'char'
escaped by 'char'
lines
terminated by 'string'
下面对其进行一些说明:
(1)fields terminated by char指定分隔列的字符,缺省时假定列值由制表符分隔;
(2)fields enclosed by char指明列值应包括在指定的字符中,通常用引号,缺省时,假定列值不包括在任何字符中;
(3)fields escaped by char表示用于转义特殊字符的转义符.缺省时表示无转义符;
(4)lines escaped by string指定结束输入行的串(可以是多字符的),缺省时假定由换行符终止行。
需要注意的是转义字符的使用,如:\' 表示单引号,\" 表示双引号等等。另外,还有一些选项这里没有具体谈到,如:ignore n lines可以控制文件的前n行不被读入数据库中,详细请看mysql中文参考。
说了上面这么多,给一行命令大家具体体会一下:
load data [local] infile "sample.txt" into table sample fields terminated by "," enclosed by "\""
3.在系统命令行下你可以用mysqlimport实用程序。mysqlimport实用程序可将文本文件的内容读取到已有表中(其实mysqlimport起的作用就是实现load data命令行的接口),调用完mysqlimport后可生成一个load data语句,语法基本上和load data差不多。
mysqlimport [options] sample_db filename
同样,给条命令如下:
mysqlimport Cu root [--local] Cfields-terminated-by=”,” -fields-enclosed-by="\"" samp_db samp_table.txt
(注意:此语句samp_db为指定的数据库,要录入数据的表由文件名参数确定。文
mysql输入0002变成2 mysql如何输入数据
转载文章标签 mysql输入0002变成2 mysql doc插入数据 mysql 数据库 服务器 文章分类 MySQL 数据库
