教你快速掌握如何向MySQL的表中录入数据

2016-02-19 14:44 6 1 收藏

图老师小编精心整理的教你快速掌握如何向MySQL的表中录入数据希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~

【 tulaoshi.com - 编程语言 】

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

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

除此之外我们可以用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 指定结束输入行的串(可以是多字符的).缺省时假定由换行符终止行。  

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

我们需要注意的是转义字符的使用. 如:' 表示单引号," 表示双引号 等等.另外还有一些选项这里没有具体谈到,如 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来处理)

来源:http://www.tulaoshi.com/n/20160219/1607760.html

延伸阅读
标签: MySQL mysql数据库
  在进行数据表检查或修补时,可以先将数据表锁定,可确保数据表的安全: mysqlLOCK TABLE tbl_name READ; mysqlFLUSH TABLES; 将数据表锁定后再进行检查或修补的工作。完成后再解除锁定: mysqlUNLOCK TABLES; //LOCK TABLE tbl_name READ表示要锁定成只读状态,在这个状态下用户只能读取数据表,不能写入。 LOCK TABLE tbl_name W...
Update `表名` SET title = CONCAT(title,'MV') where articleid=3487 and title not like '%v'  
标签: 电脑入门
在一个列数很多的Excel表格中输入数据时,来回拉动滚动条,既麻烦又容易错行,非常不方便。那如何在Excel中快速录入数据呢?其实,在Excel中录入数据有很多的技巧,合理地运用它们可以提高我们的工作效率。本文另辟蹊径,向大家介绍一下如何利用VBA代码实现数据的快速录入。请看下面的例子。 假设在填写的某列数据中,员工所属的部门有一车间、...
标签: MySQL mysql数据库
以前在群里讨论过这个问题,比较的有意思.mysql的语法真好玩.他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询.翻了手册,找到了下面这个语句,可以完成任务了。 SELECT * FROM table_name ORDER BY rand() LIMIT 5; rand在手册里是这么说的: RAND() RAND(N) 返回在范围0到1.0内的随机浮点值。如果一个整数参...
实现随机,从手册中找到了下面这个语句,可以完成任务: SELECT * FROM table_name ORDER BY rand() LIMIT 5; rand在手册里是这么说的:: RAND() RAND(N) 返回在范围0到1.0内的随机浮点值。如果一个整数参数N被指定,它被用作种子值。 mysql select RAND(); - 0.5925 mysql select RAND(20); - 0.1811 mysql select RAND...

经验教程

441

收藏

67
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部