当前位置: 首页 > 图文教程 > 数据库 > MYSQL > 向MySQL数据库的表中录入数据的实用方法

MYSQL
经验分享:MySQL 中如何复位根用户密码
MYSQL基础知识 MYSQL数据库基础命令
连接 MySQL 数据库失败频繁的原因探秘
如何在MySQL中获得更好的全文搜索结果
滚开!别动我的数据库 MYSQL数据安全
MYSQL字符集:编程乱码问题的初步探索
一种不错的从SQL转Mysql数据库的方法
怎样在没管理权时修改MySQL的用户密码
把我的密码还给我 MySQL中的密码恢复
安全第一:使用MySQL要注意的23个事项
不许你无视我 解决MySQL忽略用户现象
轻轻松松解决MySQL中文件未找到的问题
如何解决Mysql无法创建文件/写入文件
爱写就写 Mysql避免表已满的错误出现
看的明明白白 表已满错误出现方式有数种
MySQL数据库中root权限丢失解决方法
MYSQL用户管理员ROOT弱密码攻击战
Win2K下配置asp+cgi+php+mysql
大家来优化 Sysctl、Apache、MySQL
PHP 和 MySQL 开发中要注意的8个技巧

MYSQL 中的 向MySQL数据库的表中录入数据的实用方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 94 ::
收藏到网摘: n/a

当我们建好数据库及表后,首先想到的就是向数据库的表中输入数据.下面我们就来探讨一下如何向数据库增加数据:  

1.常用的方法是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 表示用于转义特殊字符的转义符.缺省时表示无转义符  

(4lindes 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


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