解析向MySQL数据库的表中录入数据的方法
创始人
2024-07-25 18:02:19
0

导读:MySQL数据库应用范围相对来说还是比较广泛的,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)lindes 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起的作用就是实现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

  (REMARK:此语句中samp_db为指定的数据库,要录入数据的表由文件名参数确定.文件名去掉其任何扩展名,留下的就是表名.所以此语句中录入数据的表名为samp_table.也就是说在执行这条语句时首先应该肯定表samp_table存在.另外如果你有多个文件需要装入同一个表里,你可以用samp_table.n.txt来处理)

关于向MySQL数据库的表中录入数据的方法的知识就为大家总结了这么多,如果您总结出了更好的方法,欢迎拿出来与大家一起分享。

【编辑推荐】

  1. MySQL数据库单一表突破4G限制的实现方法
  2. MySQL数据库常见问题汇总
  3. MySQL数据库的异常处理
  4. 如何关闭MySQL数据库中错误提示音

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...