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

如何向mysql数据库的表中录入数据,第1张

当你建好了数据库及表时 你首先想到的就是向数据库的表中输入数据 这就牵涉到如何向数据库增加数据 下面我们就来探讨一下这个问题: 一般我们常用的方法是insert语句(这里假定各位的版本都不是很低) 她有以下几种形式:insert into tablename values(value value )insert into tablename(fieldname fieldname ) values(value value )insert into tablename set fieldname =value fieldname =value insert into tablename(fieldname fieldname ) select fieldname fieldname from tablename 以上基本上罗列了用insert插入数据的方法 当然你也可以用insert语句将几行同时插入到一个表中 如下所示:insert into tablename values( ) ( ) 在mysql运行环境下 我们还可以用LOAD DATA 语句把文件里面的数据读取录入到表里面 一般来讲 因为此文件是由服务器在主机上直接读取的 所以你必须具有file权限且文件必须是完全可读 当你版本够新的话 你可以给出local 这样由于你是从客户机上读取该文件并将内容传送到服务器 你就不需要file权限 如果你没有给出local 则服务器按如下方法对其进行定位: )如果你的filename为绝对路径 则服务器从根目录开始查找该文件 )如果你的filename为相对路径 则服务器从数据库的数据目录中开始查找该文件 如果你给出了local 则文件将按以下方式进行定位: )如果你的filename为绝对路径 则客户机从根目录开始查找该文件 )如果你的filename为相对路径 则客户机从当前目录开始查找该文件 说了半天 也许你还不明白这具体的格式 看下面先:LOAD DATA [LOCAL] INFILE filename into table tablename import_options [(fieldname_list)]import options的语法为:fieldsterminated by char enclosed by char escaped by char linesterminated by string 下面我们对其进行一些说明: )fields terminated by char 指定分隔列的字符.缺省时假定列值由制表符分隔. )fields enclosed by char 指明列值应包括在指定的字符中.通常用引号.缺省时 假定列值不包括在任何字符中. )fields escaped by char 表示用于转义特殊字符的转义符.缺省时表示无转义符 )lindes escaped by string 指定结束输入行的串(可以是多字符的).缺省时假定由换行符终止行需要注意的是转义字符的使用 如:\ 表示单引号 \ 表示双引号 等等 另外还有一些选项这里没有具体谈到 如 ignore n lines 她可以控制文件的前n行不被读入数据库 详细请看mysql中文参考 说了上面这么多 给一行命令大家具体体会一下:load data [local] infile sample txt into table sample fields terminated by enclosed by \ 在系统命令行下你可以用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来处理) lishixinzhi/Article/program/MySQL/201311/29349

1、首先打开MYSQL的管理工具,新建一个test表,并且在表中插入两个字段

2、接下来在Editplus编辑器中创建一个PHP文件,进行数据库连接,并且选择要 *** 作的数据库。

3、然后通过mysql_query方法执行一个Insert的插入语句。

4、执行完毕以后,回到数据库管理工具中,这个时候你会发现插入的中文乱码了。

5、接下来在PHP文件中通过mysql_query执行一个set  names  utf8语句。

6、接下来执行以后回到MYSQL数据库中,发现插入的中文显示正常了,即成功往mysql中写入数据了。

在mysql中要向数据库中保存数据我们最常用的一种方法就是直接使用Insert into语句来实现了,下面我来给大家详细介绍Insert into语句用法

INSERT用于向一个已有的表中插入新行。INSERT…VALUES语句根据明确指定的值插入行。让我们先来看一下insert语句标准的定义,放在[]内的都是可以省略的:

语法

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]

[INTO] tbl_name [(col_name,...)]

VALUES ({expr | DEFAULT},...),(...),...

[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

实例

create table links (name varchar(255) not null default '', address varchar(255) not null default '')

最简单的插入方法

代码如下

复制代码

Mysql>insert into worker values(‘tom’,’tom@yahoo.com’),(‘paul’,’paul@yahoo.com’)

insert into links values('jerichen','gdsz')

批量保存数据

假如我们想一次性的往数据库里插入多条数据咋办?一定要写多条语句吗?肯定是不会的,因为MySQL设计的还是很人性的。其提供insert语句的

一种非标准格式,即,values(字段值1,字段值2,字段值3),(另一个字段1的值,另一个字段2的值,另一个字段3的值)

# 同时插入两条数据,看语法说明,那个into被我省略了

代码如下

复制代码

insert links (name,url) values('jerichen','gdsz'),('alone','gdgz')

使用INSERT…SELECT语句插入从其他表选择的行

当我们在上一节学习创建表时,知道可以使用select从其它表来直接创建表,甚至可以同时复制数据记录。如果你已经拥有了一个表,你同样可以从select语句的配合中获益。

从其它表中录入数据,例如:

代码如下

复制代码

mysql>insert into tbl_name1(col1,col2) select col3,col4 from tbl_name2

你也可以略去目的表的列列表,如果你每一列都有数据录入。

代码如下

复制代码

mysql>insert into tbl_name1 select col3,col4 from tbl_name2

INSERT INTO ... SELECT语句满足下列条件:

查询不能包含一个ORDER BY子句。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6695617.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存