资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

set怎么插入mysql的简单介绍

mysql语句如何给set写入值

update a set flag='p' where flag is null;

乳源网站建设公司创新互联建站,乳源网站设计制作,有大型网站制作公司丰富经验。已为乳源千余家提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的乳源做网站的公司定做!

你这图片不是插入页吗?

如果你确定真没有值写入,首先查一下,你的set列中是否有'p'还是'P',更新完后可以用show warnings;查看警告信息

补充:

很有可能你指的空值不是null,而是'',所以应该

update a set flag='p' where flag='';

尝试一下。

mysql数据库中有个字段为 set类型,如何插入

flag字段定义的集合里的字符串的任意集合

如定义flag('a,b,c,d');

则值可以为 'a' or 'a,c',or 'a,b,c'等等

怎么使用ResultSet.insertRow向mysql插入数据

给你几个方法:

/**

* insert a Row into Orders table using Updateable ResultSet.

*/

public void insertNewRowIntoOrdersTableUsingColumnNames(ResultSet rs)

throws SQLException {

// this method works only if the table is Orders Table in the Demo

// database.

// if the table is different you should change most of this code

// for that purpose.

rs.moveToInsertRow();

rs.updateInt("CUSTOMER_ID_FK", 101);

rs.updateInt("ORDER_ID", 1001);

rs.updateDate("ORDER_DATE", new Date(System.currentTimeMillis()) );

rs.updateString("SHIP_INSTRUCT",

" deliver at Apt. office" + " if no one at home");

rs.updateString("BACKLOG", "N");

rs.updateString("PO_NUM", "BSD100");

rs.updateDate("SHIP_DATE", new Date(System.currentTimeMillis()));

rs.updateFloat("SHIP_WEIGHT", 22.0f);

rs.updateFloat("SHIP_CHARGE", 44.56f);

rs.updateDate("PAID_DATE", new Date(System.currentTimeMillis()));

rs.insertRow();

}

/**

* insert a Row into Orders table using Updateable ResultSet

*/

public void insertNewRowIntoOrdersTableUsingColumnIndexes(ResultSet rs)

throws SQLException {

rs.moveToInsertRow();

rs.updateInt(1, 101);

rs.updateInt(2, 1001);

rs.updateDate(3, new Date(System.currentTimeMillis()));

rs.updateString(4, " deliver at Apt. office if no one at home");

rs.updateString(5, "N");

rs.updateString(5, "BSD100");

rs.updateDate(6, new Date(System.currentTimeMillis()));

rs.updateFloat(7, 22.0f);

rs.updateFloat(8, 44.56f);

rs.updateDate(9, new Date(System.currentTimeMillis()) );

rs.insertRow();

}

/**

* This method deletes nth Row from the result Set

*/

public void deleteNthRow(ResultSet rs,

int rowNum) throws SQLException {

rs.absolute(rowNum);

rs.deleteRow();

}

/**

* this methods updates a value for the nthRow , ith Column .

*/

public void updateNthRowIthColumnValue(ResultSet rs, int nThRow,

int iThColumn,

Object value) throws SQLException {

ResultSetMetaData rMetaData = rs.getMetaData();

int type = rMetaData.getColumnType(iThColumn);

String colName = rMetaData.getColumnName(iThColumn);

rs.absolute(nThRow);

switch (type) {

case Types.CHAR:

case Types.VARCHAR:

case Types.LONGVARCHAR:

rs.updateString(colName, value.toString());

break;

case Types.BIT:

rs.updateByte(colName,

Byte.valueOf(value.toString()).byteValue());

break;

case Types.TINYINT:

case Types.SMALLINT:

case Types.INTEGER:

rs.updateInt(colName,

Integer.valueOf(value.toString()).intValue());

break;

case Types.BIGINT:

rs.updateLong(colName,

Long.valueOf(value.toString()).longValue());

break;

case Types.FLOAT:

rs.updateFloat(colName,

Float.valueOf(value.toString()).floatValue());

break;

case Types.DOUBLE:

rs.updateDouble(colName,

Double.valueOf(value.toString()).doubleValue());

break;

case Types.DATE:

rs.updateDate(colName, Date.valueOf(value.toString()));

break;

case Types.TIME:

rs.updateTime(colName, Time.valueOf(value.toString()));

break;

case Types.TIMESTAMP:

rs.updateTimestamp(colName, Timestamp.valueOf(value.toString()));

break;

default:

rs.updateObject(colName, value);

break;

}

rs.updateRow();

}

/**

* cancel updates in a ResultSet

*/

public void cancelUpdatesInResultSet(ResultSet rs)

