百度
360搜索
搜狗搜索

mysql select into,如何使用select into 进行备份mysql数据库详细介绍

本文目录一览: mysql语句怎么写(有两个表a和b,b包含a所有的字段,想将b的某一条记录插入a,多的忽略,sql语句怎么写)

SELECT INTO 语句
SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。
SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。
SQL SELECT INTO 语法
您可以把所有的列插入新表:
SELECT *INTO new_table_name [IN externaldatabase] FROM old_tablename
或者只把希望的列插入新表:
SELECT column_name(s)INTO new_table_name [IN externaldatabase] FROM old_tablename
所以应该这么写
SELECT b.列1,b.列2INTO aFROM bWHERE id=1
---注:b表中插入a表中的列不能有a不包含的列,也就是说上面语句的b.列1,b.列2这些中不能有a中不包含的列

如何使用select into 进行备份mysql数据库

MYSQL不支持:
Select * Into new_table_name from old_table_name; 这是sql server、oracle中的用法
替代方法:
Create table new_table_name (Select * from old_table_name);
使用SELECT INTO进行备份与MYSQLDUMP很相似,同样是把数据库备份到一个指定的文件中。其结果文件只能被建立在MySQL服务器上,而不是任何其他主机。SELECT INTO语句的语法格式如下:
Select … into outfile 'path_and_filename' ;
示例:
使用SELECT INTO语句查询数据库“mr_mysql”中的“mr_gly”表,把该表备份到“D:\\gly.txt”目录下,文件的名称是“gly.txt”。
mysql> use mr_mysql
Database changed
mysql> select * from mr_gly into outfile "D:\\gly.txt";
Query OK, 5 rows affected (0.00 sec)
下面的这些参数是SELECT INTO语句的非默认参数。
[fields
[terminated by '\t' ] //设置输出文件以什么作为分界标识
[enclosed by '' ] //指定的字符包围了所有的域
[[optionally] enclosed by '' ] //指定只有字符域被包括
[escaped by '\\'] ]
[lines terminated by '\n' ] //设置长行的中断被什么字符代替
下面是应用了SELECT INTO语句非默认参数的几个示例。
示例:
在每个域之间,默认的制表符被字符“|”代替。
mysql> use tpsc
Database changed
mysql> select * from jtsr into outfile "D:\\user1.txt" fields terminated by '|' ;
Query OK, 5 rows affected (0.00 sec)
示例:
Enclosed关键字用指定的字符“双引号”包围了所有的域。
mysql> select * from jtsr into outfile "D:\\user2.txt" fields terminated by '|' enclosed by '"';
Query OK, 5 rows affected (0.02 sec)
示例:
Optionally关键字的使用,导致了只有字符域被双引号包括。
mysql> select * from jtsr into outfile "D:\\user3.txt" fields terminated by '|' optionally enclosed by '"' ;
Query OK, 5 rows affected (0.02 sec)
示例:
lines terminated的使用,使每行之间的中断被字符“\n”
代替。
mysql> select * from jtsr into outfile "D:\\user4.txt" fields terminated by '|' lines terminated by '\n' ;
Query OK, 5 rows affected (0.02 sec)
示例:
综合使用这些参数。
mysql> select * from jtsr into outfile "D:\\user5.txt" fields terminated by '|' optionally enclosed
by '"' lines terminated by '\n' ;
Query OK, 5 rows affected (0.02 sec)
示例:
使用SELECT语句中的条件进行备份。
mysql> select * from jtsr where id>3 into outfile "D:\\user6.txt" fields terminated by '|' optionall
y enclosed by '"' lines terminated by '\n' ;
Query OK, 2 rows affected (0.01 sec)
注意:在使用SELECT INTO语句时,为备份的文件命名时切忌不要重写已存在的文件;在编写文件输出的位置时不要忘记使用换码符“\”。

阅读更多 >>>  c语言switchcase语句,c语言switchcase语句写bmi

mysql 支持 select into 吗

MYSQL不支持:
Select * Into new_table_name from old_table_name; 这是sql server中的用法
替代方法:
Create table new_table_name (Select * from old_table_name);

mysql 进:在存储过程中用select 如何给变量赋值

