如何向mysql数据库的表中录入数据

跟版网(www.genban.org)提供,数据,数据库,如何,by,insert,语句,into,,跟版网精品网站模板,跟版网模板,网站模板,等网页设计素材资源,提供相关网页设计资源的教程和免费下载。跟版网,专业织梦网页设计模板资源站。。

  
  当你建好了数据库及表时,你首先想到的就是向数据库的表中输入数据.这就牵涉到如何向数据库增加数据.下面我们就来探讨一下这个问题:
  
  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来处理)
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

数据库查询哪个对像里面包含什么字段语句写法: select * from sysobjects o, syscomments s where o.id = s.id and text like %text% and o.xtype = P text 换成需要查的字段 数据库查询哪个对像里面包含表: select o.name from sys.all_sql_modules s,sys
一、 创建用户: 命令:CREATE USER username@host IDENTIFIED BY password; 说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该
在mysql中可以用group by对查询出的数据分组 select id,service,name FROM service GROUP BY name,service 如果要查看每组数据的总数,可以 select count(*) FROM service GROUP BY name,service 当要查询group by后的总数,可以这样 select count(*) from(s
mysql count group by统计条数方法 mysql 分组之后如何统计记录条数? gourp by 之后的 count,把group by查询结果当成一个表再count一次 select count(*) as count from(SELECT count(*) FROM 表名 WHERE 条件 GROUP BY id ) a; 实战例子: select count(*)
1.首先停止MySQL服务:service mysqld stop 2.加参数启动mysql:/usr/bin/mysqld_safe --skip-grant-tables 然后就可以无任何限制的访问mysql了 3.root用户登陆系统:mysql -u root -p mysql 4.切换数据库:use mysql 5.显示所有的表:show tables; 这里就可
摘要: SQL的WHERE子句中包含多个AND和OR 示例: SQL解析器在处理操作时会优先处理and操作: 假如有表product字段如下:id、product_id、product_price、product_name,现在要查找产品号为100或者101,并且价格大于200的商品,程序员可能会这样写: select * fr