throws SQLException {

rs.cancelRowUpdates();

}

/**

* print ResultSet in the Forward Direction from current position;

*/

public void printResultSetRowsInForwardDirection(ResultSet rs)

throws SQLException {

ResultSetMetaData rMetaData = rs.getMetaData();

int nColumns = rMetaData.getColumnCount();

// print metadata

for (int i = 1; i nColumns; i++) {

System.out.print(rMetaData.getColumnName(i) + " : ");

}

System.out.println(rMetaData.getColumnName(nColumns));

// print row

while (rs.next()) {

for (int i = 1; i nColumns; i++) {

System.out.print(rs.getString(i) + " : ");

}

System.out.println(rs.getString(nColumns));

}

}

MySQL中insert into语句的6种写法

insert into是mysql中最常用的插入语句,它有6种写法。

如果插入的记录是数字的话要在数字的逗号后面加n:

通过以上实例我们可以看到insert into语句只能向原表中插入于其字段对应的数据,那么能不能通过insert into语句来把其他表的数据插入到原表中呢:

在MySQL中set方法:

ModifyStatement.Set Method 修改语句 set方法

Sets key and value. 设置键和值。

由于insert into语句是一个插入性的语句,所以它的功能要么向指定的表插入数据

也许你看到这个SQL语句是正确的,就觉得这样应该也可以:

mysql mysql insert into 4a set sname=4ainall.sname;

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql insert into 4a set sname=4ainall.sname' at line 1

或者这样也可以:

mysql mysql insert into 4a set sname="赵六";

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql insert into 4a set sname="赵六"' at line 1

然后这样也是不可用:

mysql insert into 4a select * from 4ainall set sname=4ainall.sname;

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from 4ainall set sname=4ainall.sname' at line 1

可以看出由于select是作用于4inall这个表的,而set方法也只能在select语句中,这就直接导致set方法只能作用于4inall这个表,而无法作用于4a这个表。

但是如果我们不用select语句的话编译器又怎么会知道4inall表中的数据在哪里?

显然select是用于查的而set则是一个用于改的方法,两者无法结合在一起——insert into set语句当然也不能用于将其他表的数据插入到原表中了。

如何导入mysql数据库

MySQL数据库的导入,有两种方法:

1) 先导出数据库SQL脚本,再导入;

2) 直接拷贝数据库目录和文件。

在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。

所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。

2. 方法一 SQL脚本形式

操作步骤如下:

2.1. 导出SQL脚本

在原数据库服务器上,可以用phpMyAdmin工具,或者mysqldump命令行,导出SQL脚本。

2.1.1 用phpMyAdmin工具

导出选项中,选择导出“结构”和“数据”,不要添加“DROP DATABASE”和“DROP TABLE”选项。

选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。

将导出的SQL文件保存下来。

2.1.2 用mysqldump命令行

命令格式

mysqldump -u用户名 -p 数据库名 数据库名.sql

范例:

mysqldump -uroot -p abc abc.sql

(导出数据库abc到abc.sql文件)

提示输入密码时,输入该数据库用户名的密码。

2.2. 创建空的数据库

通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。

2.3. 将SQL脚本导入执行

同样是两种方法,一种用phpMyAdmin(mysql数据库管理)工具,或者mysql命令行。

2.3.1 用phpMyAdmin工具

从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。

在"SQL"菜单中,浏览选择刚才导出的SQL文件,点击“执行”以上载并执行。

注意:phpMyAdmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件

比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。

gzip使用方法:

# gzip xxxxx.sql

得到

xxxxx.sql.gz文件。

提示输入密码时,输入该数据库用户名的密码。

3 直接拷贝

如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和操作系统之间可能不兼容,要慎用。

3.1 准备原始文件

用tar打包为一个文件

3.2 创建空数据库

3.3 解压

在临时目录中解压,如:

cd /tmp

tar zxf mydb.tar.gz

3.4 拷贝

将解压后的数据库文件拷贝到相关目录

cd mydb/

cp * /var/lib/mysql/mydb/

对于FreeBSD:

cp * /var/db/mysql/mydb/

3.5 权限设置

将拷贝过去的文件的属主改为mysql:mysql,权限改为660

chown mysql:mysql /var/lib/mysql/mydb/*

chmod 660 /var/lib/mysql/mydb/*

打字不易,如满意,望采纳。

mysql 有关 insert into set的问题

insert into set为mysql的扩展语法,适合插入单行

insert into value 为标准SQL语法,能一次插入多行数据


当前文章:set怎么插入mysql的简单介绍
文章分享:http://cdkjz.cn/article/dseijie.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220