用select...into语句。
这个SELECT语法把选定的列直接存储到变量。因此,只有单一的行可以被取回。
重要:
SQL变量名不能和列名一样。如果SELECT ... INTO这样的SQL语句包含一个对列的参考,并包含一个与列相同名字的局部变量,MySQL当前把参考解释为一个变量的名字。例如,在下面的语句中,xname 被解释为到xname variable 的参考而不是到xname column的:
CREATE PROCEDURE sp1 (x VARCHAR(5)) BEGIN DECLARE xname VARCHAR(5) DEFAULT 'bob'; DECLARE newname VARCHAR(5); DECLARE xid INT; SELECT xname,id INTO newname,xid FROM table1 WHERE xname = xname; SELECT newname; END;当这个程序被调用的时候,无论table.xname列的值是什么,变量newname将返回值‘bob’。
用select...into语句
下面是mysql 5.0的帮助文档的:
这个SELECT语法把选定的列直接存储到变量。因此,只有单一的行可以被取回。
SELECT id,data INTO x,y FROM test.t1 LIMIT 1;
注意,用户变量名在MySQL 5.1中是对大小写不敏感的。请参阅9.3节,“用户变量”。
重要: SQL变量名不能和列名一样。如果SELECT ... INTO这样的SQL语句包含一个对列的参考,并包含一个与列相同名字的局部变量,MySQL当前把参考解释为一个变量的名字。例如,在下面的语句中,xname 被解释为到xname variable 的参考而不是到xname column的:
CREATE PROCEDURE sp1 (x VARCHAR(5))
BEGIN
DECLARE xname VARCHAR(5) DEFAULT 'bob';
DECLARE newname VARCHAR(5);
DECLARE xid INT;

SELECT xname,id INTO newname,xid
FROM table1 WHERE xname = xname;
SELECT newname;
END;
当这个程序被调用的时候,无论table.xname列的值是什么,变量newname将返回值‘bob’。

mysql select into outfile如何将远程数据表导出放到本地

mysqldump -u 用户名 -p 密码 > c:\bak.sql
mysql -e -h remote host.
`select into outfile` 只能输出到mysql server,而不能输出到客户端。(mysql使用客户端/服务端的访问方式,用户通过mysql客户端访问mysql数据库服务端)
如果想导出数据到客户端,可以通过管道的方式来实现。
如:
mysql -h Remote_host -e "SELECT ..." > file_on_the_client.
参考: [MySQL SELECT INTO OUTFILE to a different server?](https://stackoverflow.com/a/2805186/6521116)

mysql环境中,如何用sql语句给字符串变量赋值?

mysql给字符串变量赋值的方法是用select into 变量结构完成赋值。
使用sql的结构语法:
SELECT ... INTO var_list selects column values and stores them into variables.
比如定义一个sql变量:
@x varchar(10);
@y varchar(20);
select id,name INTO @x,@y from dx_tt
这样就完成了赋值。

mysql 存储过程中的select into outfile语句生成的文件放哪里

表数据导出到一个文本文件最简单的方法是使用SELECT... INTO OUTFILE语句的查询结果直接导出到一个文件在服务器主机上。导出数据的SELECT...INTO OUTFILE声明:
这句话的语法结合了常规的SELECT INTO OUTFILE文件名的末尾。默认的输出格式是相同的LOAD DATA,所以下面的语句导出tutorials_tbl的表制表符分隔的,换行结尾的文件到/tmp/tutorials.txt:
mysql> SELECT * FROM tutorials_tbl-> INTO OUTFILE '/tmp/tutorials.txt';
也可以更改输出格式,使用选项来指示如何引用和分隔列和记录。 CRLF终止线要导出tutorial_tbl的CSV格式的表格,使用这样的语句:
mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.txt'-> FIELDS TERMINATED BY ',' ENCLOSED BY '"'-> LINES TERMINATED BY '\r\n';
SELECT ... INTO OUTFILE具有以下属性:
由MySQL服务器直接创建输出文件,这样的文件名应指定您希望在服务器主机上的文件将被写入。没有本地版本的LOAD DATA LOCAL版本的类似的语句。
必须要有MySQL的FILE权限才能执行的SELECT... INTO语句。
输出文件必须不存在。这可以防止MySQL从会破坏文件可能重要。
应该在服务器主机上或一些方法来检索文件从该主机的登录帐户。否则SELECT... INTO OUTFILE可能是没有价值的。
在Unix下,创造了世界可读的文件和所拥有的MySQL服务器。这意味着虽然就可以读取该文件,但是不能够删除它。
作为原始数据的导出表:
使用mysqldump程序复制或备份表和数据库。它可以写表输出的原始数据文件或为一组的INSERT语句重新创建该表中的记录。转储一个表,必须指定一个数据文件 - 选项卡上的选项,表示想要的MySQL服务器写入文件所在的目录。
使用mysqldump程序复制或备份表和数据库。它可以写表输出的原始数据文件,或为一组的INSERT语句重新创建该表中的记录。转储一个表,必须指定一个数据文件 - 选项卡上的选项,表示想要的MySQL服务器写入文件所在的目录。
$ mysqldump -u root -p --no-create-info \ --tab=/tmp TUTORIALS tutorials_tblpassword ******在SQL格式导出表的内容或定义:
一个表中的SQL格式导出到一个文件,使用这样的命令:
$ mysqldump -u root -p TUTORIALS tutorials_tbl > dump.txtpassword ******这将创建文件的内容如下:
-- MySQL dump 8.23---- Host: localhost Database: TUTORIALS----------------------------------------------------------- Server version 3.23.58---- Table structure for table `tutorials_tbl`--CREATE TABLE tutorials_tbl (tutorial_id int(11) NOT NULL auto_increment,tutorial_title varchar(100) NOT NULL default '',tutorial_author varchar(40) NOT NULL default '',submission_date date default NULL,PRIMARY KEY (tutorial_id),UNIQUE KEY AUTHOR_INDEX (tutorial_author)) TYPE=InnoDB;---- Dumping data for table `tutorials_tbl`--INSERT INTO tutorials_tbl VALUES (1,'Learn PHP','John Poul','2007-05-24');INSERT INTO tutorials_tbl VALUES (2,'Learn MySQL','Abdul S','2007-05-24');INSERT INTO tutorials_tbl VALUES (3,'JAVA Tutorial','Sanjay','2007-05-06');要转储多个表,他们的名字所有的数据库名称参数。要转储整个数据库,不指定任何表后的数据库,如下所示:
$ mysqldump -u root -p TUTORIALS > database_dump.txtpassword ******所有可用的数据库备份主机上使用以下命令:
$ mysqldump -u root -p --all-databases > database_dump.txtpassword ******在SQL格式导出表的内容或定义:
这些方法可用于实现数据库的备份策略。表或数据库复制到另一台主机:
如果要复制的表或数据库从一个MySQL服务器,然后使用mysqldump数据库名和表名。
在源主机上运行以下命令。这将转储完整的数据库到dump.txt文件:
$ mysqldump -u root -p database_name table_name > dump.txtpassword *****复制完整的数据库,而不使用一个特定的表名称,如上面所解释。
现在,FTP dump.txt文件在另一台主机上,使用下面的命令。在运行此命令之前,请确保已创建目标服务器上的数据库名称。
$ mysql -u root -p database_name < dump.txtpassword *****另一种方法,而无需使用一个中间文件来完成,mysqldump输出直接通过网络发送到远程的MySQL服务器。如果可以连接到两台服务器的cookbook 数据库所在的主机上,使用以下命令:
$ mysqldump -u root -p database_name \ states | mysql -h other-host.com database_name命令mysqldump的一半连接到本地服务器,并写入转储输出管道。 MySQL的一半的命令连接到远程MySQL服务器otherhost.com。它读取输入管和其他host.com服务器发送的每个语句。

阅读更多 >>>  c语言continue语句(c语言中continue)

MySQL数据导入导出的几种方法

1.使用create table xx as select
create table testtable as select distinct username,mname,college,mobno,cid from swdaydetail where sdate>='20171101' and sdate<'20171130';1
2.使用MySQL的SELECT INTO OUTFILE 、Load data file
LOAD DATA INFILE语句从一个文本文件中以很高的速度读入一个表中。当用户一前一后地使用SELECT … INTO OUTFILE 和LOAD DATA
INFILE 将数据从一个数据库写到一个文件中,然后再从文件中将它读入数据库中时,两个命令的字段和行处理选项必须匹配。否则,LOAD DATA INFILE 将不能正确地解释文件内容。
假设用户使用SELECT … INTO OUTFILE 以逗号分隔字段的方式将数据写入到一个文件中:
SELECT * INTO OUTFILE 'data.txt' FIELDS TERMINATED BY ',' FROM table2; 1
为了将由逗号分隔的文件读回时,正确的语句应该是:
LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ','; 1
如果用户试图用下面所示的语句读取文件,它将不会工作,因为命令LOAD DATA INFILE 以定位符区分字段值:
LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY '\t'; 1
下面是用来导入导出的命令:
select * into outfile 'ddd.txt' fields terminated by ',' from dn_location; load data infile 'ddd.txt' into table dn_location2 FIELDS TERMINATED BY ','; 12
3.使用mysqldump ,source
mysqldump -u root -p -q -e -t webgps4 dn_location2 > dn_location2.sql
mysqldump -u root -p -q -e -t --single-transaction webgps4 dn_location2 > dn_location2.sql source dn_location2.sql 123
以上是导入导出数据的语句,该方法15分钟导出1.6亿条记录,导出的文件中平均7070条记录拼成一个insert语句,通过source进行批量插入,导入1.6亿条数据耗时将近5小时。平均速度:3200W条/h。后来尝试加上–single-transaction参数,结果影响不大。另外,若在导出时增加-w参数,表示对导出数据进行筛选,那么导入导出的速度基本不变,筛选出的数据量越大,时间越慢而已。对于其中的参数这里进行说明:
–quick,-q
该选项在导出大表时很有用,它强制 mysqldump 从服务器查询取得记录直接输出而不是取得所有记录后将它们缓存到内存中。
–extended-insert, -e
使用具有多个VALUES列的INSERT语法。这样使导出文件更小,并加速导入时的速度。默认为打开状态,使用–skip-extended-insert取消选项。
–single-transaction
该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引擎,仅InnoDB。本选项和–lock-tables 选项是互斥的,因为LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用–quick 选项。在本例子中没有起到加快速度的作用
mysqldump -uroot -p –host=localhost –all-databases –single-transaction
-t 仅导出表数据,不导出表结构
转载自http://blog.csdn.net/xiaobaismiley/article/details/41015783

怎么从mysql中根据一个字段分类遍历提取所有数据?

方法一:使用GROUP BY子句。SELECT 字段1, 字段2 FROM 表名 GROUP BY 字段1;
方法二:使用DISTINCT关键字。SELECT DISTINCT 字段1, 字段2 FROM 表名;
SELECT * FROM 表名 WHERE 字段名 = 值 ORDER BY 字段名;
1、新建一个表,比如new-table,包含所要导出的字段的名称,比如a,b,c
2、使用insert into new-table (a,b,c) select a,b,c from old-table;
3、剩下的步骤就是导出这个新的表,然后进行文本的处理
方法二、使用MySQL的SELECT INTO OUTFILE 备份语句(推荐)
在下面的例子中,生成一个文件,各值用逗号隔开。这种格式可以被许多程序使用。
可以使用 SELECT 子句及其相应的GROUP BY 子句。SELECT命令提取列,而GROUP BY命令分组以便提取行。例如,要根据字段“category”从MySQL表中提取所有数据,可以使用如下语句:SELECT * FROM 表名 GROUP BY category;

mysql 为什么这句不能运行? select into temp from users

从一个表查询出来,插入到另一个表有2种写法:
1.select into table2 from table1;
此种方法要求table2的字段必需和table的字段一致。
2.select field1,field2 from table1 into table2
此种方法就可以是字段不完全一致的2个表也能插入。
两种,要么写 * 要么写字段名,不要一起写
select * from users
select into temp from users
temp 未定义
insert into temp() values() select * from users
这样试试!
mysql不支持select...into...语法,可以使用INSERT INTO ... SELECT .. 代替它。

阅读更多 >>>  update语句语法,sql update 语句是什么?

网站数据信息

"mysql select into,如何使用select into 进行备份mysql数据库"浏览人数已经达到26次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:mysql select into,如何使用select into 进行备份mysql数据库的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!